From bc774071bcb2c6b803cc83c1c034169dd38b010c Mon Sep 17 00:00:00 2001 From: ocean <503259349@qq.com> Date: Thu, 30 May 2024 16:08:57 +0800 Subject: [PATCH] update --- app/build.gradle.kts | 4 ++-- .../offline/music/activity/MoBaseActivity.kt | 24 +++++++++++++++---- .../relax/offline/music/firebase/Constants.kt | 10 ++++++-- .../offline/music/firebase/RemoteConfig.kt | 21 ++++++++-------- .../java/relax/offline/music/sp/AppStore.kt | 10 ++++++-- 5 files changed, 47 insertions(+), 22 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index d459699..aae6a07 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -16,8 +16,8 @@ android { applicationId = "relax.offline.mp3.music" minSdk = 24 targetSdk = 34 - versionCode = 3 - versionName = "1.0.3" + versionCode = 4 + versionName = "1.0.4" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" diff --git a/app/src/main/java/relax/offline/music/activity/MoBaseActivity.kt b/app/src/main/java/relax/offline/music/activity/MoBaseActivity.kt index 6165f33..c5c49ee 100644 --- a/app/src/main/java/relax/offline/music/activity/MoBaseActivity.kt +++ b/app/src/main/java/relax/offline/music/activity/MoBaseActivity.kt @@ -27,10 +27,12 @@ import kotlinx.coroutines.NonCancellable import kotlinx.coroutines.channels.Channel import kotlinx.coroutines.launch import kotlinx.coroutines.withContext +import org.json.JSONObject import relax.offline.music.App import relax.offline.music.R import relax.offline.music.bean.FavoriteBean import relax.offline.music.bean.OfflineBean +import relax.offline.music.http.getAppVersionCode import relax.offline.music.media.MediaControllerManager import relax.offline.music.sp.AppStore import relax.offline.music.util.LogTag @@ -261,14 +263,26 @@ abstract class MoBaseActivity : AppCompatActivity(), CoroutineScope by MainScope fun withPermission(): Boolean { //先判断当前配置的开关是否为true,为false的话就直接进入A + val jsonString = appStore.shouldEnterMusicPageJson//得到配置的json + LogTag.LogD(TAG, "withPermission jsonString->${jsonString}") + val json = JSONObject(jsonString) + val versionCode = json.optInt("versionCode")//得到配置的code + val enter = json.optBoolean("enter")//得到配置的开关 + val currentVersionCode = getAppVersionCode(this)//得到当前应用的code + //如果配置的code 等于 当前app的code,则把配置赋值给shouldEnterMusicPage + if (versionCode.toLong() == currentVersionCode) { + appStore.shouldEnterMusicPage = enter + } else { + appStore.shouldEnterMusicPage = true + } LogTag.LogD(TAG, "withPermission shouldEnterMusicPage->${appStore.shouldEnterMusicPage}") if (!appStore.shouldEnterMusicPage) { return false } // 不允许的国家代码 val restrictedCountries = setOf( -// "CN", -// "HK", + "CN", + "HK", "TW", "JP", "KR", @@ -300,9 +314,9 @@ abstract class MoBaseActivity : AppCompatActivity(), CoroutineScope by MainScope //525 Singapore (Republic of) val restrictedCountryCodes = setOf( -// "460", -// "461", -// "454", + "460", + "461", + "454", "466", "440", "441", diff --git a/app/src/main/java/relax/offline/music/firebase/Constants.kt b/app/src/main/java/relax/offline/music/firebase/Constants.kt index 8fb8267..7776231 100644 --- a/app/src/main/java/relax/offline/music/firebase/Constants.kt +++ b/app/src/main/java/relax/offline/music/firebase/Constants.kt @@ -1,7 +1,13 @@ package relax.offline.music.firebase object Constants { - const val KEY_SHOULD_ENTER_MUSIC_PAGE = "key_should_enter_music_page" - const val DEFAULT_SHOULD_ENTER_MUSIC_PAGE = false + + const val KEY_SHOULD_ENTER_MUSIC_JSON = "key_should_enter_music_json" + const val DEFAULT_SHOULD_ENTER_MUSIC_JSON = """ + { + "versionCode": 4, + "enter": false + } + """ } diff --git a/app/src/main/java/relax/offline/music/firebase/RemoteConfig.kt b/app/src/main/java/relax/offline/music/firebase/RemoteConfig.kt index 7946181..256a1cf 100644 --- a/app/src/main/java/relax/offline/music/firebase/RemoteConfig.kt +++ b/app/src/main/java/relax/offline/music/firebase/RemoteConfig.kt @@ -63,13 +63,15 @@ class RemoteConfig { mFirebaseRemoteConfig!!.addOnConfigUpdateListener(object : ConfigUpdateListener { override fun onUpdate(configUpdate: ConfigUpdate) { LogTag.LogD(TAG, "Updated keys: " + configUpdate.updatedKeys) - - if (configUpdate.updatedKeys.contains(Constants.KEY_SHOULD_ENTER_MUSIC_PAGE)) { - mFirebaseRemoteConfig!!.activate().addOnCompleteListener { task -> - if (task.isSuccessful) { - updateData("onConfigUpdate", mFirebaseRemoteConfig!!.all) + try { + if (configUpdate.updatedKeys.contains(Constants.KEY_SHOULD_ENTER_MUSIC_JSON)) { + mFirebaseRemoteConfig!!.activate().addOnCompleteListener { task -> + if (task.isSuccessful) { + updateData("onConfigUpdate", mFirebaseRemoteConfig!!.all) + } } } + }catch (ignore: Exception) { } } @@ -112,12 +114,9 @@ class RemoteConfig { TAG, "from = " + from + "Key = " + key + " Value = " + value.asString() ) - if (TextUtils.equals( - Constants.KEY_SHOULD_ENTER_MUSIC_PAGE, key - ) - ) { - val shouldEnterMusicPage = value.asBoolean() - appStore.shouldEnterMusicPage = shouldEnterMusicPage + if (TextUtils.equals(Constants.KEY_SHOULD_ENTER_MUSIC_JSON, key)) { + val shouldJson = value.asString() + appStore.shouldEnterMusicPageJson = shouldJson } } catch (ignore: Exception) { diff --git a/app/src/main/java/relax/offline/music/sp/AppStore.kt b/app/src/main/java/relax/offline/music/sp/AppStore.kt index b3fc26a..2dde20c 100644 --- a/app/src/main/java/relax/offline/music/sp/AppStore.kt +++ b/app/src/main/java/relax/offline/music/sp/AppStore.kt @@ -49,8 +49,13 @@ class AppStore(context: Context) { ) var shouldEnterMusicPage: Boolean by store.boolean( - key = Constants.KEY_SHOULD_ENTER_MUSIC_PAGE, - defaultValue = Constants.DEFAULT_SHOULD_ENTER_MUSIC_PAGE + key = SHOULD_ENTER_MUSIC_PAGE, + defaultValue = true + ) + + var shouldEnterMusicPageJson: String by store.string( + key = Constants.KEY_SHOULD_ENTER_MUSIC_JSON, + defaultValue = Constants.DEFAULT_SHOULD_ENTER_MUSIC_JSON ) companion object { @@ -62,5 +67,6 @@ class AppStore(context: Context) { const val APP_UUID = "app_uuid" const val IP_COUNTRY_CODE = "ip_country_code" const val FIRST_OPEN_IS_SUCCEED = "first_open_is_succeed" + const val SHOULD_ENTER_MUSIC_PAGE = "key_should_enter_music_page" } } \ No newline at end of file