update
This commit is contained in:
parent
e5b0bcdc3a
commit
eb81f9bda7
@ -1,26 +1,70 @@
|
|||||||
package melody.offline.music.activity
|
package melody.offline.music.activity
|
||||||
|
|
||||||
|
import android.content.Intent
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.lifecycle.LifecycleOwner
|
import androidx.lifecycle.LifecycleOwner
|
||||||
|
import kotlinx.coroutines.CoroutineScope
|
||||||
|
import kotlinx.coroutines.Dispatchers
|
||||||
|
import kotlinx.coroutines.cancel
|
||||||
|
import kotlinx.coroutines.delay
|
||||||
|
import kotlinx.coroutines.launch
|
||||||
import melody.offline.music.http.getAppVersionCode
|
import melody.offline.music.http.getAppVersionCode
|
||||||
import melody.offline.music.http.getCountryCode
|
import melody.offline.music.http.getCountryCode
|
||||||
|
import melody.offline.music.service.ViewModelMain
|
||||||
import melody.offline.music.sp.AppStore
|
import melody.offline.music.sp.AppStore
|
||||||
|
import melody.offline.music.util.AnalysisUtil
|
||||||
import melody.offline.music.util.LogTag
|
import melody.offline.music.util.LogTag
|
||||||
import org.json.JSONObject
|
import org.json.JSONObject
|
||||||
|
|
||||||
open class BaseActivity : AppCompatActivity(), LifecycleOwner {
|
open class BaseActivity : AppCompatActivity(), LifecycleOwner {
|
||||||
protected val TAG = LogTag.VO_ACT_LOG
|
protected val TAG = LogTag.VO_ACT_LOG
|
||||||
protected val appStore by lazy { AppStore(this) }
|
protected val appStore by lazy { AppStore(this) }
|
||||||
|
private var isTaskRunning = true
|
||||||
|
private val coroutineScope = CoroutineScope(Dispatchers.Main)
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
|
||||||
|
startPeriodicCheck()
|
||||||
|
|
||||||
|
ViewModelMain.dataRemote.observe(this) {
|
||||||
|
if (withPermission()) {
|
||||||
|
isTaskRunning = false
|
||||||
|
performAction()
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onStart() {
|
override fun onStart() {
|
||||||
super.onStart()
|
super.onStart()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun startPeriodicCheck() {
|
||||||
|
coroutineScope.launch {
|
||||||
|
while (isTaskRunning) {
|
||||||
|
delay(1000)
|
||||||
|
if (withPermission()) {
|
||||||
|
isTaskRunning = false
|
||||||
|
performAction()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun performAction() {
|
||||||
|
// 实现你的条件满足后的操作
|
||||||
|
AnalysisUtil.logEvent(AnalysisUtil.HOME_A_TO_B)
|
||||||
|
val intent = Intent(Intent(this, PrimaryActivity::class.java))
|
||||||
|
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
|
||||||
|
startActivity(intent)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onDestroy() {
|
||||||
|
super.onDestroy()
|
||||||
|
coroutineScope.cancel()
|
||||||
|
}
|
||||||
|
|
||||||
fun withPermission(): Boolean {
|
fun withPermission(): Boolean {
|
||||||
//先判断当前配置的开关是否为true,为false的话就直接进入A
|
//先判断当前配置的开关是否为true,为false的话就直接进入A
|
||||||
val jsonString = appStore.shouldEnterMusicPageJson//得到配置的json
|
val jsonString = appStore.shouldEnterMusicPageJson//得到配置的json
|
||||||
|
|||||||
@ -12,6 +12,7 @@ import androidx.fragment.app.FragmentTransaction
|
|||||||
import androidx.lifecycle.Observer
|
import androidx.lifecycle.Observer
|
||||||
import androidx.media3.common.Player
|
import androidx.media3.common.Player
|
||||||
import com.bumptech.glide.Glide
|
import com.bumptech.glide.Glide
|
||||||
|
import com.force.update.drainage.UpdateUtil
|
||||||
import com.gyf.immersionbar.ktx.immersionBar
|
import com.gyf.immersionbar.ktx.immersionBar
|
||||||
import melody.offline.music.R
|
import melody.offline.music.R
|
||||||
import melody.offline.music.ads.AdPlacement
|
import melody.offline.music.ads.AdPlacement
|
||||||
@ -37,13 +38,6 @@ class MainActivity : BaseActivity() {
|
|||||||
binding = ActivityMainBinding.inflate(layoutInflater)
|
binding = ActivityMainBinding.inflate(layoutInflater)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
initView()
|
initView()
|
||||||
ViewModelMain.dataRemote.observe(this) {
|
|
||||||
if (withPermission()) {
|
|
||||||
AnalysisUtil.logEvent(AnalysisUtil.HOME_A_TO_B)
|
|
||||||
startActivity(Intent(this, PrimaryActivity::class.java))
|
|
||||||
finish()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun initView() {
|
private fun initView() {
|
||||||
@ -53,6 +47,7 @@ class MainActivity : BaseActivity() {
|
|||||||
|
|
||||||
override fun onResume() {
|
override fun onResume() {
|
||||||
super.onResume()
|
super.onResume()
|
||||||
|
UpdateUtil.instance.showCustomDialog(this, logoImg = R.mipmap.app_logo)
|
||||||
|
|
||||||
LolAdWrapper.shared.loadAdIfNotCached(this, AdPlacement.INST_CUTTING_SONG)
|
LolAdWrapper.shared.loadAdIfNotCached(this, AdPlacement.INST_CUTTING_SONG)
|
||||||
LolAdWrapper.shared.loadAdIfNotCached(this, AdPlacement.INST_DOWNLOAD)
|
LolAdWrapper.shared.loadAdIfNotCached(this, AdPlacement.INST_DOWNLOAD)
|
||||||
|
|||||||
@ -57,14 +57,6 @@ class PlayDetailsActivity : BaseActivity() {
|
|||||||
Toast.makeText(this, getString(R.string.data_error), Toast.LENGTH_SHORT).show()
|
Toast.makeText(this, getString(R.string.data_error), Toast.LENGTH_SHORT).show()
|
||||||
}
|
}
|
||||||
initView()
|
initView()
|
||||||
|
|
||||||
ViewModelMain.dataRemote.observe(this) {
|
|
||||||
if (withPermission()) {
|
|
||||||
AnalysisUtil.logEvent(AnalysisUtil.HOME_A_TO_B)
|
|
||||||
startActivity(Intent(this, PrimaryActivity::class.java))
|
|
||||||
finish()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun initImmersionBar() {
|
private fun initImmersionBar() {
|
||||||
|
|||||||
@ -21,7 +21,7 @@ class BaseApiUtil {
|
|||||||
const val getIPInfoUrl = "/app/common/getIPInfo"
|
const val getIPInfoUrl = "/app/common/getIPInfo"
|
||||||
const val getAppDataURL = "/statistic/appdatacollection/saveAppData"
|
const val getAppDataURL = "/statistic/appdatacollection/saveAppData"
|
||||||
|
|
||||||
const val BaseUrl = "https://api.tikustok.com"
|
const val BaseUrl = "https://openapi.lux-ad.com"
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun PostContentMessage.toJson(): String {
|
private fun PostContentMessage.toJson(): String {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user