Commit 1ffd1573 authored by maxiaoliang's avatar maxiaoliang

1

parent 8e35d0a9
...@@ -148,6 +148,8 @@ ...@@ -148,6 +148,8 @@
android:launchMode="singleTop" android:launchMode="singleTop"
android:screenOrientation="portrait" android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity android:name=".activity.scanjunk.PrepareScanAt"
android:screenOrientation="portrait"/>
<activity <activity
android:name=".activity.batteryinfo.BatteryInfoActivity" android:name=".activity.batteryinfo.BatteryInfoActivity"
android:launchMode="singleTop" android:launchMode="singleTop"
......
...@@ -15,6 +15,7 @@ import com.test.easy.easycleanerjunk.fragment.HomeFragment ...@@ -15,6 +15,7 @@ import com.test.easy.easycleanerjunk.fragment.HomeFragment
import com.test.easy.easycleanerjunk.fragment.ToolsFragment import com.test.easy.easycleanerjunk.fragment.ToolsFragment
import com.test.easy.easycleanerjunk.helps.BaseActivity import com.test.easy.easycleanerjunk.helps.BaseActivity
import com.test.easy.easycleanerjunk.helps.EventUtils import com.test.easy.easycleanerjunk.helps.EventUtils
import com.test.easy.easycleanerjunk.helps.ads.AdmobBannerUtils
import com.test.easy.easycleanerjunk.utils.BarUtils import com.test.easy.easycleanerjunk.utils.BarUtils
import com.test.easy.easycleanerjunk.utils.SPUtils import com.test.easy.easycleanerjunk.utils.SPUtils
import com.test.easy.easycleanerjunk.view.NotifyTips import com.test.easy.easycleanerjunk.view.NotifyTips
...@@ -47,6 +48,7 @@ class NewMainActivity : BaseActivity<ActivityMainBinding>() { ...@@ -47,6 +48,7 @@ class NewMainActivity : BaseActivity<ActivityMainBinding>() {
// ConfigHelper.enterHomeTimes++ // ConfigHelper.enterHomeTimes++
BarUtils.setStatusBarLightMode(this, true) BarUtils.setStatusBarLightMode(this, true)
BarUtils.setStatusBarColor(this, Color.TRANSPARENT) BarUtils.setStatusBarColor(this, Color.TRANSPARENT)
AdmobBannerUtils.showCollapsibleBannerAd(this,binding.banner)
// binding.root.updatePadding(top = BarUtils.getStatusBarHeight()) // binding.root.updatePadding(top = BarUtils.getStatusBarHeight())
EventUtils.event("page_home") EventUtils.event("page_home")
if (!hasNotifications()) { if (!hasNotifications()) {
......
...@@ -133,16 +133,40 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() { ...@@ -133,16 +133,40 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() {
}) })
binding.idClBtn.setOnClickListener { binding.idClBtn.setOnClickListener {
if (binding.idClBtn.text == "Got it") { if (binding.idClBtn.text == "Got it") {
startActivity(Intent(this@CleanJunkActivity, ResultActivity::class.java).apply { if(ConfigHelper.admobTrueMaxFlase==0){
putExtra("clean_size", 0) MaxAdUtils.showInterstitialAd(this){
putExtra("from", AFunOb.JUNK_CLEANER) startActivity(Intent(this@CleanJunkActivity, ResultActivity::class.java).apply {
}) putExtra("clean_size", 0)
putExtra("from", AFunOb.JUNK_CLEANER)
})
}
}else{
AdmobUtils.showInterstitialAd(this){
startActivity(Intent(this@CleanJunkActivity, ResultActivity::class.java).apply {
putExtra("clean_size", 0)
putExtra("from", AFunOb.JUNK_CLEANER)
})
}
}
} else { } else {
startActivity( if(ConfigHelper.admobTrueMaxFlase==0) {
Intent(this, CleaningActivity::class.java) MaxAdUtils.showInterstitialAd(this) {
.putExtra("list", selectList.toTypedArray()) startActivity(
.putExtra("size", selectSize) Intent(this, CleaningActivity::class.java)
) .putExtra("list", selectList.toTypedArray())
.putExtra("size", selectSize)
)
}
}else{
AdmobUtils.showInterstitialAd(this){
startActivity(
Intent(this, CleaningActivity::class.java)
.putExtra("list", selectList.toTypedArray())
.putExtra("size", selectSize)
)
}
}
} }
finish() finish()
} }
...@@ -227,11 +251,7 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() { ...@@ -227,11 +251,7 @@ class CleanJunkActivity : BaseActivity<ActivityLayoutCleanJunkBinding>() {
binding.idClBtn.isVisible = scanCount >= 3 binding.idClBtn.isVisible = scanCount >= 3
binding.idClBtn.isEnabled = sizes.sum() > 0 binding.idClBtn.isEnabled = sizes.sum() > 0
if (scanCount >= 3 && sizes.sum().toInt() == 0) { if (scanCount >= 3 && sizes.sum().toInt() == 0) {
if(ConfigHelper.admobTrueMaxFlase==0){
MaxAdUtils.showInterstitialAd(this)
}else{
AdmobUtils.showInterstitialAd(this)
}
// MaxAdUtils.showInterstitialAd(this) { // MaxAdUtils.showInterstitialAd(this) {
// startActivity( // startActivity(
// Intent(this, ResultActivity::class.java).putExtra( // Intent(this, ResultActivity::class.java).putExtra(
......
...@@ -4,7 +4,8 @@ import android.content.Intent ...@@ -4,7 +4,8 @@ import android.content.Intent
import android.graphics.Color import android.graphics.Color
import android.util.Log import android.util.Log
import android.view.View import android.view.View
import androidx.activity.OnBackPressedCallback import android.widget.Toast
import androidx.activity.addCallback
import androidx.core.view.updatePadding import androidx.core.view.updatePadding
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import com.test.easy.easycleanerjunk.databinding.ActivityLayoutParepreScanBinding import com.test.easy.easycleanerjunk.databinding.ActivityLayoutParepreScanBinding
...@@ -41,11 +42,15 @@ class PrepareScanActivity : BaseActivity<ActivityLayoutParepreScanBinding>() { ...@@ -41,11 +42,15 @@ class PrepareScanActivity : BaseActivity<ActivityLayoutParepreScanBinding>() {
binding.idBackJunkScan.setOnClickListener { binding.idBackJunkScan.setOnClickListener {
onBackPressedDispatcher.onBackPressed() onBackPressedDispatcher.onBackPressed()
} }
onBackPressedDispatcher.addCallback(object : OnBackPressedCallback(true) { onBackPressedDispatcher.addCallback {
override fun handleOnBackPressed() { Toast.makeText(this@PrepareScanActivity, "wait a moment", Toast.LENGTH_SHORT).show()
finishToMain() }
}
}) // onBackPressedDispatcher.addCallback(object : OnBackPressedCallback(true) {
// override fun handleOnBackPressed() {
// finishToMain()
// }
// })
if (!checkStorePermission()) { if (!checkStorePermission()) {
showGerPermission( showGerPermission(
deny = { finishToMain() }, deny = { finishToMain() },
......
package com.test.easy.easycleanerjunk.activity.scanjunk
import android.content.Intent
import android.graphics.Color
import android.util.Log
import android.view.View
import android.widget.Toast
import androidx.activity.addCallback
import androidx.core.view.updatePadding
import androidx.lifecycle.lifecycleScope
import com.test.easy.easycleanerjunk.databinding.ActivityLayoutParepreScanBinding
import com.test.easy.easycleanerjunk.helps.BaseActivity
import com.test.easy.easycleanerjunk.helps.ConfigHelper
import com.test.easy.easycleanerjunk.helps.PermissionHelp.checkStorePermission
import com.test.easy.easycleanerjunk.helps.PermissionHelp.requestStorePermission
import com.test.easy.easycleanerjunk.helps.ads.AdsUtils
import com.test.easy.easycleanerjunk.utils.BarUtils
import com.test.easy.easycleanerjunk.view.DialogViews.showGerPermission
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
class PrepareScanAt: BaseActivity<ActivityLayoutParepreScanBinding>() {
override val binding: ActivityLayoutParepreScanBinding by lazy {
ActivityLayoutParepreScanBinding.inflate(layoutInflater)
}
private var job: Job? = null
override fun initView() {
if(ConfigHelper.isInterAdShow){
finish()
return
}
BarUtils.setStatusBarLightMode(this, true)
BarUtils.setStatusBarColor(this, Color.TRANSPARENT)
binding.root.updatePadding(top = BarUtils.getStatusBarHeight())
binding.idBackJunkScan.setOnClickListener {
onBackPressedDispatcher.onBackPressed()
}
// onBackPressedDispatcher.addCallback(object : OnBackPressedCallback(true) {
// override fun handleOnBackPressed() {
// finishToMain()
// }
// })
onBackPressedDispatcher.addCallback {
Toast.makeText(this@PrepareScanAt, "wait a moment", Toast.LENGTH_SHORT).show()
}
// requestPermisson()
}
// override fun onStart() {
// super.onStart()
// checkPermission()
// }
// override fun onPermissionsResult(isGranted: Boolean) {
// Log.e("MXL", "权限回调: " + isGranted)
// if (isGranted) {
// playLottie()
// } else {
// finishToMain()
// }
// }
override fun onPause() {
super.onPause()
binding.lottie.pauseAnimation()
job?.cancel()
}
override fun onResume() {
super.onResume()
if (checkStorePermission()) {
resumeLottie()
job = waitJob()
}
}
private fun resumeLottie() {
binding.lottie.imageAssetsFolder = "easy_junk_scan/images/"
binding.lottie.setAnimation("easy_junk_scan/data.json")
binding.lottie.playAnimation()
}
var isPlayAd=false
private fun waitJob() = lifecycleScope.launch(Dispatchers.Main) {
Log.e("MXL", "waitJob: "+1111 )
delay(5000)
binding.lottie.visibility = View.GONE
binding.lottieCompleted.visibility = View.VISIBLE
binding.lottieCompleted.playAnimation()
binding.idTv.text = "Completed!"
delay(1000)
if(isPlayAd){
if (!checkStorePermission()) {
showGerPermission(
deny = { finishToMain() },
allow = {
requestStorePermission(launcher, result = {
if (it) {
startActivity(Intent(this@PrepareScanAt, CleanJunkActivity::class.java))
finish()
} else {
finishToMain()
}
})
})
}
}else{
AdsUtils.showInterAds(this@PrepareScanAt){
isPlayAd=true
if (!checkStorePermission()) {
showGerPermission(
deny = { finishToMain() },
allow = {
requestStorePermission(launcher, result = {
if (it) {
startActivity(Intent(this@PrepareScanAt, CleanJunkActivity::class.java))
finish()
} else {
finishToMain()
}
})
})
}
}
}
// if (ConfigHelper.admobTrueMaxFlase == 0) {
// MaxAdUtils.showInterstitialAd(this@PrepareScanAt) {
// isPlayAd=true
// if (!checkStorePermission()) {
// showGerPermission(
// deny = { finishToMain() },
// allow = {
// requestStorePermission(launcher, result = {
// if (it) {
// startActivity(Intent(this@PrepareScanAt, CleanJunkActivity::class.java))
// finish()
// } else {
// finishToMain()
// }
// })
// })
// }
// }
//
// } else {
// AdmobUtils.showInterstitialAd(this@PrepareScanAt) {
// if (!checkStorePermission()) {
// showGerPermission(
// deny = { finishToMain() },
// allow = {
// requestStorePermission(launcher, result = {
// if (it) {
// startActivity(Intent(this@PrepareScanAt, CleanJunkActivity::class.java))
// finish()
// } else {
// finishToMain()
// }
// })
// })
// }
// }
// }
}
}
\ No newline at end of file
...@@ -79,6 +79,7 @@ class HomeFragment : BaseFragment<FragmentLayoutHomeBinding>() { ...@@ -79,6 +79,7 @@ class HomeFragment : BaseFragment<FragmentLayoutHomeBinding>() {
} }
listOf( binding.idFlClean, binding.idCleanUp).setOnClickListener { listOf( binding.idFlClean, binding.idCleanUp).setOnClickListener {
startActivity(Intent(requireContext(), PrepareScanActivity::class.java)) startActivity(Intent(requireContext(), PrepareScanActivity::class.java))
// startActivity(Intent(requireContext(), PrepareScanAt::class.java))
} }
binding.idPhotoCompress.setOnClickListener { binding.idPhotoCompress.setOnClickListener {
......
...@@ -19,10 +19,11 @@ object ConfigHelper { ...@@ -19,10 +19,11 @@ object ConfigHelper {
const val apiUrl = "https://api.easyfilemanager.xyz" const val apiUrl = "https://api.easyfilemanager.xyz"
// admob广告id // admob广告id
const val bannerAdmobIdTest = "ca-app-pub-3940256099942544/9214589741"
const val interAdmobId = "ca-app-pub-3940256099942544/1033173712" const val interAdmobId = "ca-app-pub-3940256099942544/1033173712"
const val nativeAdmobId = "ca-app-pub-3940256099942544/2247696110" const val nativeAdmobId = "ca-app-pub-3940256099942544/2247696110"
const val openAdmobId = "/6499/example/app-open" const val openAdmobId = "/6499/example/app-open"
const val bannerAdmobId = ""
//max广告id //max广告id
const val interMaxId = "b31e7f6d11ee659e" const val interMaxId = "b31e7f6d11ee659e"
const val nativeMaxId = "96e8fe78b0efc5d1" const val nativeMaxId = "96e8fe78b0efc5d1"
......
package com.test.easy.easycleanerjunk.helps.ads
import android.content.Context
import android.os.Bundle
import android.view.ViewGroup
import android.view.ViewTreeObserver
import com.google.ads.mediation.admob.AdMobAdapter
import com.google.android.gms.ads.AdListener
import com.google.android.gms.ads.AdRequest
import com.google.android.gms.ads.AdSize
import com.google.android.gms.ads.AdView
import com.test.easy.easycleanerjunk.BuildConfig
import com.test.easy.easycleanerjunk.helps.ConfigHelper
import java.util.UUID
object AdmobBannerUtils {
private var adView: AdView? = null
private var listener: ViewTreeObserver.OnGlobalLayoutListener? = null
fun showCollapsibleBannerAd(context: Context, parent: ViewGroup) {
if (adView != null) {
adView?.destroy()
}
adView = AdView(context)
parent.removeAllViews()
parent.addView(adView)
listener = ViewTreeObserver.OnGlobalLayoutListener {
val screenPixelDensity = context.resources.displayMetrics.density
val adWidth = (parent.width / screenPixelDensity).toInt()
val adSize = AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(context, adWidth)
adView?.adUnitId = if (BuildConfig.DEBUG) ConfigHelper.bannerAdmobIdTest else ConfigHelper.bannerAdmobId
adView?.setAdSize(adSize)
loadCollapsibleBanner()
parent.viewTreeObserver.removeOnGlobalLayoutListener(listener)
}
parent.viewTreeObserver.addOnGlobalLayoutListener(listener)
}
private fun loadCollapsibleBanner() {
val extras = Bundle()
extras.putString("collapsible", "bottom")
extras.putString("collapsible_request_id", UUID.randomUUID().toString())
val adRequest =
AdRequest.Builder().addNetworkExtrasBundle(AdMobAdapter::class.java, extras).build()
adView?.adListener =
object : AdListener() {
override fun onAdLoaded() {}
}
adView?.loadAd(adRequest)
}
}
\ No newline at end of file
package com.test.easy.easycleanerjunk.helps.ads
import android.app.Activity
import com.test.easy.easycleanerjunk.helps.ConfigHelper
object AdsUtils {
fun showInterAds(activity: Activity, callback: (() -> Unit)? = null){
if (ConfigHelper.admobTrueMaxFlase == 0) {
MaxAdUtils.showInterstitialAd(activity, onHidden = callback)
} else {
AdmobUtils.showInterstitialAd(activity, onHidden = callback)
}
}
}
\ No newline at end of file
...@@ -13,14 +13,22 @@ ...@@ -13,14 +13,22 @@
app:layout_constraintBottom_toTopOf="@+id/id_ll_nav" app:layout_constraintBottom_toTopOf="@+id/id_ll_nav"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
<View
android:id="@+id/id_view"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#EEEEEE"
app:layout_constraintBottom_toTopOf="@+id/id_ll_nav"
app:layout_constraintTop_toBottomOf="@+id/id_vp" />
<androidx.appcompat.widget.LinearLayoutCompat <androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/id_ll_nav" android:id="@+id/id_ll_nav"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@color/white" android:background="@color/white"
android:elevation="10dp"
android:visibility="visible" android:visibility="visible"
app:layout_constraintBottom_toBottomOf="parent"> app:layout_constraintBottom_toTopOf="@+id/banner"
app:layout_constraintTop_toBottomOf="@+id/id_view">
<androidx.appcompat.widget.LinearLayoutCompat <androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/id_bottom_1" android:id="@+id/id_bottom_1"
...@@ -84,5 +92,11 @@ ...@@ -84,5 +92,11 @@
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
<FrameLayout
android:id="@+id/banner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/id_ll_nav"
tools:ignore="UselessLeaf" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment