Commit c1c3209f authored by wanglei's avatar wanglei

[修改]请求配置后广告

parent 1de9d6ac
......@@ -41,6 +41,8 @@ import com.base.appzxhy.push.work.RepeatingWorker.Companion.schedulePeriodicWork
import com.base.appzxhy.ui.batteryinfo.BatteryReceiver.Companion.registerBatteryReceiver
import com.base.appzxhy.ui.splash.SplashActivity
import com.facebook.appevents.AppEventsLogger
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
class MyApplication : Application() {
......
......@@ -10,12 +10,12 @@ import com.base.appzxhy.utils.LogEx
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import java.io.BufferedReader
import java.io.InputStreamReader
import java.net.HttpURLConnection
import java.net.URL
import java.util.Locale
import java.util.concurrent.atomic.AtomicBoolean
object NewComUtils {
private val TAG = "NewComUtils"
......@@ -67,11 +67,13 @@ object NewComUtils {
// &mode=3
}
var requestCfgCallBack: (() -> Unit)? = null
var requestCfgIng = AtomicBoolean(false)
fun requestCfg(callback: (json: String?) -> Unit) {
CoroutineScope(Dispatchers.IO).launch {
requestCfgIng.set(true)
val passHour = (System.currentTimeMillis() - lastRequestTime) / 3600000
if (BuildConfig.DEBUG) {
......@@ -87,26 +89,27 @@ object NewComUtils {
val response = doGet()
if (response == null) {
withContext(Dispatchers.Main) {
callback(null)
}
callback(null)
return@launch
}
val data = extractData(response)
if (data == null) {
withContext(Dispatchers.Main) {
callback(null)
}
callback(null)
return@launch
}
lastRequestTime = System.currentTimeMillis()
val decryptedData = AESHelper.decrypt(data)
LogEx.logDebug(TAG, "decryptedData=$decryptedData")
spConfig = decryptedData
withContext(Dispatchers.Main) {
callback(decryptedData)
}
callback(decryptedData)
requestCfgIng.set(false)
requestCfgCallBack?.invoke()
requestCfgCallBack = null
}
}
......
......@@ -10,12 +10,14 @@ import android.text.Spanned
import android.text.method.LinkMovementMethod
import android.text.style.ClickableSpan
import android.text.style.UnderlineSpan
import android.util.Log
import android.view.View
import androidx.activity.viewModels
import androidx.core.graphics.toColorInt
import androidx.core.net.toUri
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import androidx.lifecycle.lifecycleScope
import com.base.appzxhy.GlobalConfig.URL_PRIVACY
import com.base.appzxhy.GlobalConfig.URL_USE
import com.base.appzxhy.MyApplication
......@@ -27,6 +29,9 @@ import com.base.appzxhy.bean.FeatureBean.Companion.BATTERY_INFO
import com.base.appzxhy.business.ads.AdsMgr
import com.base.appzxhy.business.ads.AdsShowCallBack
import com.base.appzxhy.business.helper.EventUtils
import com.base.appzxhy.business.helper.NewComUtils
import com.base.appzxhy.business.helper.NewComUtils.requestCfgCallBack
import com.base.appzxhy.business.helper.NewComUtils.spConfig
import com.base.appzxhy.business.service.StayJobService.Companion.startStayJobService
import com.base.appzxhy.databinding.ActivitySplashBinding
import com.base.appzxhy.ui.dialog.StoragePermissionDialog
......@@ -34,7 +39,11 @@ import com.base.appzxhy.ui.guide.GuideCleanActivity
import com.base.appzxhy.ui.main.MainActivity
import com.base.appzxhy.utils.PermissionUtils.checkStorePermission
import com.base.appzxhy.utils.PermissionUtils.requestStoragePermission
import com.base.appzxhy.utils.ToastUtils.toast
import com.base.appzxhy.utils.UmpUtils
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import java.util.concurrent.atomic.AtomicBoolean
......@@ -151,16 +160,36 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding
binding.llConsent.visibility = if (ifAgreePrivacy) View.GONE else View.VISIBLE
if (ifAgreePrivacy) {
AdsMgr.showOpen(this, showCallBack = object : AdsShowCallBack() {
override fun show() {
viewModel.stopCountdown()
}
override fun next() {
binding.root.postDelayed({ jumpNext() }, 200)
}
val acAction = {
AdsMgr.showOpen(this, showCallBack = object : AdsShowCallBack() {
override fun show() {
viewModel.stopCountdown()
}
override fun next() {
binding.root.postDelayed({ jumpNext() }, 200)
}
})
}
})
if (spConfig.isNotEmpty()) {
Log.e(TAG, "1")
acAction.invoke()
} else {
if (NewComUtils.requestCfgIng.get()) {
requestCfgCallBack = {
lifecycleScope.launch(Dispatchers.Main) {
Log.e(TAG, "2")
acAction.invoke()
}
}
} else {
Log.e(TAG, "3")
acAction.invoke()
}
}
}
}
......
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