From 39ec77faae194b6c9492ef40265e772796ea06b5 Mon Sep 17 00:00:00 2001 From: juntao Date: Fri, 10 Dec 2021 17:57:25 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=B5=8B=E8=AF=95=E7=8E=AF?= =?UTF-8?q?=E5=A2=83=E5=92=8C=E6=AD=A3=E5=BC=8F=E7=8E=AF=E5=A2=83=E5=88=87?= =?UTF-8?q?=E6=8D=A2=E7=9A=84=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 56 +++---------------- .../main/java/com/gh/base/BaseActivity.java | 5 +- .../java/com/gh/common/DefaultUrlHandler.kt | 2 +- .../java/com/gh/common/constant/Config.java | 11 +--- .../com/gh/common/constant/Constants.java | 2 + .../gh/common/filter/RegionSettingHelper.kt | 2 +- .../java/com/gh/common/loghub/LoghubHelper.kt | 4 +- .../common/repository/RemenkapaiRepository.kt | 2 +- .../java/com/gh/common/util/DirectUtils.kt | 20 +++---- .../java/com/gh/common/util/DownloadHelper.kt | 2 +- .../com/gh/common/util/EnergyTaskHelper.kt | 5 +- .../main/java/com/gh/common/util/EnvHelper.kt | 32 +++++++++++ .../java/com/gh/common/util/Extensions.kt | 3 +- .../util/GameSubstituteRepositoryHelper.kt | 3 +- .../java/com/gh/common/util/TagUtils.java | 2 +- .../java/com/gh/common/view/RichEditor.java | 3 +- .../java/com/gh/download/PackageObserver.kt | 3 +- .../gh/gamecenter/LibaoDetailActivity.java | 5 +- .../com/gh/gamecenter/NewsDetailActivity.java | 2 +- .../gh/gamecenter/SplashScreenActivity.java | 31 ++++++++-- .../com/gh/gamecenter/SuggestionActivity.java | 2 +- .../java/com/gh/gamecenter/WebActivity.kt | 3 +- .../com/gh/gamecenter/amway/AmwayViewModel.kt | 2 +- .../amway/search/AmwaySearchViewModel.kt | 2 +- .../catalog/NewCatalogListViewModel.kt | 2 +- .../CategoryDirectoryListViewModel.kt | 2 +- .../category/NewCategoryListViewModel.kt | 2 +- .../download/GameUpdateFragmentAdapter.java | 4 +- .../InstalledGameFragmentAdapter.java | 3 +- .../download/InstalledGameViewModel.kt | 2 +- .../gh/gamecenter/fragment/LoginFragment.java | 3 +- .../fragment/MainWrapperViewModel.kt | 2 +- .../fragment/SearchToolbarFragment.java | 3 +- .../com/gh/gamecenter/game/GameViewModel.kt | 2 +- .../detail/ColumnCollectionDetailViewModel.kt | 2 +- .../GameResourcePolicyDialogFragment.kt | 4 +- .../choose/AddSearchGameFragment.kt | 4 +- .../gamedetail/GameDetailViewModel.kt | 2 +- .../gamedetail/desc/DescViewModel.kt | 2 +- .../fuli/kaifu/ServersCalendarViewModel.kt | 2 +- .../history/HistoryApkListViewModel.kt | 4 +- .../gamedetail/rating/RatingReplyViewModel.kt | 2 +- .../rating/edit/RatingEditActivity.kt | 2 +- .../gh/gamecenter/help/HelpContentAdapter.kt | 3 +- .../com/gh/gamecenter/help/HelpQaAdapter.kt | 8 +-- .../com/gh/gamecenter/home/HomeViewModel.kt | 2 +- .../gh/gamecenter/manager/UserManager.java | 13 +++-- .../packagehelper/PackageRepository.kt | 2 +- .../gamecenter/personal/PersonalFragment.kt | 3 +- .../personalhome/UserHomeFragment.kt | 4 +- .../gh/gamecenter/qa/editor/GameFragment.kt | 2 +- .../gamecenter/retrofit/RetrofitManager.java | 17 +++--- .../search/SearchGameResultViewModel.kt | 2 +- .../gamecenter/security/SecurityFragment.kt | 4 +- .../servers/GameServersContentViewModel.kt | 2 +- .../servers/GameServersPublishFragment.kt | 2 +- .../subject/SubjectListViewModel.kt | 4 +- .../gh/gamecenter/subject/SubjectViewModel.kt | 4 +- .../gh/gamecenter/tag/TagsListViewModel.kt | 4 +- .../main/java/com/halo/assistant/HaloApp.java | 3 +- .../assistant/fragment/AboutFragment.java | 31 +++++++++- .../halo/assistant/fragment/WebFragment.kt | 3 +- .../myconcern/MyConcernRecommendAdapter.java | 3 +- gradle.properties | 21 ------- scripts/jenkins_build.sh | 8 +-- scripts/test_build.sh | 20 ++----- 66 files changed, 204 insertions(+), 214 deletions(-) create mode 100644 app/src/main/java/com/gh/common/util/EnvHelper.kt diff --git a/app/build.gradle b/app/build.gradle index 3fa3b0338a..2d914004c8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -81,11 +81,11 @@ android { /** * All third-party appid/appkey */ + buildConfigField "String", "API_HOST", "\"${API_HOST}\"" buildConfigField "String", "WECHAT_APPID", "\"${WECHAT_APPID}\"" buildConfigField "String", "WECHAT_SECRET", "\"${WECHAT_SECRET}\"" buildConfigField "String", "TENCENT_APPID", "\"${TENCENT_APPID}\"" buildConfigField "String", "WEIBO_APPKEY", "\"${WEIBO_APPKEY}\"" - buildConfigField "String", "MTA_APPKEY", "\"${MTA_APPKEY}\"" buildConfigField "String", "TD_APPID", "\"${TD_APPID}\"" buildConfigField "String", "LETO_APPID", "\"${LETO_APPID}\"" buildConfigField "String", "TTAD_APPID", "\"${TTAD_APPID}\"" @@ -94,18 +94,10 @@ android { buildConfigField "String", "QUICK_LOGIN_APPID", "\"${QUICK_LOGIN_APPID}\"" buildConfigField "String", "QUICK_LOGIN_APPKEY", "\"${QUICK_LOGIN_APPKEY}\"" - buildConfigField "String", "MIPUSH_APPID", "\"${MIPUSH_APPID}\"" - buildConfigField "String", "MIPUSH_APPKEY", "\"${MIPUSH_APPKEY}\"" - buildConfigField "String", "MEIZUPUSH_APPID", "\"${MEIZUPUSH_APPID}\"" - buildConfigField "String", "MEIZUPUSH_APPKEY", "\"${MEIZUPUSH_APPKEY}\"" - - resValue "string", "huawei_push_appid", "appid=${HUAWEI_PUSH_APPID}" - /** * Build Time 供区分 jenkins 打包时间用 */ buildConfigField "long", "BUILD_TIME", "0" - } // gradle 2.2以上默认同时启用v1和v2(优先用于Android N) @@ -173,41 +165,25 @@ android { } productFlavors { - // publish release host - publish { - dimension "env" - buildConfigField "String", "API_HOST", "\"${API_HOST}\"" - - buildConfigField "String", "SENSITIVE_API_HOST", "\"${SENSITIVE_API_HOST}\"" - - buildConfigField "String", "UMENG_APPKEY", "\"${UMENG_APPKEY}\"" - buildConfigField "String", "UMENG_MESSAGE_SECRET", "\"${UMENG_MESSAGE_SECRET}\"" - buildConfigField "String", "BUGLY_APPID", "\"${BUGLY_APPID}\"" - } // internal test dev host internal { dimension "env" versionNameSuffix "-debug" - buildConfigField "String", "API_HOST", "\"${DEV_API_HOST}\"" + buildConfigField "String", "DEV_API_HOST", "\"${DEV_API_HOST}\"" + } - buildConfigField "String", "SENSITIVE_API_HOST", "\"${DEV_API_HOST}\"" + // publish release host˛ + publish { + dimension "env" - buildConfigField "String", "UMENG_APPKEY", "\"${DEV_UMENG_APPKEY}\"" - buildConfigField "String", "UMENG_MESSAGE_SECRET", "\"${DEV_UMENG_MESSAGE_SECRET}\"" - buildConfigField "String", "BUGLY_APPID", "\"${DEV_BUGLY_APPID}\"" + buildConfigField "String", "DEV_API_HOST", "\"${API_HOST}\"" } tea { dimension "env" - buildConfigField "String", "API_HOST", "\"${API_HOST}\"" - - buildConfigField "String", "SENSITIVE_API_HOST", "\"${SENSITIVE_API_HOST}\"" - - buildConfigField "String", "UMENG_APPKEY", "\"${UMENG_APPKEY}\"" - buildConfigField "String", "UMENG_MESSAGE_SECRET", "\"${UMENG_MESSAGE_SECRET}\"" - buildConfigField "String", "BUGLY_APPID", "\"${BUGLY_APPID}\"" + buildConfigField "String", "DEV_API_HOST", "\"${API_HOST}\"" manifestPlaceholders.put("APPLOG_SCHEME", "rangersapplog.byAx6uYt".toLowerCase()) } @@ -215,13 +191,7 @@ android { gdt { dimension "env" - buildConfigField "String", "API_HOST", "\"${API_HOST}\"" - - buildConfigField "String", "SENSITIVE_API_HOST", "\"${SENSITIVE_API_HOST}\"" - - buildConfigField "String", "UMENG_APPKEY", "\"${UMENG_APPKEY}\"" - buildConfigField "String", "UMENG_MESSAGE_SECRET", "\"${UMENG_MESSAGE_SECRET}\"" - buildConfigField "String", "BUGLY_APPID", "\"${BUGLY_APPID}\"" + buildConfigField "String", "DEV_API_HOST", "\"${API_HOST}\"" } } @@ -304,9 +274,6 @@ dependencies { implementation "com.daimajia.swipelayout:library:${swipeLayout}" - // bugly with tinker support -// implementation "com.tencent.bugly:crashreport_upgrade:${buglyTinkerSupport}" - implementation "com.google.android:flexbox:${flexbox}" implementation "pub.devrel:easypermissions:${easypermissions}" @@ -380,12 +347,7 @@ dependencies { compileOnly "com.github.axen1314.lancet:lancet-base:$lancet_version" implementation project(':libraries:LGLibrary') -// implementation project(':libraries:MTA') implementation project(':libraries:QQShare') -// implementation project(':libraries:TalkingData') -// implementation project(':libraries:UmengPush') -// implementation project(':libraries:WechatShare') -// implementation project(':libraries:im') implementation project(':libraries:Matisse') } File propFile = file('sign.properties') diff --git a/app/src/main/java/com/gh/base/BaseActivity.java b/app/src/main/java/com/gh/base/BaseActivity.java index df571b3327..d87c7fb9a1 100644 --- a/app/src/main/java/com/gh/base/BaseActivity.java +++ b/app/src/main/java/com/gh/base/BaseActivity.java @@ -32,6 +32,7 @@ import com.gh.common.util.DialogHelper; import com.gh.common.util.DialogUtils; import com.gh.common.util.DisplayUtils; import com.gh.common.util.EntranceUtils; +import com.gh.common.util.EnvHelper; import com.gh.common.util.ExtensionsKt; import com.gh.common.util.MtaHelper; import com.gh.common.util.NetworkUtils; @@ -170,7 +171,7 @@ public abstract class BaseActivity extends BaseAppCompatActivity implements Easy @SuppressWarnings("ConstantConditions") @Override public void setContentView(View view) { - if (BuildConfig.DEBUG || BuildConfig.BUILD_TIME != 0) { + if (!(this instanceof SplashScreenActivity) && EnvHelper.isTestEnv()) { view = getRootViewWithEnvIndicator(view); } super.setContentView(view); @@ -227,7 +228,7 @@ public abstract class BaseActivity extends BaseAppCompatActivity implements Easy TextView tv = new TextView(this); String envText = "正式环境"; tv.setBackground(ContextCompat.getDrawable(this, R.color.theme)); - if (BuildConfig.FLAVOR.equals("internal")) { + if (EnvHelper.isDevEnv()) { envText = "测试环境"; tv.setBackground(ContextCompat.getDrawable(this, R.color.theme_red)); } diff --git a/app/src/main/java/com/gh/common/DefaultUrlHandler.kt b/app/src/main/java/com/gh/common/DefaultUrlHandler.kt index d0b5acb411..a49da99b44 100644 --- a/app/src/main/java/com/gh/common/DefaultUrlHandler.kt +++ b/app/src/main/java/com/gh/common/DefaultUrlHandler.kt @@ -347,7 +347,7 @@ object DefaultUrlHandler { if (!url.isNullOrEmpty()) { context.startActivity(WebActivity.getIntent(context, url, false)) } else { - url = if ("internal" == BuildConfig.FLAVOR) { + url = if (EnvHelper.isDevEnv) { Constants.HELP_ADDRESS_DEV } else { Constants.HELP_ADDRESS 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 bfe170788d..b8335b28e7 100644 --- a/app/src/main/java/com/gh/common/constant/Config.java +++ b/app/src/main/java/com/gh/common/constant/Config.java @@ -36,7 +36,7 @@ import io.reactivex.schedulers.Schedulers; public class Config { public static final String API_HOST = BuildConfig.API_HOST; - public static final String SENSITIVE_API_HOST = BuildConfig.SENSITIVE_API_HOST; + public static final String DEV_API_HOST = BuildConfig.DEV_API_HOST; /** * 需要配置的请使用{@link PreferenceManager#getDefaultSharedPreferences(Context)} @@ -47,13 +47,6 @@ public class Config { public static final String WECHAT_SECRET = BuildConfig.WECHAT_SECRET; public static final String TENCENT_APPID = BuildConfig.TENCENT_APPID; public static final String WEIBO_APPKEY = BuildConfig.WEIBO_APPKEY; - public static final String MIPUSH_APPID = BuildConfig.MIPUSH_APPID; - public static final String MIPUSH_APPKEY = BuildConfig.MIPUSH_APPKEY; - public static final String MTA_APPKEY = BuildConfig.MTA_APPKEY; - public static final String TALKINGDATA_APPID = BuildConfig.TD_APPID;// TalkingData - public static final String UMENG_APPKEY = BuildConfig.UMENG_APPKEY; - public static final String UMENG_MESSAGE_SECRET = BuildConfig.UMENG_MESSAGE_SECRET; - public static final String BUGLY_APPID = BuildConfig.BUGLY_APPID; public static final String LETO_APPID = BuildConfig.LETO_APPID; public static final String TTAD_APPID = BuildConfig.TTAD_APPID; public static final String DOUYIN_CLIENTKEY = BuildConfig.DOUYIN_CLIENTKEY; @@ -297,7 +290,7 @@ public class Config { public static void getGhzsSettings() { String channel = HaloApp.getInstance().getChannel(); RetrofitManager.getInstance(HaloApp.getInstance().getApplication()) - .getSensitiveApi().getSettings(PackageUtils.getGhVersionName(), channel) + .getApi().getSettings(PackageUtils.getGhVersionName(), channel) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Response() { diff --git a/app/src/main/java/com/gh/common/constant/Constants.java b/app/src/main/java/com/gh/common/constant/Constants.java index 4f2135007c..dbac628820 100644 --- a/app/src/main/java/com/gh/common/constant/Constants.java +++ b/app/src/main/java/com/gh/common/constant/Constants.java @@ -359,6 +359,8 @@ public class Constants { //游戏单管理规范 public static final String GAME_COLLECTION_RULE = "https://resource.ghzs.com/page/privacy_policies/game_collection.html"; + public static final String SP_IS_DEV_ENV = "is_dev_env"; + //最少需要多少数据才能上传 public static final int DATA_AMOUNT = 20; diff --git a/app/src/main/java/com/gh/common/filter/RegionSettingHelper.kt b/app/src/main/java/com/gh/common/filter/RegionSettingHelper.kt index 3e85b88ace..06b467945a 100644 --- a/app/src/main/java/com/gh/common/filter/RegionSettingHelper.kt +++ b/app/src/main/java/com/gh/common/filter/RegionSettingHelper.kt @@ -64,7 +64,7 @@ object RegionSettingHelper { debounceActionWithInterval(R.string.app_name, 5000) { // 使用默认的 Schdulers.io() 可能会触发 OOM RetrofitManager.getInstance(HaloApp.getInstance().application) - .sensitiveApi + .api .getRegionSetting(HaloApp.getInstance().channel) .subscribeOn(Schedulers.io()) .subscribe(object : BiResponse() { diff --git a/app/src/main/java/com/gh/common/loghub/LoghubHelper.kt b/app/src/main/java/com/gh/common/loghub/LoghubHelper.kt index bc3895ddd4..2fdf2e91df 100644 --- a/app/src/main/java/com/gh/common/loghub/LoghubHelper.kt +++ b/app/src/main/java/com/gh/common/loghub/LoghubHelper.kt @@ -1,7 +1,7 @@ package com.gh.common.loghub import com.aliyun.sls.android.producer.* -import com.gh.common.util.isPublishEnv +import com.gh.common.util.EnvHelper import com.halo.assistant.HaloApp import com.lightgame.utils.Utils @@ -71,7 +71,7 @@ object LoghubHelper { setDropUnauthorizedLog(0) } - return if (isPublishEnv()) { + return if (!EnvHelper.isTestEnv()) { LogProducerClient(config) } else { return LogProducerClient(config, diff --git a/app/src/main/java/com/gh/common/repository/RemenkapaiRepository.kt b/app/src/main/java/com/gh/common/repository/RemenkapaiRepository.kt index 3578bcfb9a..ee5c692e42 100644 --- a/app/src/main/java/com/gh/common/repository/RemenkapaiRepository.kt +++ b/app/src/main/java/com/gh/common/repository/RemenkapaiRepository.kt @@ -16,7 +16,7 @@ object RemenkapaiRepository { @JvmStatic fun getRemenkapai(size: Int): Observable> { return if (remenkapaiList.isEmpty()) { - RetrofitManager.getInstance(HaloApp.getInstance().application).sensitiveApi.remenkapai + RetrofitManager.getInstance(HaloApp.getInstance().application).api.remenkapai .map(RegionSettingHelper.filterGame) .map { gameList -> filterEntityWithoutApk(gameList) } .map { pickRandomSizeEntity(size) } diff --git a/app/src/main/java/com/gh/common/util/DirectUtils.kt b/app/src/main/java/com/gh/common/util/DirectUtils.kt index 491ac2ef90..8e8295e90f 100644 --- a/app/src/main/java/com/gh/common/util/DirectUtils.kt +++ b/app/src/main/java/com/gh/common/util/DirectUtils.kt @@ -36,11 +36,11 @@ import com.gh.gamecenter.game.columncollection.detail.ColumnCollectionDetailActi import com.gh.gamecenter.game.commoncollection.detail.CommonCollectionDetailActivity import com.gh.gamecenter.game.upload.GameSubmissionActivity import com.gh.gamecenter.gamecollection.detail.GameCollectionDetailActivity +import com.gh.gamecenter.gamecollection.square.GameCollectionSquareActivity import com.gh.gamecenter.gamedetail.GameDetailFragment import com.gh.gamecenter.gamedetail.fuli.kaifu.ServersCalendarActivity import com.gh.gamecenter.gamedetail.history.HistoryApkListActivity import com.gh.gamecenter.gamedetail.rating.RatingReplyActivity -import com.gh.gamecenter.gamecollection.square.GameCollectionSquareActivity import com.gh.gamecenter.manager.UserManager import com.gh.gamecenter.mygame.PlayedGameActivity import com.gh.gamecenter.personalhome.UserHomeActivity @@ -998,7 +998,7 @@ object DirectUtils { */ @JvmStatic fun directToBadgeWall(context: Context, userId: String?, name: String?, icon: String?) { - var url: String = if ("internal" == BuildConfig.FLAVOR) { + var url: String = if (EnvHelper.isDevEnv) { Constants.BADGE_ADDRESS_DEV } else { Constants.BADGE_ADDRESS @@ -1021,7 +1021,7 @@ object DirectUtils { */ @JvmStatic fun directToBadgeDetail(context: Context, userId: String?, badgeId: String?) { - var url: String = if ("internal" == BuildConfig.FLAVOR) { + var url: String = if (EnvHelper.isDevEnv) { Constants.BADGE_DETAIL_ADDRESS_DEV } else { Constants.BADGE_DETAIL_ADDRESS @@ -1065,7 +1065,7 @@ object DirectUtils { @JvmStatic fun directToRegulationTestPage(context: Context) { - val url = if ("internal" == BuildConfig.FLAVOR) { + val url = if (EnvHelper.isDevEnv) { Constants.REGULATION_TEST_ADDRESS_DEV } else { Constants.REGULATION_TEST_ADDRESS @@ -1245,7 +1245,7 @@ object DirectUtils { @JvmStatic fun directGameZone(context: Context, gameId: String, url: String, entrance: String? = null) { RetrofitManager.getInstance(HaloApp.getInstance().application) - .sensitiveApi + .api .getGameDigest(gameId) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) @@ -1394,7 +1394,7 @@ object DirectUtils { */ @JvmStatic fun directToCommodityDetail(context: Context, commodityId: String) { - var url: String = if ("internal" == BuildConfig.FLAVOR) { + var url: String = if (EnvHelper.isDevEnv) { Constants.COMMODITY_DETAIL_ADDRESS_DEV } else { Constants.COMMODITY_DETAIL_ADDRESS @@ -1414,7 +1414,7 @@ object DirectUtils { @JvmStatic fun directToEnergyRecord(context: Context, position: Int) { - var url: String = if ("internal" == BuildConfig.FLAVOR) { + var url: String = if (EnvHelper.isDevEnv) { Constants.ENERGY_RECORD_ADDRESS_DEV } else { Constants.ENERGY_RECORD_ADDRESS @@ -1429,7 +1429,7 @@ object DirectUtils { */ @JvmStatic fun directToOrderCenter(context: Context) { - var url: String = if ("internal" == BuildConfig.FLAVOR) { + val url: String = if (EnvHelper.isDevEnv) { Constants.ORDER_CENTER_ADDRESS_DEV } else { Constants.ORDER_CENTER_ADDRESS @@ -1442,7 +1442,7 @@ object DirectUtils { */ @JvmStatic fun directToOrderDetail(context: Context, orderId: String) { - var url: String = if ("internal" == BuildConfig.FLAVOR) { + var url: String = if (EnvHelper.isDevEnv) { Constants.ORDER_DETAIL_ADDRESS_DEV } else { Constants.ORDER_DETAIL_ADDRESS @@ -1457,7 +1457,7 @@ object DirectUtils { */ @JvmStatic fun directToInviteFriends(context: Context) { - var url: String = if ("internal" == BuildConfig.FLAVOR) { + val url: String = if (EnvHelper.isDevEnv) { Constants.INVITE_FRIENDS_ADDRESS_DEV } else { Constants.INVITE_FRIENDS_ADDRESS diff --git a/app/src/main/java/com/gh/common/util/DownloadHelper.kt b/app/src/main/java/com/gh/common/util/DownloadHelper.kt index a9d71bdacc..b271ab8594 100644 --- a/app/src/main/java/com/gh/common/util/DownloadHelper.kt +++ b/app/src/main/java/com/gh/common/util/DownloadHelper.kt @@ -24,7 +24,7 @@ object DownloadHelper { } RetrofitManager.getInstance(HaloApp.getInstance().application) - .sensitiveApi + .api .getGameDigest(gameId) .map(ApkActiveUtils.filterMapper) .subscribeOn(Schedulers.io()) diff --git a/app/src/main/java/com/gh/common/util/EnergyTaskHelper.kt b/app/src/main/java/com/gh/common/util/EnergyTaskHelper.kt index 5c63070475..2fac2b583c 100644 --- a/app/src/main/java/com/gh/common/util/EnergyTaskHelper.kt +++ b/app/src/main/java/com/gh/common/util/EnergyTaskHelper.kt @@ -7,7 +7,6 @@ import android.widget.LinearLayout import android.widget.PopupWindow import android.widget.TextView import com.gh.common.constant.Constants -import com.gh.gamecenter.BuildConfig import com.gh.gamecenter.R import com.gh.gamecenter.energy.EnergyCenterActivity import com.gh.gamecenter.entity.EnergyTaskCompleteEntity @@ -72,7 +71,7 @@ object EnergyTaskHelper { @SuppressLint("CheckResult") @JvmStatic fun postEnergyTask(action: String, id: String? = null, packageName: String? = null, url: String? = null) { - if (BuildConfig.DEBUG || BuildConfig.BUILD_TIME != 0L) { + if (EnvHelper.isTestEnv()) { val taskParams = JSONObject() taskParams.put("action", action) @@ -100,7 +99,7 @@ object EnergyTaskHelper { @SuppressLint("CheckResult") @JvmStatic fun postInviteCodeTask(code: String, from: String, callback: (() -> Unit)?) { - if (BuildConfig.DEBUG || BuildConfig.BUILD_TIME != 0L) { + if (EnvHelper.isTestEnv()) { val taskParams = JSONObject() taskParams.put("action", "enter_invite_code") diff --git a/app/src/main/java/com/gh/common/util/EnvHelper.kt b/app/src/main/java/com/gh/common/util/EnvHelper.kt new file mode 100644 index 0000000000..a1ebfd6650 --- /dev/null +++ b/app/src/main/java/com/gh/common/util/EnvHelper.kt @@ -0,0 +1,32 @@ +package com.gh.common.util + +import com.gh.common.constant.Constants +import com.gh.gamecenter.BuildConfig + +object EnvHelper { + + // API 环境是否为测试环境 + @JvmStatic + val isDevEnv: Boolean by lazy { + SPUtils.getBoolean(Constants.SP_IS_DEV_ENV, false) + } + + fun getHost(): String { + return if (!isTestEnv()) { + BuildConfig.API_HOST + } else { + if (isDevEnv) { + BuildConfig.DEV_API_HOST + } else { + BuildConfig.API_HOST + } + } + } + + // 包体是否为测试包 + @JvmStatic + fun isTestEnv(): Boolean { + return BuildConfig.BUILD_TIME != 0L || BuildConfig.DEBUG + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/gh/common/util/Extensions.kt b/app/src/main/java/com/gh/common/util/Extensions.kt index 6f5e3dd630..6c49b1a1cd 100644 --- a/app/src/main/java/com/gh/common/util/Extensions.kt +++ b/app/src/main/java/com/gh/common/util/Extensions.kt @@ -297,8 +297,9 @@ fun View.enlargeTouchArea(enlargedSizeInPx: Int = 4F.dip2px()) { } } +@Deprecated("Use EnvHelper.isDevEnv instead", ReplaceWith("!EnvHelper.isDevEnv")) fun isPublishEnv(): Boolean { - return BuildConfig.FLAVOR != "internal" + return !EnvHelper.isDevEnv } /** diff --git a/app/src/main/java/com/gh/common/util/GameSubstituteRepositoryHelper.kt b/app/src/main/java/com/gh/common/util/GameSubstituteRepositoryHelper.kt index ad1ce153d8..87518fef9e 100644 --- a/app/src/main/java/com/gh/common/util/GameSubstituteRepositoryHelper.kt +++ b/app/src/main/java/com/gh/common/util/GameSubstituteRepositoryHelper.kt @@ -21,7 +21,6 @@ object GameSubstituteRepositoryHelper { private var mSubstitutableGameIdSet = hashSetOf() private var mApi = RetrofitManager.getInstance(HaloApp.getInstance().application).api - private val mSensitiveApi = RetrofitManager.getInstance(HaloApp.getInstance().application).sensitiveApi private var mApplicationContext = HaloApp.getInstance().application var gameCollectionList: List = arrayListOf() @@ -35,7 +34,7 @@ object GameSubstituteRepositoryHelper { */ @JvmStatic fun updateGameSubstituteRepository() { - mSensitiveApi.reserveColumns + mApi.reserveColumns .subscribeOn(Schedulers.io()) .subscribe(object : Response>() { override fun onResponse(response: List?) { diff --git a/app/src/main/java/com/gh/common/util/TagUtils.java b/app/src/main/java/com/gh/common/util/TagUtils.java index 16eb44d47d..ede2ff6f78 100644 --- a/app/src/main/java/com/gh/common/util/TagUtils.java +++ b/app/src/main/java/com/gh/common/util/TagUtils.java @@ -66,7 +66,7 @@ public class TagUtils { return; } isUpdate = true; - RetrofitManager.getInstance(context).getSensitiveApi().getTags() + RetrofitManager.getInstance(context).getApi().getTags() .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Response>() { diff --git a/app/src/main/java/com/gh/common/view/RichEditor.java b/app/src/main/java/com/gh/common/view/RichEditor.java index e1c8205e53..808f386ad5 100644 --- a/app/src/main/java/com/gh/common/view/RichEditor.java +++ b/app/src/main/java/com/gh/common/view/RichEditor.java @@ -20,6 +20,7 @@ import com.gh.common.util.DialogHelper; import com.gh.common.util.DialogUtils; import com.gh.common.util.DisplayUtils; import com.gh.common.util.EmptyCallback; +import com.gh.common.util.EnvHelper; import com.gh.common.util.GsonUtils; import com.gh.common.util.HtmlUtils; import com.gh.common.util.ImageUtils; @@ -687,7 +688,7 @@ public class RichEditor extends WebView { */ @JavascriptInterface public boolean isNativeBuildDebug() { - return "internal".equals(BuildConfig.FLAVOR); + return EnvHelper.isDevEnv(); } /** diff --git a/app/src/main/java/com/gh/download/PackageObserver.kt b/app/src/main/java/com/gh/download/PackageObserver.kt index 3a6125254c..47129e3ec8 100644 --- a/app/src/main/java/com/gh/download/PackageObserver.kt +++ b/app/src/main/java/com/gh/download/PackageObserver.kt @@ -18,7 +18,6 @@ import com.gh.gamecenter.retrofit.Response import com.gh.gamecenter.retrofit.RetrofitManager import com.gh.gamecenter.setting.GameDownloadSettingFragment.Companion.CONCERN_GAME_SP_KEY import com.halo.assistant.HaloApp -import com.halo.assistant.fragment.SettingsFragment import com.lightgame.download.DownloadEntity import com.lightgame.utils.Utils import io.reactivex.android.schedulers.AndroidSchedulers @@ -103,7 +102,7 @@ object PackageObserver { if (sp.getBoolean(CONCERN_GAME_SP_KEY, true)) { //设置页面控制是否安装后自动关注 // 安装后关注游戏 val finalDownloadEntity = mDownloadEntity - RetrofitManager.getInstance(application).sensitiveApi + RetrofitManager.getInstance(application).api .getGameDigestByPackageName(UrlFilterUtils.getFilterQuery("package", packageName)) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) diff --git a/app/src/main/java/com/gh/gamecenter/LibaoDetailActivity.java b/app/src/main/java/com/gh/gamecenter/LibaoDetailActivity.java index 2c2624e924..43492dd713 100644 --- a/app/src/main/java/com/gh/gamecenter/LibaoDetailActivity.java +++ b/app/src/main/java/com/gh/gamecenter/LibaoDetailActivity.java @@ -3,7 +3,6 @@ package com.gh.gamecenter; import android.app.Activity; import android.content.Context; import android.content.Intent; -import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.Message; import android.text.TextUtils; @@ -13,7 +12,6 @@ import android.widget.RelativeLayout; import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.core.content.ContextCompat; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; @@ -29,7 +27,6 @@ import com.gh.common.util.DeviceTokenUtils; import com.gh.common.util.EntranceUtils; import com.gh.common.util.ExtensionsKt; import com.gh.common.util.LibaoUtils; -import com.gh.common.view.CustomDividerItemDecoration; import com.gh.common.view.DownloadProgressBar; import com.gh.common.view.VerticalItemDecoration; import com.gh.download.DownloadManager; @@ -398,7 +395,7 @@ public class LibaoDetailActivity extends ToolBarActivity implements LibaoDetailA if (RegionSettingHelper.shouldThisGameBeFiltered(gameId)) { return; } - RetrofitManager.getInstance(this).getSensitiveApi().getGameNewsDigest(gameId) + RetrofitManager.getInstance(this).getApi().getGameNewsDigest(gameId) .map(ApkActiveUtils.filterMapper) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) diff --git a/app/src/main/java/com/gh/gamecenter/NewsDetailActivity.java b/app/src/main/java/com/gh/gamecenter/NewsDetailActivity.java index 11d60ed592..737e71994e 100644 --- a/app/src/main/java/com/gh/gamecenter/NewsDetailActivity.java +++ b/app/src/main/java/com/gh/gamecenter/NewsDetailActivity.java @@ -644,7 +644,7 @@ public class NewsDetailActivity extends ToolBarActivity implements OnClickListen mDetailBottomLl.setVisibility(View.GONE); return; } - RetrofitManager.getInstance(this).getSensitiveApi().getGameNewsDigest(gameId) + RetrofitManager.getInstance(this).getApi().getGameNewsDigest(gameId) .map(ApkActiveUtils.filterMapper) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) diff --git a/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java b/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java index 3ba7d515d5..67fc86ae5d 100644 --- a/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java +++ b/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java @@ -29,8 +29,10 @@ import com.gh.common.tracker.TrackerLogger; import com.gh.common.util.AdHelper; import com.gh.common.util.DeviceTokenUtils; import com.gh.common.util.DeviceUtils; +import com.gh.common.util.DialogHelper; import com.gh.common.util.DialogUtils; import com.gh.common.util.DisplayUtils; +import com.gh.common.util.EnvHelper; import com.gh.common.util.GameSubstituteRepositoryHelper; import com.gh.common.util.GsonUtils; import com.gh.common.util.MtaHelper; @@ -126,7 +128,28 @@ public class SplashScreenActivity extends BaseActivity { // mStartMainActivityDirectly = true; SPUtils.setLong(Constants.SP_INITIAL_USAGE_TIME, System.currentTimeMillis()); HaloApp.getInstance().isBrandNewInstall = true; - showPrivacyDialog(guideLayout); + + if (!EnvHelper.isTestEnv()) { + showPrivacyDialog(guideLayout); + } else { + DialogHelper.showDialog(this, + "选择接口环境", + "这个弹窗只会在右上角有环境标签的测试包出现\n进入应用以后还可以到关于我们页面长按应用图标重新选择", + "正式环境", + "测试环境", + () -> { + SPUtils.setBoolean(Constants.SP_IS_DEV_ENV, false); + showPrivacyDialog(guideLayout); + }, + () -> { + SPUtils.setBoolean(Constants.SP_IS_DEV_ENV, true); + showPrivacyDialog(guideLayout); + }, + false, + "", + "" + ); + } } else { cancelPreviousUpdateTask(); @@ -183,7 +206,7 @@ public class SplashScreenActivity extends BaseActivity { @SuppressLint("CheckResult") private void deviceDialogSetting() { RetrofitManager.getInstance(HaloApp.getInstance().getApplication()) - .getSensitiveApi().deviceDialogs() + .getApi().deviceDialogs() .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new BiResponse>() { @@ -215,7 +238,7 @@ public class SplashScreenActivity extends BaseActivity { private void getFilterDetailTags() { RetrofitManager.getInstance(HaloApp.getInstance().getApplication()) - .getSensitiveApi().getFilterDetailTags() + .getApi().getFilterDetailTags() .subscribe(new Response>() { @Override public void onResponse(@Nullable ArrayList response) { @@ -227,7 +250,7 @@ public class SplashScreenActivity extends BaseActivity { private void getAuthDialog() { RetrofitManager.getInstance(HaloApp.getInstance().getApplication()) - .getSensitiveApi() + .getApi() .authDialog() .subscribe(new Response>() { @Override diff --git a/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java b/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java index d6de19b373..3829d0e2e8 100644 --- a/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java +++ b/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java @@ -967,7 +967,7 @@ public class SuggestionActivity extends ToolBarActivity implements OnRequestCall postDialog.show(getSupportFragmentManager(), null); String filter = UrlFilterUtils.getFilterQuery("package", mSelectGameEntity.getPackageName(), "type", "suggestion_check"); RetrofitManager.getInstance(getBaseContext()) - .getSensitiveApi() + .getApi() .getSuggestGameCollectHintData(filter) .map(RegionSettingHelper.filterGame) .map(ApkActiveUtils.filterMapperList) diff --git a/app/src/main/java/com/gh/gamecenter/WebActivity.kt b/app/src/main/java/com/gh/gamecenter/WebActivity.kt index 876137d88e..8516fa909d 100644 --- a/app/src/main/java/com/gh/gamecenter/WebActivity.kt +++ b/app/src/main/java/com/gh/gamecenter/WebActivity.kt @@ -8,6 +8,7 @@ import android.view.KeyEvent import android.view.View import com.gh.common.constant.Constants import com.gh.common.util.EntranceUtils +import com.gh.common.util.EnvHelper import com.gh.common.util.IntentUtils import com.gh.gamecenter.entity.ConcernEntity import com.gh.gamecenter.entity.NewsEntity @@ -163,7 +164,7 @@ open class WebActivity : NormalActivity() { // 获取微信绑定页 @JvmStatic fun getBindWechatIntent(context: Context?): Intent { - val url: String = if ("internal" == BuildConfig.FLAVOR) { + val url: String = if (EnvHelper.isDevEnv) { Constants.WECHAT_BIND_ADDRESS_DEV } else { Constants.WECHAT_BIND_ADDRESS diff --git a/app/src/main/java/com/gh/gamecenter/amway/AmwayViewModel.kt b/app/src/main/java/com/gh/gamecenter/amway/AmwayViewModel.kt index d4b3fc1f0d..45a7cdcae3 100644 --- a/app/src/main/java/com/gh/gamecenter/amway/AmwayViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/amway/AmwayViewModel.kt @@ -95,7 +95,7 @@ class AmwayViewModel(application: Application) : ListViewModel>? = null) { - RetrofitManager.getInstance(getApplication()).sensitiveApi + RetrofitManager.getInstance(getApplication()).api .amwaySubjectList .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) diff --git a/app/src/main/java/com/gh/gamecenter/amway/search/AmwaySearchViewModel.kt b/app/src/main/java/com/gh/gamecenter/amway/search/AmwaySearchViewModel.kt index c6d329d4c1..27848af762 100644 --- a/app/src/main/java/com/gh/gamecenter/amway/search/AmwaySearchViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/amway/search/AmwaySearchViewModel.kt @@ -44,7 +44,7 @@ class AmwaySearchViewModel(application: Application) : AndroidViewModel(applicat loadStatus.postValue(LoadStatus.INIT_LOADING) RetrofitManager .getInstance(getApplication()).api - .getSearchGame(Config.SENSITIVE_API_HOST + "games:search?keyword=" + searchKey + "&view=anliwall" + "&channel=" + HaloApp.getInstance().channel + "&version" + BuildConfig.VERSION_NAME) + .getSearchGame(Config.API_HOST + "games:search?keyword=" + searchKey + "&view=anliwall" + "&channel=" + HaloApp.getInstance().channel + "&version" + BuildConfig.VERSION_NAME) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(object : Response>() { diff --git a/app/src/main/java/com/gh/gamecenter/catalog/NewCatalogListViewModel.kt b/app/src/main/java/com/gh/gamecenter/catalog/NewCatalogListViewModel.kt index 7e5aa12a25..bf89878769 100644 --- a/app/src/main/java/com/gh/gamecenter/catalog/NewCatalogListViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/catalog/NewCatalogListViewModel.kt @@ -26,7 +26,7 @@ class NewCatalogListViewModel(application: Application) : ListViewModel>? = null diff --git a/app/src/main/java/com/gh/gamecenter/category/CategoryDirectoryListViewModel.kt b/app/src/main/java/com/gh/gamecenter/category/CategoryDirectoryListViewModel.kt index e72bc34765..4ff812060e 100644 --- a/app/src/main/java/com/gh/gamecenter/category/CategoryDirectoryListViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/category/CategoryDirectoryListViewModel.kt @@ -15,6 +15,6 @@ class CategoryDirectoryListViewModel(application: Application) : ListViewModel> { - return RetrofitManager.getInstance(getApplication()).sensitiveApi.getCategories(categoryId, page) + return RetrofitManager.getInstance(getApplication()).api.getCategories(categoryId, page) } } \ No newline at end of file diff --git a/app/src/main/java/com/gh/gamecenter/category/NewCategoryListViewModel.kt b/app/src/main/java/com/gh/gamecenter/category/NewCategoryListViewModel.kt index 82beed61b4..4cd5ddef9d 100644 --- a/app/src/main/java/com/gh/gamecenter/category/NewCategoryListViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/category/NewCategoryListViewModel.kt @@ -32,7 +32,7 @@ class NewCategoryListViewModel(application: Application) override fun provideDataSingle(page: Int): Single> { return RetrofitManager.getInstance(getApplication()) - .sensitiveApi + .api .getGamesInCategory(selectedCategory.id, getSortType(), getSortSize(), page) } diff --git a/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragmentAdapter.java index 4860e8ba93..672b726dd6 100644 --- a/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragmentAdapter.java @@ -119,9 +119,9 @@ class GameUpdateFragmentAdapter extends BaseRecyclerAdapter implemen Object gh_id = PackageUtils.getMetaData(mContext, packageName, "gh_id"); Observable observable; if (gh_id == null) { - observable = RetrofitManager.getInstance(mContext).getSensitiveApi().getGameUpdate(UrlFilterUtils.getFilterQuery("packages", packageName)); + observable = RetrofitManager.getInstance(mContext).getApi().getGameUpdate(UrlFilterUtils.getFilterQuery("packages", packageName)); } else { - observable = RetrofitManager.getInstance(mContext).getSensitiveApi().getGameUpdateById((String) gh_id); + observable = RetrofitManager.getInstance(mContext).getApi().getGameUpdateById((String) gh_id); } observable.map(ApkActiveUtils.filterMapper) .subscribeOn(Schedulers.io()) diff --git a/app/src/main/java/com/gh/gamecenter/download/InstalledGameFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/download/InstalledGameFragmentAdapter.java index 377498b5b5..c0a215bf77 100644 --- a/app/src/main/java/com/gh/gamecenter/download/InstalledGameFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/download/InstalledGameFragmentAdapter.java @@ -16,7 +16,6 @@ import com.gh.common.util.DataCollectionUtils; import com.gh.common.util.DownloadItemUtils; import com.gh.common.util.ExtensionsKt; import com.gh.common.util.GameUtils; -import com.gh.common.util.ImageUtils; import com.gh.common.util.PackageUtils; import com.gh.common.util.PlatformUtils; import com.gh.common.util.ThirdPartyPackageHelper; @@ -140,7 +139,7 @@ public class InstalledGameFragmentAdapter extends BaseRecyclerAdapter> sequences = new ArrayList<>(); for (String id : ids) { - sequences.add(RetrofitManager.getInstance(mContext).getSensitiveApi().getGameDigest(id)); + sequences.add(RetrofitManager.getInstance(mContext).getApi().getGameDigest(id)); } Observable.mergeDelayError(sequences) .map(ApkActiveUtils.filterMapper) diff --git a/app/src/main/java/com/gh/gamecenter/download/InstalledGameViewModel.kt b/app/src/main/java/com/gh/gamecenter/download/InstalledGameViewModel.kt index d0063ee8c9..1c7cc7419d 100644 --- a/app/src/main/java/com/gh/gamecenter/download/InstalledGameViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/download/InstalledGameViewModel.kt @@ -82,7 +82,7 @@ class InstalledGameViewModel(application: Application) : AndroidViewModel(applic val result = ArrayList() val sequences = ArrayList>() for (id in ids) { - sequences.add(RetrofitManager.getInstance(getApplication()).sensitiveApi.getGameDigest(id)) + sequences.add(RetrofitManager.getInstance(getApplication()).api.getGameDigest(id)) } Observable.mergeDelayError(sequences) .map(ApkActiveUtils.filterMapper) diff --git a/app/src/main/java/com/gh/gamecenter/fragment/LoginFragment.java b/app/src/main/java/com/gh/gamecenter/fragment/LoginFragment.java index e913d8fd89..22b96c07cd 100644 --- a/app/src/main/java/com/gh/gamecenter/fragment/LoginFragment.java +++ b/app/src/main/java/com/gh/gamecenter/fragment/LoginFragment.java @@ -39,6 +39,7 @@ import com.gh.common.util.ClickUtils; import com.gh.common.util.DialogUtils; import com.gh.common.util.EnergyTaskHelper; import com.gh.common.util.EntranceUtils; +import com.gh.common.util.EnvHelper; import com.gh.common.util.ExtensionsKt; import com.gh.common.util.LogUtils; import com.gh.common.util.LoginHelper; @@ -165,7 +166,7 @@ LoginFragment extends NormalFragment implements LoginUtils.onCaptchaCallBackList mUserViewModel = ViewModelProviders.of(this, factory).get(UserViewModel.class); mUserViewModel.getLoginObsUserinfo().observe(this, this); - if (BuildConfig.DEBUG || BuildConfig.BUILD_TIME != 0) { + if (EnvHelper.isTestEnv()) { if (SPUtils.getBoolean(Constants.SP_HAS_COMPLETE_INVITE_CODE)) { mLoginInviteContainer.setVisibility(View.GONE); } else { diff --git a/app/src/main/java/com/gh/gamecenter/fragment/MainWrapperViewModel.kt b/app/src/main/java/com/gh/gamecenter/fragment/MainWrapperViewModel.kt index 4146dc225f..d4e3e629ac 100644 --- a/app/src/main/java/com/gh/gamecenter/fragment/MainWrapperViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/fragment/MainWrapperViewModel.kt @@ -25,7 +25,7 @@ import retrofit2.HttpException class MainWrapperViewModel(application: Application) : AndroidViewModel(application) { private val mApi = RetrofitManager.getInstance(getApplication()).api - private val mSensitiveApi = RetrofitManager.getInstance(application).sensitiveApi + private val mSensitiveApi = RetrofitManager.getInstance(application).api private var mLastRequestDiscoveryTime: Long = 0 private val mIntervalRequestDiscoveryData = 5 * 60 * 1000 // 5分钟的发现游戏动态请求间隔 diff --git a/app/src/main/java/com/gh/gamecenter/fragment/SearchToolbarFragment.java b/app/src/main/java/com/gh/gamecenter/fragment/SearchToolbarFragment.java index eff4e255b8..de8df5329b 100644 --- a/app/src/main/java/com/gh/gamecenter/fragment/SearchToolbarFragment.java +++ b/app/src/main/java/com/gh/gamecenter/fragment/SearchToolbarFragment.java @@ -29,6 +29,7 @@ import com.gh.common.util.DataCollectionUtils; import com.gh.common.util.DataUtils; import com.gh.common.util.DisplayUtils; import com.gh.common.util.EntranceUtils; +import com.gh.common.util.EnvHelper; import com.gh.common.util.IntegralLogHelper; import com.gh.common.util.LogUtils; import com.gh.common.util.MtaHelper; @@ -240,7 +241,7 @@ public class SearchToolbarFragment extends BaseLazyFragment implements View.OnCl view.findViewById(R.id.actionbar_notification).setOnClickListener(this); view.findViewById(R.id.actionbar_search_rl).setOnClickListener(this); - if (BuildConfig.DEBUG || BuildConfig.BUILD_TIME != 0) { + if (EnvHelper.isTestEnv()) { mSignView.setVisibility(View.VISIBLE); } else { mSignView.setVisibility(View.GONE); diff --git a/app/src/main/java/com/gh/gamecenter/game/GameViewModel.kt b/app/src/main/java/com/gh/gamecenter/game/GameViewModel.kt index f0508b495a..a6a687b526 100644 --- a/app/src/main/java/com/gh/gamecenter/game/GameViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/game/GameViewModel.kt @@ -41,7 +41,7 @@ class GameViewModel(application: Application, var blockData: SubjectRecommendEnt private var mSubjectPage = 1 // 专题分页 private var mIsLoading = false - private val mSensitiveApi = RetrofitManager.getInstance(application).sensitiveApi + private val mSensitiveApi = RetrofitManager.getInstance(application).api private var mOffsetMap: HashMap = hashMapOf() diff --git a/app/src/main/java/com/gh/gamecenter/game/columncollection/detail/ColumnCollectionDetailViewModel.kt b/app/src/main/java/com/gh/gamecenter/game/columncollection/detail/ColumnCollectionDetailViewModel.kt index fbcf9f53d5..f72a50cd6b 100644 --- a/app/src/main/java/com/gh/gamecenter/game/columncollection/detail/ColumnCollectionDetailViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/game/columncollection/detail/ColumnCollectionDetailViewModel.kt @@ -22,7 +22,7 @@ import retrofit2.HttpException class ColumnCollectionDetailViewModel(application: Application, private val mCollectionId: String) : ListViewModel(application) { - private val mSensitiveApi = RetrofitManager.getInstance(HaloApp.getInstance().application).sensitiveApi + private val mSensitiveApi = RetrofitManager.getInstance(HaloApp.getInstance().application).api val collectionId: String get() = mCollectionId diff --git a/app/src/main/java/com/gh/gamecenter/game/upload/GameResourcePolicyDialogFragment.kt b/app/src/main/java/com/gh/gamecenter/game/upload/GameResourcePolicyDialogFragment.kt index 56a3fc162d..f3be1f8fe9 100644 --- a/app/src/main/java/com/gh/gamecenter/game/upload/GameResourcePolicyDialogFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/game/upload/GameResourcePolicyDialogFragment.kt @@ -11,11 +11,11 @@ import android.webkit.WebViewClient import android.widget.TextView import com.gh.base.fragment.BaseDialogFragment import com.gh.common.DefaultJsApi +import com.gh.common.util.EnvHelper import com.gh.common.util.MtaHelper import com.gh.common.util.dip2px import com.gh.common.util.tryWithDefaultCatch import com.gh.common.view.dsbridge.DWebView -import com.gh.gamecenter.BuildConfig import com.gh.gamecenter.R /** @@ -44,7 +44,7 @@ class GameResourcePolicyDialogFragment : BaseDialogFragment() { settings?.safeBrowsingEnabled = false } } - DWebView.setWebContentsDebuggingEnabled(BuildConfig.DEBUG || "internal" == BuildConfig.FLAVOR) + DWebView.setWebContentsDebuggingEnabled(EnvHelper.isTestEnv()) // 适配大于屏幕宽度的页面 settings?.useWideViewPort = true diff --git a/app/src/main/java/com/gh/gamecenter/gamecollection/choose/AddSearchGameFragment.kt b/app/src/main/java/com/gh/gamecenter/gamecollection/choose/AddSearchGameFragment.kt index b96047e3c5..bd8b18f471 100644 --- a/app/src/main/java/com/gh/gamecenter/gamecollection/choose/AddSearchGameFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/gamecollection/choose/AddSearchGameFragment.kt @@ -5,10 +5,8 @@ import android.view.View import androidx.core.widget.doOnTextChanged import androidx.recyclerview.widget.RecyclerView import com.gh.common.constant.Config -import com.gh.common.util.goneIf import com.gh.common.util.viewModelProvider import com.gh.gamecenter.BuildConfig -import com.gh.gamecenter.R import com.gh.gamecenter.SuggestionActivity import com.gh.gamecenter.databinding.FragmentSearchGameBinding import com.gh.gamecenter.entity.GameEntity @@ -62,7 +60,7 @@ class AddSearchGameFragment : GameFragment() { override fun provideDataObservable(page: Int): Observable>? { return RetrofitManager .getInstance(requireContext()).api - .getSearchGame(Config.SENSITIVE_API_HOST + "games:search?keyword=" + searchEt.text + "&view=digest" + "&from=game_list" + "&page=" + page + "&channel=" + HaloApp.getInstance().channel + "&version=" + BuildConfig.VERSION_NAME) + .getSearchGame(Config.API_HOST + "games:search?keyword=" + searchEt.text + "&view=digest" + "&from=game_list" + "&page=" + page + "&channel=" + HaloApp.getInstance().channel + "&version=" + BuildConfig.VERSION_NAME) } override fun getItemDecoration(): RecyclerView.ItemDecoration? { diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailViewModel.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailViewModel.kt index 1a5748276b..56bf9a2972 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailViewModel.kt @@ -42,7 +42,7 @@ class GameDetailViewModel(application: Application, } private val mApi = RetrofitManager.getInstance(getApplication()).api - private val mSensitiveApi = RetrofitManager.getInstance(application).sensitiveApi + private val mSensitiveApi = RetrofitManager.getInstance(application).api val concernLiveData = MutableLiveData() val gameLiveData = MutableLiveData>() diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescViewModel.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescViewModel.kt index 0510f65275..7c859cde71 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescViewModel.kt @@ -81,7 +81,7 @@ class DescViewModel(application: Application, val result = ArrayList() val sequences = ArrayList>() for (id in idList) { - sequences.add(RetrofitManager.getInstance(getApplication()).sensitiveApi.getGameDigest(id)) + sequences.add(RetrofitManager.getInstance(getApplication()).api.getGameDigest(id)) } Observable.mergeDelayError(sequences) .map(ApkActiveUtils.filterMapper) diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/kaifu/ServersCalendarViewModel.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/kaifu/ServersCalendarViewModel.kt index b90b12af50..52afe153b1 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/kaifu/ServersCalendarViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/fuli/kaifu/ServersCalendarViewModel.kt @@ -48,7 +48,7 @@ class ServersCalendarViewModel(application: Application, @SuppressLint("CheckResult") fun loadServerData(isMirror: Boolean = false) { - RetrofitManager.getInstance(getApplication()).sensitiveApi + RetrofitManager.getInstance(getApplication()).api .getGameServerCalendar(game.id, if (isMirror) "mirror" else "") .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/history/HistoryApkListViewModel.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/history/HistoryApkListViewModel.kt index 086398875e..500b1ee96e 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/history/HistoryApkListViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/history/HistoryApkListViewModel.kt @@ -31,11 +31,11 @@ class HistoryApkListViewModel(application: Application, var gameId: String, var override fun provideDataObservable(page: Int) = null override fun provideDataSingle(page: Int): Single> { - return RetrofitManager.getInstance(getApplication()).sensitiveApi.getHistoryApks(gameId, page) + return RetrofitManager.getInstance(getApplication()).api.getHistoryApks(gameId, page) } fun getGameDigest() { - RetrofitManager.getInstance(getApplication()).sensitiveApi + RetrofitManager.getInstance(getApplication()).api .getGameDigest(gameId) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/rating/RatingReplyViewModel.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/rating/RatingReplyViewModel.kt index 0257e3f069..7e1ed23748 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/rating/RatingReplyViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/rating/RatingReplyViewModel.kt @@ -36,7 +36,7 @@ class RatingReplyViewModel(application: Application, var showKeyboardIfReplyIsEmpty: Boolean) : ListViewModel(application) { private val mApi = RetrofitManager.getInstance(getApplication()).api - private val mSensitiveApi = RetrofitManager.getInstance(application).sensitiveApi + private val mSensitiveApi = RetrofitManager.getInstance(application).api private val mRealLoadStatusLiveData = MediatorLiveData() val headDataLiveData = MediatorLiveData() diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/rating/edit/RatingEditActivity.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/rating/edit/RatingEditActivity.kt index 2016d02f86..c80bcfa85a 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/rating/edit/RatingEditActivity.kt +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/rating/edit/RatingEditActivity.kt @@ -154,7 +154,7 @@ class RatingEditActivity : ToolBarActivity(), KeyboardHeightObserver { settings.safeBrowsingEnabled = false } } - DWebView.setWebContentsDebuggingEnabled(BuildConfig.DEBUG || "internal" == BuildConfig.FLAVOR) + DWebView.setWebContentsDebuggingEnabled(EnvHelper.isTestEnv()) // 适配大于屏幕宽度的页面 settings.useWideViewPort = true diff --git a/app/src/main/java/com/gh/gamecenter/help/HelpContentAdapter.kt b/app/src/main/java/com/gh/gamecenter/help/HelpContentAdapter.kt index f1da3c7cf6..4d36d46aef 100644 --- a/app/src/main/java/com/gh/gamecenter/help/HelpContentAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/help/HelpContentAdapter.kt @@ -9,7 +9,6 @@ import androidx.recyclerview.widget.RecyclerView import com.gh.common.constant.Constants import com.gh.common.constant.ItemViewType import com.gh.common.util.* -import com.gh.gamecenter.BuildConfig import com.gh.gamecenter.QaActivity import com.gh.gamecenter.R import com.gh.gamecenter.WebActivity @@ -97,7 +96,7 @@ class HelpContentAdapter( ) ) } else { - val url = if ("internal" == BuildConfig.FLAVOR) { + val url = if (EnvHelper.isDevEnv) { Constants.HELP_ADDRESS_DEV } else { Constants.HELP_ADDRESS diff --git a/app/src/main/java/com/gh/gamecenter/help/HelpQaAdapter.kt b/app/src/main/java/com/gh/gamecenter/help/HelpQaAdapter.kt index fbe0686f62..a92940ca9d 100644 --- a/app/src/main/java/com/gh/gamecenter/help/HelpQaAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/help/HelpQaAdapter.kt @@ -9,11 +9,7 @@ import android.widget.TextView import androidx.core.content.ContextCompat import androidx.recyclerview.widget.RecyclerView import com.gh.common.constant.Constants -import com.gh.common.util.HtmlUtils -import com.gh.common.util.MtaHelper -import com.gh.common.util.NewLogUtils -import com.gh.common.util.dip2px -import com.gh.gamecenter.BuildConfig +import com.gh.common.util.* import com.gh.gamecenter.R import com.gh.gamecenter.WebActivity import com.gh.gamecenter.entity.HelpCategoryEntity @@ -44,7 +40,7 @@ class HelpQaAdapter(val context: Context, val helpCategoryEntity: HelpCategoryEn if (helpEntity.content.startsWith("http")) { context.startActivity(WebActivity.getIntent(context, helpEntity.content, false)) } else { - val url = if ("internal" == BuildConfig.FLAVOR) { + val url = if (EnvHelper.isDevEnv) { Constants.HELP_ADDRESS_DEV } else { Constants.HELP_ADDRESS diff --git a/app/src/main/java/com/gh/gamecenter/home/HomeViewModel.kt b/app/src/main/java/com/gh/gamecenter/home/HomeViewModel.kt index 61c3bccd7a..691062445d 100644 --- a/app/src/main/java/com/gh/gamecenter/home/HomeViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/home/HomeViewModel.kt @@ -31,7 +31,7 @@ import kotlin.collections.set class HomeViewModel(application: Application) : AndroidViewModel(application) { - private val mSensitiveApi = RetrofitManager.getInstance(application).sensitiveApi + private val mSensitiveApi = RetrofitManager.getInstance(application).api private var mSnapshotItemList = ArrayList() private val mSubjectChangedMap: ArrayMap> = ArrayMap() // 存储换一换的数据 diff --git a/app/src/main/java/com/gh/gamecenter/manager/UserManager.java b/app/src/main/java/com/gh/gamecenter/manager/UserManager.java index 80b30769dc..b9bbfd1d7c 100644 --- a/app/src/main/java/com/gh/gamecenter/manager/UserManager.java +++ b/app/src/main/java/com/gh/gamecenter/manager/UserManager.java @@ -53,8 +53,6 @@ public class UserManager { private SharedPreferences mSp; - private ApiService mApiService; - @Nullable private UserInfoEntity mUserInfoEntity; private LoginTokenEntity mLoginTokenEntity; @@ -75,7 +73,6 @@ public class UserManager { private UserManager() { mSp = PreferenceManager.getDefaultSharedPreferences(HaloApp.getInstance().getApplication()); - mApiService = RetrofitManager.getInstance(HaloApp.getInstance().getApplication()).getApi(); deviceId = mSp.getString(Constants.DEVICE_KEY, ""); } @@ -181,7 +178,7 @@ public class UserManager { } catch (JSONException e) { e.printStackTrace(); } - mApiService + getApiService() .refreshToken(BuildConfig.API_HOST + "tokens:refresh", body) .subscribe(new Response() { @Override @@ -289,7 +286,7 @@ public class UserManager { @SuppressLint("CheckResult") public void refreshUserRegulationTestStatus() { if ("on".equals(SPUtils.getString(Constants.SP_REGULATION_TEST_STATUS, "off"))) { - mApiService.getUserRegulationTestStatus(UserManager.getInstance().getUserId()) + getApiService().getUserRegulationTestStatus(UserManager.getInstance().getUserId()) .subscribeOn(Schedulers.io()) .subscribe(new BiResponse() { @Override @@ -306,7 +303,7 @@ public class UserManager { } private void refreshUserInfo(final refreshCallBack callBack) { - mApiService + getApiService() .getRetryUserInfo(BuildConfig.API_HOST + "tokens:validate", "retry") .subscribe(new Response() { @Override @@ -352,6 +349,10 @@ public class UserManager { SPUtils.setString(mSp, Constants.USER_INFO_KEY, GsonUtils.toJson(userInfo)); } + private ApiService getApiService() { + return RetrofitManager.getInstance(HaloApp.getInstance().getApplication()).getApi(); + } + public boolean userShouldTakeRegulationBaseOnLastRemind() { long lastRemindTime = SPUtils.getLong(Constants.SP_REGULATION_TEST_LAST_REMIND_TIME + UserManager.getInstance().getUserId(), 0); diff --git a/app/src/main/java/com/gh/gamecenter/packagehelper/PackageRepository.kt b/app/src/main/java/com/gh/gamecenter/packagehelper/PackageRepository.kt index 3e764ba6cc..f48442d399 100644 --- a/app/src/main/java/com/gh/gamecenter/packagehelper/PackageRepository.kt +++ b/app/src/main/java/com/gh/gamecenter/packagehelper/PackageRepository.kt @@ -46,7 +46,7 @@ object PackageRepository { private val mApplication = HaloApp.getInstance().application private val mApi = RetrofitManager.getInstance(mApplication).api - private val mSensitiveApi = RetrofitManager.getInstance(mApplication).sensitiveApi + private val mSensitiveApi = RetrofitManager.getInstance(mApplication).api private const val LAST_UPLOAD_APPLIST_TIME = "last_upload_applist_time" diff --git a/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.kt b/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.kt index e129959036..2cc6f22544 100644 --- a/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.kt @@ -33,7 +33,6 @@ import com.gh.common.util.SPUtils.setLong import com.gh.common.util.TimeUtils.getStartTimeOfDay import com.gh.common.util.ToastUtils.showToast import com.gh.common.view.VerticalItemDecoration -import com.gh.gamecenter.BuildConfig import com.gh.gamecenter.MessageActivity import com.gh.gamecenter.R import com.gh.gamecenter.databinding.FragmentPersonalBinding @@ -217,7 +216,7 @@ class PersonalFragment : BaseLazyFragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - if (BuildConfig.DEBUG || BuildConfig.BUILD_TIME != 0L) { + if (EnvHelper.isTestEnv()) { val indicator = requireActivity() .window .decorView diff --git a/app/src/main/java/com/gh/gamecenter/personalhome/UserHomeFragment.kt b/app/src/main/java/com/gh/gamecenter/personalhome/UserHomeFragment.kt index 0549a8ef36..11572fd264 100644 --- a/app/src/main/java/com/gh/gamecenter/personalhome/UserHomeFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/personalhome/UserHomeFragment.kt @@ -86,7 +86,7 @@ class UserHomeFragment : NormalFragment() { getUserInfo() getBadgeList() getUserPlayedGameCount() - if (BuildConfig.DEBUG || BuildConfig.BUILD_TIME != 0L) { + if (EnvHelper.isTestEnv()) { getUserLevel() } } @@ -738,7 +738,7 @@ class UserHomeFragment : NormalFragment() { ShareUtils.getInstance(requireContext()).showShareUserHomeWindows( requireActivity(), mHomeBinding?.root, - if ("internal" == BuildConfig.FLAVOR) { + if (EnvHelper.isDevEnv) { Constants.SHARE_USER_HOME_ADDRESS_DEV } else { Constants.SHARE_USER_HOME_ADDRESS diff --git a/app/src/main/java/com/gh/gamecenter/qa/editor/GameFragment.kt b/app/src/main/java/com/gh/gamecenter/qa/editor/GameFragment.kt index f7ae8b0175..4198b325dc 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/editor/GameFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/editor/GameFragment.kt @@ -160,7 +160,7 @@ open class GameFragment : ListFragment>? { return RetrofitManager .getInstance(requireContext()).api - .getSearchGame(Config.SENSITIVE_API_HOST + "games:search?keyword=" + searchEt.text + "&view=digest" + "&channel=" + HaloApp.getInstance().channel + "&version=" + BuildConfig.VERSION_NAME) + .getSearchGame(Config.API_HOST + "games:search?keyword=" + searchEt.text + "&view=digest" + "&channel=" + HaloApp.getInstance().channel + "&version=" + BuildConfig.VERSION_NAME) } override fun provideListViewModel(): NormalListViewModel { diff --git a/app/src/main/java/com/gh/gamecenter/retrofit/RetrofitManager.java b/app/src/main/java/com/gh/gamecenter/retrofit/RetrofitManager.java index fc192b4ca4..9e8d881963 100644 --- a/app/src/main/java/com/gh/gamecenter/retrofit/RetrofitManager.java +++ b/app/src/main/java/com/gh/gamecenter/retrofit/RetrofitManager.java @@ -6,6 +6,7 @@ import com.chuckerteam.chucker.api.ChuckerCollector; import com.chuckerteam.chucker.api.ChuckerInterceptor; import com.chuckerteam.chucker.api.RetentionManager; import com.gh.common.constant.Config; +import com.gh.common.util.EnvHelper; import com.gh.gamecenter.Injection; import com.gh.gamecenter.retrofit.service.ApiService; @@ -29,9 +30,8 @@ public class RetrofitManager { private static final int NORMAL_READ_TIME_OUT = 5; private static final int UPLOAD_CALL_TIME_OUT = 20; // 图片上传超时时间 private static final byte[] LOCK = new byte[0]; - private ApiService mApiService; - private ApiService mUploadApiService; - private ApiService mSensitiveApiService; + private final ApiService mApiService; + private final ApiService mUploadApiService; public static T provideService(OkHttpClient client, String url, Class serviceCls) { return new Retrofit.Builder() @@ -43,9 +43,12 @@ public class RetrofitManager { private RetrofitManager(Context context) { OkHttpClient okHttpNormalConfig = getOkHttpConfig(context, 0, 2); - mApiService = provideService(okHttpNormalConfig, Config.API_HOST, ApiService.class); + if (EnvHelper.isDevEnv()) { + mApiService = provideService(okHttpNormalConfig, Config.DEV_API_HOST, ApiService.class); + } else { + mApiService = provideService(okHttpNormalConfig, Config.API_HOST, ApiService.class); + } mUploadApiService = provideService(getOkHttpConfig(context, UPLOAD_CALL_TIME_OUT, 1), Config.API_HOST, ApiService.class); - mSensitiveApiService = mApiService; } private OkHttpClient getOkHttpConfig(Context context, int callTimeout, int maxRetryCount) { @@ -79,10 +82,6 @@ public class RetrofitManager { return mApiService; } - public ApiService getSensitiveApi() { - return mSensitiveApiService; - } - public ApiService getUploadApi() { return mUploadApiService; } diff --git a/app/src/main/java/com/gh/gamecenter/search/SearchGameResultViewModel.kt b/app/src/main/java/com/gh/gamecenter/search/SearchGameResultViewModel.kt index bec37f84e8..e230b7f7e2 100644 --- a/app/src/main/java/com/gh/gamecenter/search/SearchGameResultViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/search/SearchGameResultViewModel.kt @@ -47,7 +47,7 @@ class SearchGameResultViewModel(application: Application) : ListViewModel> { mPage = page return mApi.getSearchGame( - Config.SENSITIVE_API_HOST + "games:search?keyword=" + + Config.API_HOST + "games:search?keyword=" + key + "&view=digest&page=" + page + "&channel=" + HaloApp.getInstance().channel + "&version" + BuildConfig.VERSION_NAME diff --git a/app/src/main/java/com/gh/gamecenter/security/SecurityFragment.kt b/app/src/main/java/com/gh/gamecenter/security/SecurityFragment.kt index 4b3aad6348..6f4e4718f6 100644 --- a/app/src/main/java/com/gh/gamecenter/security/SecurityFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/security/SecurityFragment.kt @@ -7,7 +7,7 @@ import android.widget.TextView import butterknife.OnClick import com.gh.common.constant.Constants import com.gh.common.util.DirectUtils -import com.gh.gamecenter.BuildConfig +import com.gh.common.util.EnvHelper import com.gh.gamecenter.R import com.gh.gamecenter.eventbus.EBReuse import com.gh.gamecenter.manager.UserManager @@ -46,7 +46,7 @@ class SecurityFragment : NormalFragment() { mSecuritySafeCenterDivider.visibility = View.GONE mSecuritySafeCenterTv.text = "注销帐号" mSecuritySafeCenterContainer.setOnClickListener { - if ("internal" == BuildConfig.FLAVOR) { + if (EnvHelper.isDevEnv) { DirectUtils.directToWebView(requireContext(), Constants.LOGOUT_ADDRESS_DEV, mEntrance) } else { DirectUtils.directToWebView(requireContext(), Constants.LOGOUT_ADDRESS, mEntrance) diff --git a/app/src/main/java/com/gh/gamecenter/servers/GameServersContentViewModel.kt b/app/src/main/java/com/gh/gamecenter/servers/GameServersContentViewModel.kt index ce8af17fcc..4264404fad 100644 --- a/app/src/main/java/com/gh/gamecenter/servers/GameServersContentViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/servers/GameServersContentViewModel.kt @@ -56,7 +56,7 @@ class GameServersContentViewModel(application: Application) val filterQuery = UrlFilterUtils.getFilterQuery("day", day, "hour", hour, "tag", tags, "action", action, "prev_server_id", prevId, "next_server_id", nextId) - RetrofitManager.getInstance(HaloApp.getInstance()).sensitiveApi + RetrofitManager.getInstance(HaloApp.getInstance()).api .getGameServers(filterQuery) // .map(RegionSettingHelper.filterGame) // .map(ApkActiveUtils.filterMapperList) diff --git a/app/src/main/java/com/gh/gamecenter/servers/GameServersPublishFragment.kt b/app/src/main/java/com/gh/gamecenter/servers/GameServersPublishFragment.kt index d7deb31e19..22da0d30d0 100644 --- a/app/src/main/java/com/gh/gamecenter/servers/GameServersPublishFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/servers/GameServersPublishFragment.kt @@ -80,7 +80,7 @@ class GameServersPublishFragment : LazyFragment() { @SuppressLint("CheckResult") private fun loadServerFilterTag() { - RetrofitManager.getInstance(context).sensitiveApi + RetrofitManager.getInstance(context).api .serverFilterTag .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) diff --git a/app/src/main/java/com/gh/gamecenter/subject/SubjectListViewModel.kt b/app/src/main/java/com/gh/gamecenter/subject/SubjectListViewModel.kt index 56d7a6697f..b015fd57d2 100644 --- a/app/src/main/java/com/gh/gamecenter/subject/SubjectListViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/subject/SubjectListViewModel.kt @@ -32,7 +32,7 @@ class SubjectListViewModel(application: Application, override fun provideDataObservable(page: Int): Observable>? = null override fun provideDataSingle(page: Int): Single> { - return RetrofitManager.getInstance(getApplication()).sensitiveApi.getColumn( + return RetrofitManager.getInstance(getApplication()).api.getColumn( subjectData.subjectId, subjectData.sort, if (subjectData.filter.isEmpty()) "type:全部" else subjectData.filter, @@ -53,7 +53,7 @@ class SubjectListViewModel(application: Application, private fun updateSubjectSettingBeforeInitialLoad() { // 无论是否加载成功都回落到普通的专题列表加载 - RetrofitManager.getInstance(getApplication()).sensitiveApi + RetrofitManager.getInstance(getApplication()).api .getColumnSettings(subjectData.subjectId) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) diff --git a/app/src/main/java/com/gh/gamecenter/subject/SubjectViewModel.kt b/app/src/main/java/com/gh/gamecenter/subject/SubjectViewModel.kt index 01cf91bb45..dd6f6247f6 100644 --- a/app/src/main/java/com/gh/gamecenter/subject/SubjectViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/subject/SubjectViewModel.kt @@ -40,7 +40,7 @@ class SubjectViewModel(application: Application, var subjectData: SubjectData?) } private fun loadSubjectName() { - RetrofitManager.getInstance(getApplication()).sensitiveApi + RetrofitManager.getInstance(getApplication()).api .getSubjectName(subjectData?.subjectId) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) @@ -65,7 +65,7 @@ class SubjectViewModel(application: Application, var subjectData: SubjectData?) } private fun loadSubjectType() { - RetrofitManager.getInstance(getApplication()).sensitiveApi + RetrofitManager.getInstance(getApplication()).api .getColumnSettings(subjectData?.subjectId) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) diff --git a/app/src/main/java/com/gh/gamecenter/tag/TagsListViewModel.kt b/app/src/main/java/com/gh/gamecenter/tag/TagsListViewModel.kt index d378b15b3e..a16cf117c3 100644 --- a/app/src/main/java/com/gh/gamecenter/tag/TagsListViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/tag/TagsListViewModel.kt @@ -37,7 +37,7 @@ class TagsListViewModel(application: Application) : ListViewModel> { return RetrofitManager.getInstance(getApplication()) - .sensitiveApi + .api .getGamesWithSpecificTag(getSortSize(), getSortType(), page) } @@ -72,7 +72,7 @@ class TagsListViewModel(application: Application) : ListViewModel { MtaHelper.onEvent("我的光环_设置", "关于光环", "图标长按"); - toast(HaloApp.getInstance().getChannel()); + if (EnvHelper.isTestEnv()) { + DialogHelper.showDialog(requireContext(), + "重选接口环境", + "是否要清空应用数据并重选接口环境\n(清空后数据后需要手动再打开 APP)", + "是", + "否", + () -> { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + ((ActivityManager) (requireContext().getSystemService(Context.ACTIVITY_SERVICE))).clearApplicationUserData(); + } else { + ToastUtils.toast("低版本系统不支持自动清空应用数据,请手动到应用管理里清除"); + } + }, + () -> { + }, + false, + "", + ""); + } else { + toast(HaloApp.getInstance().getChannel()); + } return false; }); } @@ -139,7 +166,7 @@ public class AboutFragment extends NormalFragment { // if (!TextUtils.isEmpty(tinkerId)) { // mVersionName.setText(("V" + PackageUtils.getVersionName() + "." + tinkerId)); // } else { - toastLong(R.string.toast_upload_latest); + toastLong(R.string.toast_upload_latest); // } } return false; diff --git a/app/src/main/java/com/halo/assistant/fragment/WebFragment.kt b/app/src/main/java/com/halo/assistant/fragment/WebFragment.kt index 3b3f8385e3..ac2c1b8dd4 100644 --- a/app/src/main/java/com/halo/assistant/fragment/WebFragment.kt +++ b/app/src/main/java/com/halo/assistant/fragment/WebFragment.kt @@ -32,7 +32,6 @@ import com.gh.common.util.MtaHelper.onEvent import com.gh.common.util.MtaHelper.onEventWithTime import com.gh.common.util.PermissionHelper.checkStoragePermissionBeforeAction import com.gh.common.view.dsbridge.DWebView -import com.gh.gamecenter.BuildConfig import com.gh.gamecenter.MessageDetailActivity import com.gh.gamecenter.R import com.gh.gamecenter.WebActivity @@ -308,7 +307,7 @@ class WebFragment : LazyFragment(), IScrollable { mTimeElapsedHelper = TimeElapsedHelper(this@WebFragment) - DWebView.setWebContentsDebuggingEnabled(BuildConfig.DEBUG || "internal" == BuildConfig.FLAVOR) + DWebView.setWebContentsDebuggingEnabled(EnvHelper.isTestEnv()) // 适配大于屏幕宽度的页面 settings.useWideViewPort = true diff --git a/app/src/main/java/com/halo/assistant/fragment/myconcern/MyConcernRecommendAdapter.java b/app/src/main/java/com/halo/assistant/fragment/myconcern/MyConcernRecommendAdapter.java index db0147c4b4..481d847a70 100644 --- a/app/src/main/java/com/halo/assistant/fragment/myconcern/MyConcernRecommendAdapter.java +++ b/app/src/main/java/com/halo/assistant/fragment/myconcern/MyConcernRecommendAdapter.java @@ -4,7 +4,6 @@ import android.content.Context; import android.graphics.Color; import android.view.View; import android.view.ViewGroup; -import android.widget.Toast; import androidx.annotation.Nullable; @@ -78,7 +77,7 @@ public class MyConcernRecommendAdapter extends BaseRecyclerAdapter