diff --git a/app/src/main/java/com/gh/common/constant/Config.java b/app/src/main/java/com/gh/common/constant/Config.java index 038f045a46..cabf74a0e5 100644 --- a/app/src/main/java/com/gh/common/constant/Config.java +++ b/app/src/main/java/com/gh/common/constant/Config.java @@ -122,17 +122,6 @@ public class Config { return false; } - /** - * 是否启用畅玩游戏 - */ - public static boolean isVGameEnabled() { - if (getSettings() == null) { - return false; - } - - return !"off".equals(getSettings().getGameSmooth()); - } - /** * VPN 开关选项是否开启 */ @@ -229,6 +218,8 @@ public class Config { if (!TextUtils.isEmpty(json)) { mSettingsEntity = GsonUtils.fromJson(json, SettingsEntity.class); } + + mSettingsEntity.setGameSmooth("off"); } catch (Exception e) { e.printStackTrace(); } diff --git a/app/src/main/java/com/gh/vspace/VHelper.kt b/app/src/main/java/com/gh/vspace/VHelper.kt index 52f11df73f..dd10594320 100644 --- a/app/src/main/java/com/gh/vspace/VHelper.kt +++ b/app/src/main/java/com/gh/vspace/VHelper.kt @@ -1465,10 +1465,25 @@ object VHelper { /** * 畅玩功能是否启用 + * 设备系统版本大于 7.1 且后台接口开启时才启用畅玩功能 */ @JvmStatic fun isVGameOn() = BuildConfig.DEBUG - || (BuildConfig.IS_VGAME_ON && Build.VERSION.SDK_INT > Build.VERSION_CODES.N_MR1 && Config.isVGameEnabled()) + || (Build.VERSION.SDK_INT > Build.VERSION_CODES.N_MR1 && isVGameOnByConfigSettings()) + + /** + * 后台接口是否启用畅玩功能(若获取不到开关情况时,判断用户是否曾用过畅玩功能) + */ + private fun isVGameOnByConfigSettings(): Boolean { + val configSettings = Config.getSettings() + + // 当 settings 为空时,若曾经用过畅玩,也允许用户继续使用畅玩 + return if (configSettings == null) { + isVIsUsed() + } else { + "off" == configSettings.gameSmooth + } + } /** * 检查畅玩游戏是否满足生成存档要求 diff --git a/module_common/build.gradle b/module_common/build.gradle index 6aff66dcb3..f74c66134a 100644 --- a/module_common/build.gradle +++ b/module_common/build.gradle @@ -33,7 +33,6 @@ android { */ buildConfigField "long", "BUILD_TIME", "0" buildConfigField "boolean", "IS_DARK_MODE_ON", "true" - buildConfigField "boolean", "IS_VGAME_ON", "true" } buildFeatures { diff --git a/scripts/build_with_simple_backup.sh b/scripts/build_with_simple_backup.sh index 42307dbf32..e7519ce322 100755 --- a/scripts/build_with_simple_backup.sh +++ b/scripts/build_with_simple_backup.sh @@ -21,8 +21,6 @@ else sed -i '1 a plugins { id "io.sentry.android.gradle" version "2.1.5" }' app/build.gradle fi -sed -i 's/buildConfigField "boolean", "IS_VGAME_ON", "true"/buildConfigField "boolean", "IS_VGAME_ON", "true"/g' module_common/build.gradle - ./gradlew --stop ./gradlew clean