Commit 68ead81b authored by wanglei's avatar wanglei Committed by songjianyu

[合并] 合并母包的修改

parent e880bfa6
...@@ -31,7 +31,7 @@ object GlobalConfig { ...@@ -31,7 +31,7 @@ object GlobalConfig {
/** /**
* Key Aes 加密key * Key Aes 加密key
*/ */
const val KEY_AES = "d1mnzmn2cs20xpmx" const val KEY_AES = "88ccwvgo8zrbnmeo"
/** /**
* Key solar 归因key * Key solar 归因key
......
...@@ -41,6 +41,8 @@ import com.base.appzxhy.push.work.RepeatingWorker.Companion.schedulePeriodicWork ...@@ -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.batteryinfo.BatteryReceiver.Companion.registerBatteryReceiver
import com.base.appzxhy.ui.splash.SplashActivity import com.base.appzxhy.ui.splash.SplashActivity
import com.facebook.appevents.AppEventsLogger import com.facebook.appevents.AppEventsLogger
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
class MyApplication : Application() { class MyApplication : Application() {
...@@ -256,7 +258,7 @@ class MyApplication : Application() { ...@@ -256,7 +258,7 @@ class MyApplication : Application() {
} }
private fun initConfig(config: String = spConfig) { private fun initConfig(config: String = spConfig) {
if (!config.isEmpty()) return if (config.isEmpty()) return
// kotlin.runCatching { // kotlin.runCatching {
val configBean = Gson().fromJson(config, ConfigBean::class.java) val configBean = Gson().fromJson(config, ConfigBean::class.java)
......
...@@ -10,12 +10,12 @@ import com.base.appzxhy.utils.LogEx ...@@ -10,12 +10,12 @@ import com.base.appzxhy.utils.LogEx
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import java.io.BufferedReader import java.io.BufferedReader
import java.io.InputStreamReader import java.io.InputStreamReader
import java.net.HttpURLConnection import java.net.HttpURLConnection
import java.net.URL import java.net.URL
import java.util.Locale import java.util.Locale
import java.util.concurrent.atomic.AtomicBoolean
object NewComUtils { object NewComUtils {
private val TAG = "NewComUtils" private val TAG = "NewComUtils"
...@@ -67,11 +67,13 @@ object NewComUtils { ...@@ -67,11 +67,13 @@ object NewComUtils {
// &mode=3 // &mode=3
} }
var requestCfgCallBack: (() -> Unit)? = null
var requestCfgIng = AtomicBoolean(false)
fun requestCfg(callback: (json: String?) -> Unit) { fun requestCfg(callback: (json: String?) -> Unit) {
CoroutineScope(Dispatchers.IO).launch { CoroutineScope(Dispatchers.IO).launch {
requestCfgIng.set(true)
val passHour = (System.currentTimeMillis() - lastRequestTime) / 3600000 val passHour = (System.currentTimeMillis() - lastRequestTime) / 3600000
if (BuildConfig.DEBUG) { if (BuildConfig.DEBUG) {
...@@ -87,26 +89,27 @@ object NewComUtils { ...@@ -87,26 +89,27 @@ object NewComUtils {
val response = doGet() val response = doGet()
if (response == null) { if (response == null) {
withContext(Dispatchers.Main) {
callback(null) callback(null)
}
return@launch return@launch
} }
val data = extractData(response) val data = extractData(response)
if (data == null) { if (data == null) {
withContext(Dispatchers.Main) {
callback(null) callback(null)
}
return@launch return@launch
} }
lastRequestTime = System.currentTimeMillis() lastRequestTime = System.currentTimeMillis()
val decryptedData = AESHelper.decrypt(data) val decryptedData = AESHelper.decrypt(data)
LogEx.logDebug(TAG, "decryptedData=$decryptedData") LogEx.logDebug(TAG, "decryptedData=$decryptedData")
spConfig = decryptedData spConfig = decryptedData
withContext(Dispatchers.Main) {
callback(decryptedData) callback(decryptedData)
}
requestCfgIng.set(false)
requestCfgCallBack?.invoke()
requestCfgCallBack = null
} }
} }
......
...@@ -13,11 +13,14 @@ import android.text.SpannableString ...@@ -13,11 +13,14 @@ import android.text.SpannableString
import android.text.TextPaint import android.text.TextPaint
import android.text.method.LinkMovementMethod import android.text.method.LinkMovementMethod
import android.text.style.ClickableSpan import android.text.style.ClickableSpan
import android.text.style.UnderlineSpan
import android.util.Log
import android.view.View import android.view.View
import androidx.activity.viewModels import androidx.activity.viewModels
import androidx.core.view.ViewCompat import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat import androidx.core.view.WindowInsetsCompat
import com.base.appzxhy.SpConstObject.ifAgreePrivacy import com.base.appzxhy.SpConstObject.ifAgreePrivacy
import androidx.lifecycle.lifecycleScope
import com.base.appzxhy.GlobalConfig.URL_PRIVACY import com.base.appzxhy.GlobalConfig.URL_PRIVACY
import com.base.appzxhy.MyApplication import com.base.appzxhy.MyApplication
import com.base.appzxhy.R import com.base.appzxhy.R
...@@ -29,6 +32,9 @@ import com.base.appzxhy.bean.FeatureBean.Companion.JUNK_CLEAN ...@@ -29,6 +32,9 @@ import com.base.appzxhy.bean.FeatureBean.Companion.JUNK_CLEAN
import com.base.appzxhy.business.ads.AdsMgr import com.base.appzxhy.business.ads.AdsMgr
import com.base.appzxhy.business.ads.AdsShowCallBack import com.base.appzxhy.business.ads.AdsShowCallBack
import com.base.appzxhy.business.helper.EventUtils 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.business.service.StayJobService.Companion.startStayJobService
import com.base.appzxhy.databinding.ActivitySplashBinding import com.base.appzxhy.databinding.ActivitySplashBinding
import com.base.appzxhy.ui.batteryinfo.BatteryInfoActivity import com.base.appzxhy.ui.batteryinfo.BatteryInfoActivity
...@@ -39,8 +45,12 @@ import com.base.appzxhy.ui.guide.GuideCleanActivity ...@@ -39,8 +45,12 @@ import com.base.appzxhy.ui.guide.GuideCleanActivity
import com.base.appzxhy.ui.main.MainActivity import com.base.appzxhy.ui.main.MainActivity
import com.base.appzxhy.utils.PermissionUtils.checkStorePermission import com.base.appzxhy.utils.PermissionUtils.checkStorePermission
import com.base.appzxhy.utils.PermissionUtils.requestStoragePermission import com.base.appzxhy.utils.PermissionUtils.requestStoragePermission
import com.base.appzxhy.utils.ToastUtils.toast
import com.base.appzxhy.utils.UmpUtils import com.base.appzxhy.utils.UmpUtils
import kotlinx.coroutines.MainScope import kotlinx.coroutines.MainScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import java.util.concurrent.atomic.AtomicBoolean import java.util.concurrent.atomic.AtomicBoolean
@SuppressLint("CustomSplashScreen") @SuppressLint("CustomSplashScreen")
...@@ -48,6 +58,10 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding ...@@ -48,6 +58,10 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding
private val viewModel: SplashViewModel by viewModels() private val viewModel: SplashViewModel by viewModels()
override fun onWindowFocusChanged(hasFocus: Boolean) {
super.onWindowFocusChanged(hasFocus)
}
override fun useDefaultImmersive() { override fun useDefaultImmersive() {
setStatusBarColor() setStatusBarColor()
ViewCompat.setOnApplyWindowInsetsListener(binding.root) { v, insets -> ViewCompat.setOnApplyWindowInsetsListener(binding.root) { v, insets ->
...@@ -58,7 +72,7 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding ...@@ -58,7 +72,7 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding
} }
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
initUMP() // initUMP()
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
handleIntentExtras() handleIntentExtras()
} }
...@@ -125,6 +139,10 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding ...@@ -125,6 +139,10 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding
} }
} }
override fun handleBackCallBack() {
}
private fun initUMP() { private fun initUMP() {
val ump = UmpUtils(this) val ump = UmpUtils(this)
...@@ -144,6 +162,8 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding ...@@ -144,6 +162,8 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding
binding.llConsent.visibility = if (ifAgreePrivacy) View.GONE else View.VISIBLE binding.llConsent.visibility = if (ifAgreePrivacy) View.GONE else View.VISIBLE
if (ifAgreePrivacy) { if (ifAgreePrivacy) {
val acAction = {
AdsMgr.showOpen(this, showCallBack = object : AdsShowCallBack() { AdsMgr.showOpen(this, showCallBack = object : AdsShowCallBack() {
override fun show() { override fun show() {
viewModel.stopCountdown() viewModel.stopCountdown()
...@@ -155,6 +175,24 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding ...@@ -155,6 +175,24 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding
}) })
} }
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()
}
}
}
} }
val jumped = AtomicBoolean(false) val jumped = AtomicBoolean(false)
...@@ -168,7 +206,8 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding ...@@ -168,7 +206,8 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding
goToAc(GuideCleanActivity::class.java) goToAc(GuideCleanActivity::class.java)
finish() finish()
} }
isHotLaunch->{
isHotLaunch -> {
goToAc(MainActivity::class.java) goToAc(MainActivity::class.java)
finish() finish()
} }
......
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