diff --git a/app/src/main/java/com/gh/common/util/DataUtils.java b/app/src/main/java/com/gh/common/util/DataUtils.java index b9f96d3246..38b5f6ce5a 100644 --- a/app/src/main/java/com/gh/common/util/DataUtils.java +++ b/app/src/main/java/com/gh/common/util/DataUtils.java @@ -13,7 +13,6 @@ import com.therouter.TheRouter; import com.gh.ad.AdDelegateHelper; import com.gh.gamecenter.BuildConfig; import com.gh.gamecenter.common.constant.Constants; -import com.gh.gamecenter.common.constant.RouteConsts; import com.gh.gamecenter.common.exposure.meta.MetaUtil; import com.gh.gamecenter.common.retrofit.BiResponse; import com.gh.gamecenter.common.utils.SensorsBridge; @@ -150,6 +149,7 @@ public class DataUtils { /** * 获取应用 gid 绑定的实名信息 */ + // TODO 这个方法启动时会被调用多次,后面考虑优化优化 @SuppressLint("CheckResult") public static void getDeviceCertification(String gid) { RetrofitManager.getInstance() diff --git a/app/src/main/java/com/halo/assistant/HaloApp.java b/app/src/main/java/com/halo/assistant/HaloApp.java index 7acb50d164..f7dcd4adae 100644 --- a/app/src/main/java/com/halo/assistant/HaloApp.java +++ b/app/src/main/java/com/halo/assistant/HaloApp.java @@ -330,6 +330,10 @@ public class HaloApp extends MultiDexApplication { SignatureRepository.INSTANCE.init(); + // 刷新内存中的用户信息,避免应用进程重建时因没有用户信息数据而显示为掉登录状态 + // 同时避免请求实名信息时没有用户信息导致实名信息变更为设备实名的问题 + UserRepository.getInstance().init(); + // 获取/更新 GID 和 读 SP 的操作不需要 delay DataUtils.getGid(); @@ -370,10 +374,6 @@ public class HaloApp extends MultiDexApplication { HaloApp.getInstance().setLocalTemporaryDeviceId(localTemporaryDeviceId); } - // 刷新内存中的用户信息,避免应用进程重建时因没有用户信息数据而显示为掉登录状态 - // 必须放在外面,否则不能及时刷新用户数据 - UserRepository.getInstance().getLoginUserInfo(); - // 初始化下载服务,恢复下载任务 DownloadManager.getInstance().initDownloadService(); diff --git a/module_login/src/main/java/com/gh/gamecenter/login/user/UserRepository.java b/module_login/src/main/java/com/gh/gamecenter/login/user/UserRepository.java index a16413d46c..248d550549 100644 --- a/module_login/src/main/java/com/gh/gamecenter/login/user/UserRepository.java +++ b/module_login/src/main/java/com/gh/gamecenter/login/user/UserRepository.java @@ -99,6 +99,10 @@ public class UserRepository { checkLogin(); } + public void init() { + getLoginUserInfo(); + } + protected void checkLogin() { LoginTokenEntity tokenEntity = null; String userToken = mPreferences.getString(Constants.USER_TOKEN_KEY, null);