diff --git a/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java b/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java index 0a49adbe62..02bb6d885d 100644 --- a/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java +++ b/app/src/main/java/com/gh/gamecenter/SplashScreenActivity.java @@ -27,7 +27,6 @@ import com.gh.common.util.TagUtils; import com.gh.common.util.TimestampUtils; import com.gh.download.DownloadManager; import com.gh.gamecenter.manager.FilterManager; -import com.gh.gamecenter.room.AppDatabase; import com.gh.gamecenter.user.UserRepository; import com.lightgame.download.FileUtils; import com.lightgame.utils.AppManager; @@ -90,7 +89,7 @@ public class SplashScreenActivity extends BaseActivity { super.onCreate(savedInstanceState); - UserRepository.getInstance(AppDatabase.getInstance(getApplication()), getApplication()); // 初始化登录 + UserRepository.getInstance(getApplication()); // 初始化登录 // if (!AppManager.getInstance().isEmpty()) { // redirectAndFinish(getRedirectIntents(this, getIntent().getData())); 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 d4bd285f8c..7ec2670b36 100644 --- a/app/src/main/java/com/gh/gamecenter/manager/UserManager.java +++ b/app/src/main/java/com/gh/gamecenter/manager/UserManager.java @@ -16,12 +16,11 @@ import com.gh.gamecenter.entity.CommunityEntity; import com.gh.gamecenter.entity.LoginTokenEntity; import com.gh.gamecenter.entity.TokenEntity; import com.gh.gamecenter.entity.UserInfoEntity; -import com.gh.gamecenter.eventbus.EBReuse; import com.gh.gamecenter.eventbus.EBShowDialog; -import com.gh.gamecenter.personal.PersonalFragment; import com.gh.gamecenter.retrofit.Response; import com.gh.gamecenter.retrofit.RetrofitManager; import com.gh.gamecenter.retrofit.service.ApiService; +import com.gh.gamecenter.user.UserRepository; import com.halo.assistant.HaloApp; import com.lightgame.utils.Util_System_Phone_State; import com.lightgame.utils.Utils; @@ -141,7 +140,7 @@ public class UserManager { TokenEntity refreshToken = tokenEntity.getRefreshToken(); if (refreshToken.getExpire() < Utils.getTime(HaloApp.getInstance().getApplication())) { Utils.toast(HaloApp.getInstance().getApplication(), "账号过期,请重新登录!"); - EventBus.getDefault().post(new EBReuse(PersonalFragment.LOGOUT_TAG)); + UserRepository.getInstance(HaloApp.getInstance().getApplication()).logout(); callBack.onLoginFailure(); return; } @@ -204,8 +203,8 @@ public class UserManager { "Android版本", Build.VERSION.RELEASE ); - logout(); - EventBus.getDefault().post(new EBReuse(PersonalFragment.LOGOUT_TAG)); + UserRepository.getInstance(HaloApp.getInstance().getApplication()).logout(); + DataUtils.onMtaEvent(HaloApp.getInstance().getApplication(), "登录异常统计_自动登录" , "错误码_RefreshToken", code + "_" + refreshToken.getValue() , "网络状态", DeviceUtils.getNetwork(HaloApp.getInstance().getApplication()) diff --git a/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java b/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java index 5ffdb235d4..12e448574a 100644 --- a/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java +++ b/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java @@ -257,8 +257,6 @@ public class PersonalFragment extends BaseFragment implements Observer(infoEntity)); cacheAndNotifyUserInfo(infoEntity, false); } else if (!TextUtils.isEmpty(mCachedId)) { //针对旧版本的数据迁移 final LiveData liveUserInfo = mAppDatabase.userInfoDao().getLiveUserInfoById(mCachedId); diff --git a/app/src/main/java/com/gh/gamecenter/user/UserViewModel.java b/app/src/main/java/com/gh/gamecenter/user/UserViewModel.java index 3886712be9..56550cbc2d 100644 --- a/app/src/main/java/com/gh/gamecenter/user/UserViewModel.java +++ b/app/src/main/java/com/gh/gamecenter/user/UserViewModel.java @@ -9,7 +9,6 @@ import android.support.annotation.NonNull; import android.text.TextUtils; import com.gh.gamecenter.entity.UserInfoEntity; -import com.gh.gamecenter.room.AppDatabase; import org.json.JSONObject; @@ -68,6 +67,8 @@ public class UserViewModel extends AndroidViewModel { mUserRepository.changeUserInfo(content, type); } + // 用EventBus通知退出登录会存在事件丢失问题(页面没创建),暂时直接调UserRepository做退出登录处理 + @Deprecated public void logout() { mUserRepository.logout(); } @@ -80,7 +81,7 @@ public class UserViewModel extends AndroidViewModel { public Factory(@NonNull Application application) { mApplication = application; - mRepository = UserRepository.getInstance(AppDatabase.getInstance(application), application); + mRepository = UserRepository.getInstance(application); } @Override diff --git a/app/src/main/java/com/halo/assistant/fragment/SettingsFragment.java b/app/src/main/java/com/halo/assistant/fragment/SettingsFragment.java index 8750c74933..07b20a4ed8 100644 --- a/app/src/main/java/com/halo/assistant/fragment/SettingsFragment.java +++ b/app/src/main/java/com/halo/assistant/fragment/SettingsFragment.java @@ -35,7 +35,8 @@ import com.gh.gamecenter.eventbus.EBReuse; import com.gh.gamecenter.eventbus.EBSkip; import com.gh.gamecenter.manager.UserManager; import com.gh.gamecenter.normal.NormalFragment; -import com.gh.gamecenter.personal.PersonalFragment; +import com.gh.gamecenter.user.UserRepository; +import com.halo.assistant.HaloApp; import com.kyleduo.switchbutton.SwitchButton; import com.lightgame.download.FileUtils; import com.lightgame.utils.Utils; @@ -277,7 +278,7 @@ public class SettingsFragment extends NormalFragment { "确定退出", "取消", () -> { loadingDialog = DialogUtils.showWaitDialog(getContext(), "退出登录中..."); LoginUtils.logout(getContext(), () -> { - EventBus.getDefault().post(new EBReuse(PersonalFragment.LOGOUT_TAG)); + UserRepository.getInstance(HaloApp.getInstance().getApplication()).logout(); if (loadingDialog != null) loadingDialog.dismiss(); if (getActivity() != null) getActivity().finish(); });