diff --git a/app/src/main/java/com/gh/common/util/AskLogUtils.java b/app/src/main/java/com/gh/common/util/AskLogUtils.java index 36f010cabf..6ee01d74e1 100644 --- a/app/src/main/java/com/gh/common/util/AskLogUtils.java +++ b/app/src/main/java/com/gh/common/util/AskLogUtils.java @@ -5,8 +5,8 @@ import android.provider.Settings; import android.text.TextUtils; import com.gh.gamecenter.BuildConfig; -import com.gh.gamecenter.qa.entity.Questions; import com.gh.gamecenter.manager.UserManager; +import com.gh.gamecenter.qa.entity.Questions; import com.gh.loghub.LogHubUtils; import com.halo.assistant.HaloApp; import com.lightgame.utils.Util_System_Phone_State; @@ -25,8 +25,8 @@ public class AskLogUtils { if (context == null) return; JSONObject object = new JSONObject(); try { - object.put("community_id", UserManager.getInstance().getCommunityId(context)); - object.put("community_name", UserManager.getInstance().getCommunityName(context)); + object.put("community_id", UserManager.getInstance().getCommunity().getId()); + object.put("community_name", UserManager.getInstance().getCommunity().getName()); object.put("question_id", questions.getId()); object.put("question_name", questions.getTitle()); object.put("subject", "question"); @@ -42,8 +42,8 @@ public class AskLogUtils { if (context == null) return; JSONObject object = new JSONObject(); try { - object.put("community_id", UserManager.getInstance().getCommunityId(context)); - object.put("community_name", UserManager.getInstance().getCommunityName(context)); + object.put("community_id", UserManager.getInstance().getCommunity().getId()); + object.put("community_name", UserManager.getInstance().getCommunity().getName()); object.put("question_id", questions.getId()); object.put("question_name", questions.getTitle()); object.put("subject", "answer"); @@ -61,8 +61,8 @@ public class AskLogUtils { JSONObject object = new JSONObject(); try { - object.put("community_id", UserManager.getInstance().getCommunityId(context)); - object.put("community_name", UserManager.getInstance().getCommunityName(context)); + object.put("community_id", UserManager.getInstance().getCommunity().getId()); + object.put("community_name", UserManager.getInstance().getCommunity().getName()); object.put("keyword", searchKey); object.put("subject", "search"); } catch (JSONException e) { @@ -78,7 +78,7 @@ public class AskLogUtils { JSONObject object = new JSONObject(); try { object.put("subject", "community_refresh"); - object.put("community_id", UserManager.getInstance().getCommunityId(context)); + object.put("community_id", UserManager.getInstance().getCommunity().getId()); object.put("refresh_type", "recommend"); object.put("data_count", dataCount); object.put("user_id", UserManager.getInstance().getUserId()); diff --git a/app/src/main/java/com/gh/common/util/GetLoginDataUtils.java b/app/src/main/java/com/gh/common/util/GetLoginDataUtils.java index d385817fae..ef7f4ae0d7 100644 --- a/app/src/main/java/com/gh/common/util/GetLoginDataUtils.java +++ b/app/src/main/java/com/gh/common/util/GetLoginDataUtils.java @@ -7,7 +7,7 @@ import android.widget.Toast; import com.gh.common.constant.Config; import com.gh.gamecenter.R; -import com.gh.gamecenter.login.LoginTag; +import com.gh.gamecenter.user.LoginTag; import com.lightgame.utils.RuntimeUtils; import com.lightgame.utils.Utils; import com.sina.weibo.sdk.WbSdk; diff --git a/app/src/main/java/com/gh/gamecenter/MainActivity.java b/app/src/main/java/com/gh/gamecenter/MainActivity.java index 6a0bb8d649..b441cc3ff3 100644 --- a/app/src/main/java/com/gh/gamecenter/MainActivity.java +++ b/app/src/main/java/com/gh/gamecenter/MainActivity.java @@ -48,6 +48,7 @@ import com.gh.download.DownloadManager; import com.gh.gamecenter.db.info.GameInfo; import com.gh.gamecenter.db.info.InstallInfo; import com.gh.gamecenter.entity.ApkEntity; +import com.gh.gamecenter.entity.CommunityEntity; import com.gh.gamecenter.entity.GameDigestEntity; import com.gh.gamecenter.entity.GameEntity; import com.gh.gamecenter.entity.GameUpdateEntity; @@ -755,10 +756,10 @@ public class MainActivity extends BaseActivity { edit.apply(); // 设置默认社区 - if (TextUtils.isEmpty(UserManager.getInstance().getCommunityId(getApplication())) && + if (TextUtils.isEmpty(UserManager.getInstance().getCommunity().getId()) && response.getCommunity() != null) { - SettingsEntity.Community community = response.getCommunity(); - UserManager.getInstance().setCommunityId(getApplication(), community.getId(), community.getName()); + CommunityEntity community = response.getCommunity(); + UserManager.getInstance().setCommunityData(community); } EventBus.getDefault().post(new EBReuse("Refresh")); diff --git a/app/src/main/java/com/gh/gamecenter/UserInfoEditActivity.java b/app/src/main/java/com/gh/gamecenter/UserInfoEditActivity.java index 401903ca18..f67f6af9e1 100644 --- a/app/src/main/java/com/gh/gamecenter/UserInfoEditActivity.java +++ b/app/src/main/java/com/gh/gamecenter/UserInfoEditActivity.java @@ -5,7 +5,7 @@ import android.content.Intent; import android.os.Bundle; import android.support.annotation.NonNull; -import com.gh.gamecenter.login.UserViewModel; +import com.gh.gamecenter.user.UserViewModel; import com.halo.assistant.fragment.user.UserInfoEditFragment; /** diff --git a/app/src/main/java/com/gh/gamecenter/adapter/AskSelectGameAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/AskSelectGameAdapter.java index 8ea5baa22a..d9680da7ac 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/AskSelectGameAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/AskSelectGameAdapter.java @@ -41,7 +41,7 @@ public class AskSelectGameAdapter extends ListAdapter { public AskSelectGameAdapter(Context context, OnListClickListener listClickListener) { super(context); mListClickListener = listClickListener; - mCommunityId = UserManager.getInstance().getCommunityId(mContext); + mCommunityId = UserManager.getInstance().getCommunity().getId(); } @Override diff --git a/app/src/main/java/com/gh/gamecenter/entity/CommunityEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/CommunityEntity.kt new file mode 100644 index 0000000000..c7ea670e2c --- /dev/null +++ b/app/src/main/java/com/gh/gamecenter/entity/CommunityEntity.kt @@ -0,0 +1,5 @@ +package com.gh.gamecenter.entity + +import com.google.gson.annotations.SerializedName + +data class CommunityEntity(@SerializedName("_id") var id: String = "", var name: String = "") \ No newline at end of file diff --git a/app/src/main/java/com/gh/gamecenter/entity/LoginTokenEntity.java b/app/src/main/java/com/gh/gamecenter/entity/LoginTokenEntity.java index 89b63118bf..ffd6e471a0 100644 --- a/app/src/main/java/com/gh/gamecenter/entity/LoginTokenEntity.java +++ b/app/src/main/java/com/gh/gamecenter/entity/LoginTokenEntity.java @@ -5,7 +5,7 @@ import android.arch.persistence.room.PrimaryKey; import android.arch.persistence.room.TypeConverters; import android.support.annotation.NonNull; -import com.gh.gamecenter.login.TokenTypeConverter; +import com.gh.gamecenter.user.TokenTypeConverter; import com.google.gson.annotations.SerializedName; /** diff --git a/app/src/main/java/com/gh/gamecenter/entity/SettingsEntity.java b/app/src/main/java/com/gh/gamecenter/entity/SettingsEntity.java index 526e4fcedf..763db7dbcb 100644 --- a/app/src/main/java/com/gh/gamecenter/entity/SettingsEntity.java +++ b/app/src/main/java/com/gh/gamecenter/entity/SettingsEntity.java @@ -16,7 +16,7 @@ public class SettingsEntity { private Search search; - private Community community; + private CommunityEntity community; public List getDownload() { return download; @@ -42,11 +42,11 @@ public class SettingsEntity { this.search = search; } - public Community getCommunity() { + public CommunityEntity getCommunity() { return community; } - public void setCommunity(Community community) { + public void setCommunity(CommunityEntity community) { this.community = community; } @@ -195,28 +195,4 @@ public class SettingsEntity { } } - public class Community { - - @SerializedName("_id") - private String id; - - private String name; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - } - } 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 14fffe1f71..c099687365 100644 --- a/app/src/main/java/com/gh/gamecenter/fragment/LoginFragment.java +++ b/app/src/main/java/com/gh/gamecenter/fragment/LoginFragment.java @@ -25,9 +25,9 @@ import com.gh.gamecenter.R; import com.gh.gamecenter.entity.LoginTokenEntity; import com.gh.gamecenter.entity.UserInfoEntity; import com.gh.gamecenter.eventbus.EBReuse; -import com.gh.gamecenter.login.ApiResponse; -import com.gh.gamecenter.login.LoginTag; -import com.gh.gamecenter.login.UserViewModel; +import com.gh.gamecenter.user.ApiResponse; +import com.gh.gamecenter.user.LoginTag; +import com.gh.gamecenter.user.UserViewModel; import com.gh.gamecenter.manager.UserManager; import com.gh.gamecenter.normal.NormalFragment; import com.gh.gamecenter.personal.PersonalFragment; diff --git a/app/src/main/java/com/gh/gamecenter/fragment/MainWrapperFragment.java b/app/src/main/java/com/gh/gamecenter/fragment/MainWrapperFragment.java index 519e682eb9..1505f48335 100644 --- a/app/src/main/java/com/gh/gamecenter/fragment/MainWrapperFragment.java +++ b/app/src/main/java/com/gh/gamecenter/fragment/MainWrapperFragment.java @@ -251,7 +251,7 @@ public class MainWrapperFragment extends BaseFragment_ViewPager_Checkable { LayoutInflater inflater = LayoutInflater.from(getContext()); View viewDialog = inflater.inflate(R.layout.dialog_communities_select_hint, null); TextView communityTitle = viewDialog.findViewById(R.id.communities_select_title); - communityTitle.setText(UserManager.getInstance().getCommunityName(getContext())); + communityTitle.setText(UserManager.getInstance().getCommunity().getName()); View view = viewDialog.findViewById(R.id.communities_select_hint); View cancel = viewDialog.findViewById(R.id.communities_select_cancel); View title = viewDialog.findViewById(R.id.communities_select_title); diff --git a/app/src/main/java/com/gh/gamecenter/login/LoginFragment.java b/app/src/main/java/com/gh/gamecenter/login/LoginFragment.java deleted file mode 100644 index ac0153be4d..0000000000 --- a/app/src/main/java/com/gh/gamecenter/login/LoginFragment.java +++ /dev/null @@ -1,81 +0,0 @@ -//package com.gh.gamecenter.login; -// -//import android.app.Dialog; -//import android.os.Bundle; -//import android.support.annotation.Nullable; -//import android.view.View; -//import android.widget.LinearLayout; -// -//import com.gh.common.util.DialogUtils; -//import com.gh.common.util.GetLoginDataUtils; -//import com.gh.common.util.LoginUtils; -//import com.gh.gamecenter.R; -//import com.gh.gamecenter.entity.UserInfoEntity; -// -//import org.json.JSONObject; -// -//import butterknife.BindView; -//import butterknife.OnClick; -// -///** -// * Created by khy on 14/08/17. -// */ -// -//public class LoginFragment extends BaseLoginFragment { -// -// @BindView(R.id.login_qq_btn) -// LinearLayout mLoginQqBtn; -// @BindView(R.id.login_wechat_btn) -// LinearLayout mLoginWechatBtn; -// @BindView(R.id.login_weibo_btn) -// LinearLayout mLoginWeiboBtn; -// -// private Dialog loginDialog; -// -// @Override -// public void onCreate(@Nullable Bundle savedInstanceState) { -// super.onCreate(savedInstanceState); -// setNavigationTitle("登录光环助手"); -// } -// -// @Override -// protected int getLoginLayoutId() { -// return R.layout.fragment_login; -// } -// -// @OnClick({R.id.login_qq_btn, R.id.login_wechat_btn, R.id.login_weibo_btn}) -// public void onViewClicked(View view) { -// switch (view.getId()) { -// case R.id.login_qq_btn: -// GetLoginDataUtils.getInstance(getContext()).QQLogin(this, getActivity()); -// break; -// case R.id.login_weibo_btn: -// GetLoginDataUtils.getInstance(getContext()).WeiBoLogin(this, getActivity()); -// break; -// case R.id.login_wechat_btn: -// GetLoginDataUtils.getInstance(getContext()).WCLogin(this); -// break; -// } -// } -// -// @Override -// public void OnLoginData(JSONObject content, LoginUtils.LoginTag loginTag) { -// loginDialog = DialogUtils.showWaitDialog(getContext(), "登录中..."); -// LoginUtils.login(getContext(), content, loginTag, this); -// } -// -// @Override -// public void onLogin(UserInfoEntity entity, LoginUtils.LoginTag loginTag) { -// super.onLogin(entity, loginTag); -// if (loginDialog != null) { -// loginDialog.dismiss(); -// } -// } -// -// @Override -// public void onLoginFailure() { -// if (loginDialog != null) { -// loginDialog.dismiss(); -// } -// } -//} diff --git a/app/src/main/java/com/gh/gamecenter/login/LoginOldUserFragment.java b/app/src/main/java/com/gh/gamecenter/login/LoginOldUserFragment.java deleted file mode 100644 index dc4cdc5223..0000000000 --- a/app/src/main/java/com/gh/gamecenter/login/LoginOldUserFragment.java +++ /dev/null @@ -1,25 +0,0 @@ -//package com.gh.gamecenter.login; -// -//import android.os.Bundle; -//import android.support.annotation.Nullable; -// -//import com.gh.gamecenter.R; -// -///** -// * Created by khy on 14/08/17. -// */ -// -//public class LoginOldUserFragment extends BaseLoginFragment{ -// -// @Override -// public void onCreate(@Nullable Bundle savedInstanceState) { -// super.onCreate(savedInstanceState); -// setNavigationTitle("老用户登录"); -// } -// -// @Override -// protected int getLoginLayoutId() { -// return R.layout.fragment_login_olduser; -// } -// -//} diff --git a/app/src/main/java/com/gh/gamecenter/manager/RefreshTokenManager.java b/app/src/main/java/com/gh/gamecenter/manager/RefreshTokenManager.java deleted file mode 100644 index 866d2fa9d1..0000000000 --- a/app/src/main/java/com/gh/gamecenter/manager/RefreshTokenManager.java +++ /dev/null @@ -1,199 +0,0 @@ -package com.gh.gamecenter.manager; - -import android.content.Context; -import android.preference.PreferenceManager; -import android.text.TextUtils; - -import com.gh.common.constant.Constants; -import com.gh.common.util.DataUtils; -import com.gh.common.util.DeviceUtils; -import com.gh.gamecenter.BuildConfig; -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.login.AppDatabase; -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.retrofit.service.UserseaService; -import com.lightgame.utils.Utils; - -import org.greenrobot.eventbus.EventBus; -import org.json.JSONException; -import org.json.JSONObject; - -import okhttp3.MediaType; -import okhttp3.RequestBody; -import retrofit2.HttpException; - -/** - * Created by khy on 8/11/17. - */ - -public class RefreshTokenManager { - - private static RefreshTokenManager mInstance; - private AppDatabase mDatabase; - private UserseaService mUserseaService; - private ApiService mApiService; - - private Context mContext; - - - public RefreshTokenManager(Context context) { - mContext = context; - mDatabase = AppDatabase.getInstance(context); - mUserseaService = RetrofitManager.getInstance(context).getUsersea(); - mApiService = RetrofitManager.getInstance(context).getApi(); - } - - public static RefreshTokenManager getInstance(Context context) { - if (mInstance == null) { - synchronized (RefreshTokenManager.class) { - if (mInstance == null) { - mInstance = new RefreshTokenManager(context); - } - } - } - return mInstance; - } - - /** - * @param accessToken - * @param callBack - */ - public synchronized void refreshToken(String accessToken, final refreshCallBack callBack) { - - // LoginTokenEntity 为空,可能已经退出登录 - LoginTokenEntity tokenEntity = UserManager.getInstance().getLoginTokenEntity(); - if (tokenEntity == null) { - callBack.onLoginFailure(); - return; - } - - // 对比AccessToken 如果接口传的token与UserManager的token不一致 则已被刷新过 - if (!accessToken.equals(tokenEntity.getAccessToken().getValue())) { - callBack.onLogin(); - return; - } - - // 判断RefreshToken是否过期 - TokenEntity refreshToken = tokenEntity.getRefreshToken(); - if (refreshToken.getExpire() < Utils.getTime(mContext)) { - Utils.toast(mContext, "账号过期,请重新登录!"); - EventBus.getDefault().post(new EBReuse(PersonalFragment.LOGOUT_TAG)); - callBack.onLoginFailure(); - return; - } - - RequestBody body = null; - try { - JSONObject device = DeviceUtils.getLoginDevice(mContext.getApplicationContext()); - JSONObject content = new JSONObject(); - content.put("refresh_token", refreshToken.getValue()); - content.put("device", device); - body = RequestBody.create(MediaType.parse("application/json"), content.toString()); - } catch (JSONException e) { - e.printStackTrace(); - } - mUserseaService - .refreshToken(body) - .subscribe(new Response() { - @Override - public void onResponse(LoginTokenEntity response) { - super.onResponse(response); - - saveLoginToken(response, mContext); - - refreshUserInfo(callBack, response.getId()); - } - - @Override - public void onFailure(HttpException e) { - super.onFailure(e); - if (callBack != null) { - callBack.onLoginFailure(); - } - - if (e != null) { - try { - String string = e.response().errorBody().string(); - JSONObject content = new JSONObject(string); - int code = content.getInt("code"); - if (code == 400802) { // 其他设备登录了该账号 - EventBus.getDefault().post(new EBShowDialog("loginException", string)); // 打开提示框 - } - - if (code == 400802 || code == 400401) { // 自动注销 - EventBus.getDefault().post(new EBReuse(PersonalFragment.LOGOUT_TAG)); - DataUtils.onMtaEvent(mContext, "登录异常统计_自动登录", "错误码_RefreshToken", code + "_" + refreshToken.getValue()); - } - } catch (Exception e1) { - e1.printStackTrace(); - } - } - } - }); - } - - - private void refreshUserInfo(final refreshCallBack callBack, final String cacheId) { - mApiService - .getRetryUserInfo(BuildConfig.API_HOST + "users:validate", "retry") - .subscribe(new Response() { - @Override - public void onResponse(UserInfoEntity response) { - super.onResponse(response); - response.setId(cacheId); - saveUserInfo(response); - - if (callBack != null) { - callBack.onLogin(); - } - - } - - @Override - public void onFailure(HttpException e) { - super.onFailure(e); - if (callBack != null) { - callBack.onLoginFailure(); - } - - } - }); - } - - private void saveLoginToken(final LoginTokenEntity tokenEntity, final Context context) { - LoginTokenEntity loginTokenEntity = UserManager.getInstance().getLoginTokenEntity(); - if (loginTokenEntity != null) { - tokenEntity.setLoginType(loginTokenEntity.getLoginType()); - tokenEntity.setId(loginTokenEntity.getId()); - } - - UserManager.getInstance().setLoginTokenEntity(tokenEntity); - if (TextUtils.isEmpty(tokenEntity.getId())) return; - if (mDatabase.loginTokenDao().updateToken(tokenEntity) <= 0) { - mDatabase.loginTokenDao().addToken(tokenEntity); - } - PreferenceManager.getDefaultSharedPreferences(context).edit().putString(Constants.LOGIN_TOKEN_ID, tokenEntity.getId()).apply(); - } - - private void saveUserInfo(final UserInfoEntity userInfo) { - UserManager.getInstance().setUserInfoEntity(userInfo); - if (TextUtils.isEmpty(userInfo.getId())) return; - if (mDatabase.userInfoDao().updateUserInfo(userInfo) <= 0) { - mDatabase.userInfoDao().addUserInfo(userInfo); - } - } - - - public interface refreshCallBack { - void onLogin(); - - void onLoginFailure(); - } -} 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 a38cf25800..60832fa3fd 100644 --- a/app/src/main/java/com/gh/gamecenter/manager/UserManager.java +++ b/app/src/main/java/com/gh/gamecenter/manager/UserManager.java @@ -1,12 +1,37 @@ package com.gh.gamecenter.manager; import android.content.Context; +import android.content.SharedPreferences; import android.preference.PreferenceManager; import android.text.TextUtils; import com.gh.common.constant.Constants; +import com.gh.common.util.DataUtils; +import com.gh.common.util.DeviceUtils; +import com.gh.common.util.GsonUtils; +import com.gh.gamecenter.BuildConfig; +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.retrofit.service.UserseaService; +import com.gh.gamecenter.user.AppDatabase; +import com.halo.assistant.HaloApp; +import com.lightgame.utils.Utils; + +import org.greenrobot.eventbus.EventBus; +import org.json.JSONException; +import org.json.JSONObject; + +import okhttp3.MediaType; +import okhttp3.RequestBody; +import retrofit2.HttpException; /** * Created by khy on 29/11/17. @@ -14,17 +39,19 @@ import com.gh.gamecenter.entity.UserInfoEntity; public class UserManager { - private final String COMMUNITY_ID = "CommunityId"; - private final String COMMUNITY_NAME = "CommunityName"; + private final String COMMUNITY_KEY = "CommunityKey"; private static volatile UserManager singleton; + private SharedPreferences mSp; + + private AppDatabase mDatabase; + private UserseaService mUserseaService; + private ApiService mApiService; + private UserInfoEntity mUserInfoEntity; - private LoginTokenEntity mLoginTokenEntity; - - private String mCommunityId; - private String mCommunityName; + private CommunityEntity mCommunityData; public static UserManager getInstance() { if (singleton == null) { @@ -35,6 +62,13 @@ public class UserManager { return singleton; } + private UserManager() { + mSp = PreferenceManager.getDefaultSharedPreferences(HaloApp.getInstance().getApplication()); + mDatabase = AppDatabase.getInstance(HaloApp.getInstance().getApplication()); + mUserseaService = RetrofitManager.getInstance(HaloApp.getInstance().getApplication()).getUsersea(); + mApiService = RetrofitManager.getInstance(HaloApp.getInstance().getApplication()).getApi(); + } + public LoginTokenEntity getLoginTokenEntity() { return mLoginTokenEntity; } @@ -59,47 +93,167 @@ public class UserManager { } public String getUserId() { - String userId = null; if (mUserInfoEntity != null) { - userId = mUserInfoEntity.getUserId(); + return mUserInfoEntity.getUserId(); } - return userId == null ? "" : userId; + return ""; } - public void setCommunityId(Context context, String communityId, String communityName) { - if (TextUtils.isEmpty(mCommunityId) || !mCommunityId.equals(communityId)) { - PreferenceManager.getDefaultSharedPreferences(context).edit().putString(COMMUNITY_ID, communityId).apply(); + public void setCommunityData(CommunityEntity community) { + if (community != null) { + mSp.edit().putString(COMMUNITY_KEY, GsonUtils.Companion.getInstance().toJson(community)).apply(); } - if (TextUtils.isEmpty(mCommunityName) || !mCommunityName.equals(communityName)) { - PreferenceManager.getDefaultSharedPreferences(context).edit().putString(COMMUNITY_NAME, communityName).apply(); - } - this.mCommunityId = communityId; - this.mCommunityName = communityName; + this.mCommunityData = community; } - public String getCommunityId(Context context) { - if (TextUtils.isEmpty(mCommunityId)) { - mCommunityId = PreferenceManager.getDefaultSharedPreferences(context).getString(COMMUNITY_ID, ""); + public CommunityEntity getCommunity() { + if (mCommunityData == null || TextUtils.isEmpty(mCommunityData.getId())) { + String communityJson = mSp.getString(COMMUNITY_KEY, null); + mCommunityData = TextUtils.isEmpty(communityJson) ? new CommunityEntity() + : GsonUtils.Companion.getInstance().fromJsonBean(communityJson, CommunityEntity.class); } - -// if (TextUtils.isEmpty(mCommunityId)) mCommunityId = "5a32405b2397ab000f688de1"; - return mCommunityId; - } - - public String getCommunityName(Context context) { - if (TextUtils.isEmpty(mCommunityName)) { - mCommunityName = PreferenceManager.getDefaultSharedPreferences(context).getString(COMMUNITY_NAME, ""); - } -// if (TextUtils.isEmpty(mCommunityName)) mCommunityName = "少年三国志"; - return mCommunityName; - } - - public String getTokenId(Context context) { - return PreferenceManager.getDefaultSharedPreferences(context).getString(Constants.LOGIN_TOKEN_ID, null); + return mCommunityData; } public void logout() { mUserInfoEntity = null; mLoginTokenEntity = null; } + + + /** + * @param accessToken + * @param callBack + */ + public synchronized void refreshToken(String accessToken, final refreshCallBack callBack) { + + // LoginTokenEntity 为空,可能已经退出登录 + LoginTokenEntity tokenEntity = getLoginTokenEntity(); + if (tokenEntity == null) { + callBack.onLoginFailure(); + return; + } + + // 对比AccessToken 如果接口传的token与UserManager的token不一致 则已被刷新过 + if (!accessToken.equals(tokenEntity.getAccessToken().getValue())) { + callBack.onLogin(); + return; + } + + // 判断RefreshToken是否过期 + 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)); + callBack.onLoginFailure(); + return; + } + + RequestBody body = null; + try { + JSONObject device = DeviceUtils.getLoginDevice(HaloApp.getInstance().getApplication()); + JSONObject content = new JSONObject(); + content.put("refresh_token", refreshToken.getValue()); + content.put("device", device); + body = RequestBody.create(MediaType.parse("application/json"), content.toString()); + } catch (JSONException e) { + e.printStackTrace(); + } + mUserseaService + .refreshToken(body) + .subscribe(new Response() { + @Override + public void onResponse(LoginTokenEntity response) { + super.onResponse(response); + + saveLoginToken(response, HaloApp.getInstance().getApplication()); + + refreshUserInfo(callBack, response.getId()); + } + + @Override + public void onFailure(HttpException e) { + super.onFailure(e); + if (callBack != null) { + callBack.onLoginFailure(); + } + + if (e != null) { + try { + String string = e.response().errorBody().string(); + JSONObject content = new JSONObject(string); + int code = content.getInt("code"); + if (code == 400802) { // 其他设备登录了该账号 + EventBus.getDefault().post(new EBShowDialog("loginException", string)); // 打开提示框 + } + + if (code == 400802 || code == 400401) { // 自动注销 + EventBus.getDefault().post(new EBReuse(PersonalFragment.LOGOUT_TAG)); + DataUtils.onMtaEvent(HaloApp.getInstance().getApplication(), "登录异常统计_自动登录" + , "错误码_RefreshToken", code + "_" + refreshToken.getValue()); + } + } catch (Exception e1) { + e1.printStackTrace(); + } + } + } + }); + } + + private void refreshUserInfo(final refreshCallBack callBack, final String cacheId) { + mApiService + .getRetryUserInfo(BuildConfig.API_HOST + "users:validate", "retry") + .subscribe(new Response() { + @Override + public void onResponse(UserInfoEntity response) { + super.onResponse(response); + response.setId(cacheId); + saveUserInfo(response); + + if (callBack != null) { + callBack.onLogin(); + } + + } + + @Override + public void onFailure(HttpException e) { + super.onFailure(e); + if (callBack != null) { + callBack.onLoginFailure(); + } + + } + }); + } + + private void saveLoginToken(final LoginTokenEntity tokenEntity, final Context context) { + LoginTokenEntity loginTokenEntity = getLoginTokenEntity(); + if (loginTokenEntity != null) { + tokenEntity.setLoginType(loginTokenEntity.getLoginType()); + tokenEntity.setId(loginTokenEntity.getId()); + } + + setLoginTokenEntity(tokenEntity); + if (TextUtils.isEmpty(tokenEntity.getId())) return; + if (mDatabase.loginTokenDao().updateToken(tokenEntity) <= 0) { + mDatabase.loginTokenDao().addToken(tokenEntity); + } + mSp.edit().putString(Constants.LOGIN_TOKEN_ID, tokenEntity.getId()).apply(); + } + + private void saveUserInfo(final UserInfoEntity userInfo) { + setUserInfoEntity(userInfo); + if (TextUtils.isEmpty(userInfo.getId())) return; + if (mDatabase.userInfoDao().updateUserInfo(userInfo) <= 0) { + mDatabase.userInfoDao().addUserInfo(userInfo); + } + } + + public interface refreshCallBack { + void onLogin(); + + void onLoginFailure(); + } + } 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 e6c8ec95b4..f47e93e10d 100644 --- a/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java +++ b/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java @@ -48,10 +48,10 @@ import com.gh.gamecenter.eventbus.EBNetworkState; import com.gh.gamecenter.eventbus.EBPackage; import com.gh.gamecenter.eventbus.EBReuse; import com.gh.gamecenter.eventbus.EBSkip; -import com.gh.gamecenter.login.ApiResponse; -import com.gh.gamecenter.login.AppDatabase; -import com.gh.gamecenter.login.LoginTag; -import com.gh.gamecenter.login.UserViewModel; +import com.gh.gamecenter.user.ApiResponse; +import com.gh.gamecenter.user.AppDatabase; +import com.gh.gamecenter.user.LoginTag; +import com.gh.gamecenter.user.UserViewModel; import com.gh.gamecenter.manager.UserManager; import com.gh.gamecenter.message.MessageUnreadViewModel; import com.gh.gamecenter.personal.installed.InstallGameViewModel; diff --git a/app/src/main/java/com/gh/gamecenter/qa/AskFragment.java b/app/src/main/java/com/gh/gamecenter/qa/AskFragment.java index 3711d34294..59f3ea0a43 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/AskFragment.java +++ b/app/src/main/java/com/gh/gamecenter/qa/AskFragment.java @@ -19,14 +19,15 @@ import com.gh.base.fragment.BaseFragment; import com.gh.base.onDoubleTapListener; import com.gh.common.constant.Config; import com.gh.common.util.DataUtils; +import com.gh.gamecenter.R; +import com.gh.gamecenter.entity.CommunityEntity; +import com.gh.gamecenter.entity.SettingsEntity; +import com.gh.gamecenter.eventbus.EBReuse; +import com.gh.gamecenter.manager.UserManager; import com.gh.gamecenter.qa.newest.AskQuestionsNewFragment; import com.gh.gamecenter.qa.recommends.AskQuestionsRecommendsFragment; import com.gh.gamecenter.qa.search.AskSearchActivity; import com.gh.gamecenter.qa.select.CommunitiesSelectActivity; -import com.gh.gamecenter.R; -import com.gh.gamecenter.entity.SettingsEntity; -import com.gh.gamecenter.eventbus.EBReuse; -import com.gh.gamecenter.manager.UserManager; import com.lightgame.view.NoScrollableViewPager; import org.greenrobot.eventbus.Subscribe; @@ -98,7 +99,7 @@ public class AskFragment extends BaseFragment { public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == COMMUNITIES_SELECT_REQUEST && resultCode == Activity.RESULT_OK) { - mAskGamename.setText(UserManager.getInstance().getCommunityName(getContext())); + mAskGamename.setText(UserManager.getInstance().getCommunity().getName()); List fragments = getChildFragmentManager().getFragments(); for (Fragment fragment : fragments) { fragment.onActivityResult(requestCode, resultCode, data); @@ -109,10 +110,10 @@ public class AskFragment extends BaseFragment { @Override public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); - if (!TextUtils.isEmpty(UserManager.getInstance().getCommunityId(getContext()))) { + if (!TextUtils.isEmpty(UserManager.getInstance().getCommunity().getId())) { mLoading.setVisibility(View.GONE); mAskTabBar.setVisibility(View.VISIBLE); - mAskGamename.setText(UserManager.getInstance().getCommunityName(getContext())); + mAskGamename.setText(UserManager.getInstance().getCommunity().getName()); initViewPager(); setTabbarPosition(INDEX_HOT); } @@ -134,11 +135,11 @@ public class AskFragment extends BaseFragment { break; case R.id.ask_hot: setTabbarPosition(INDEX_HOT); - DataUtils.onMtaEvent(getContext(), "问答页面", UserManager.getInstance().getCommunityName(getContext()), "精选Tab"); + DataUtils.onMtaEvent(getContext(), "问答页面", UserManager.getInstance().getCommunity().getName(), "精选Tab"); break; case R.id.ask_questions: setTabbarPosition(INDEX_QUESTIONS); - DataUtils.onMtaEvent(getContext(), "问答页面", UserManager.getInstance().getCommunityName(getContext()), "问题Tab"); + DataUtils.onMtaEvent(getContext(), "问答页面", UserManager.getInstance().getCommunity().getName(), "问题Tab"); break; case R.id.reuse_no_connection: mNoConn.setVisibility(View.GONE); @@ -182,8 +183,8 @@ public class AskFragment extends BaseFragment { if ("Refresh".equals(reuse.getType()) && mLoading != null && mLoading.getVisibility() == View.VISIBLE) { SettingsEntity settings = Config.getSettings(); if (settings != null && settings.getCommunity() != null) { - SettingsEntity.Community community = settings.getCommunity(); - UserManager.getInstance().setCommunityId(getContext(), community.getId(), community.getName()); + CommunityEntity community = settings.getCommunity(); + UserManager.getInstance().setCommunityData(community); mAskGamename.setText(community.getName()); initViewPager(); setTabbarPosition(INDEX_HOT); diff --git a/app/src/main/java/com/gh/gamecenter/qa/answer/detail/AnswerDetailViewModel.java b/app/src/main/java/com/gh/gamecenter/qa/answer/detail/AnswerDetailViewModel.java index 6c799cc4b5..a44edd0433 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/answer/detail/AnswerDetailViewModel.java +++ b/app/src/main/java/com/gh/gamecenter/qa/answer/detail/AnswerDetailViewModel.java @@ -9,7 +9,7 @@ import android.support.annotation.NonNull; import com.gh.common.util.AskLogUtils; import com.gh.common.util.DataUtils; import com.gh.gamecenter.qa.entity.AnswerDetailEntity; -import com.gh.gamecenter.login.ApiResponse; +import com.gh.gamecenter.user.ApiResponse; import com.gh.gamecenter.retrofit.Response; import com.gh.gamecenter.retrofit.RetrofitManager; import com.lightgame.utils.Utils; diff --git a/app/src/main/java/com/gh/gamecenter/qa/answer/detail/comment/AnswerCommentViewModel.java b/app/src/main/java/com/gh/gamecenter/qa/answer/detail/comment/AnswerCommentViewModel.java index 7c8405cb02..00ae8e5745 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/answer/detail/comment/AnswerCommentViewModel.java +++ b/app/src/main/java/com/gh/gamecenter/qa/answer/detail/comment/AnswerCommentViewModel.java @@ -12,7 +12,7 @@ import android.text.TextUtils; import com.gh.common.util.PostCommentUtils; import com.gh.gamecenter.baselist.ListViewModel; import com.gh.gamecenter.entity.CommentEntity; -import com.gh.gamecenter.login.ApiResponse; +import com.gh.gamecenter.user.ApiResponse; import com.gh.gamecenter.retrofit.RetrofitManager; import org.json.JSONException; diff --git a/app/src/main/java/com/gh/gamecenter/qa/ask/QuestionEditActivity.kt b/app/src/main/java/com/gh/gamecenter/qa/ask/QuestionEditActivity.kt index 088fdad609..94cb404294 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/ask/QuestionEditActivity.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/ask/QuestionEditActivity.kt @@ -19,11 +19,11 @@ import com.gh.common.util.DialogUtils import com.gh.common.util.EntranceUtils import com.gh.gamecenter.R import com.gh.gamecenter.SuggestionActivity.MEDIA_STORE_REQUEST -import com.gh.gamecenter.qa.entity.QuestionsDetailEntity import com.gh.gamecenter.databinding.ActivityQuestionsEditBinding import com.gh.gamecenter.manager.UserManager import com.gh.gamecenter.qa.ask.pic.QuestionsEditPicAdapter import com.gh.gamecenter.qa.ask.tip.QuestionTitleTipAdapter +import com.gh.gamecenter.qa.entity.QuestionsDetailEntity /** * Created by khy on 28/04/18. @@ -96,7 +96,7 @@ class QuestionEditActivity : BaseActivity() { if (mViewModel?.questionEntity != null) { setNavigationTitle("编辑问题") } else { - setNavigationTitle(UserManager.getInstance().getCommunityName(this)) + setNavigationTitle(UserManager.getInstance().community.id) } mViewModel?.getDefaultTag() diff --git a/app/src/main/java/com/gh/gamecenter/qa/ask/QuestionEditViewModel.kt b/app/src/main/java/com/gh/gamecenter/qa/ask/QuestionEditViewModel.kt index 114e16c0b4..4c6bcdc8c3 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/ask/QuestionEditViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/ask/QuestionEditViewModel.kt @@ -12,10 +12,10 @@ import com.gh.common.util.GsonUtils import com.gh.common.util.ImageUtils import com.gh.common.util.UrlFilterUtils import com.gh.gamecenter.R -import com.gh.gamecenter.qa.entity.QuestionsDetailEntity import com.gh.gamecenter.manager.UserManager import com.gh.gamecenter.mvvm.NetworkBoundResource import com.gh.gamecenter.mvvm.Resource +import com.gh.gamecenter.qa.entity.QuestionsDetailEntity import com.gh.gamecenter.retrofit.Response import com.gh.gamecenter.retrofit.RetrofitManager import com.gh.gamecenter.retrofit.service.ApiService @@ -64,7 +64,7 @@ class QuestionEditViewModel(application: Application) : AndroidViewModel(applica */ fun getDefaultTag() { communityId = if (questionEntity != null) questionEntity?.communityId - else UserManager.getInstance().getCommunityId(getApplication()) + else UserManager.getInstance().community.id mApiService .getCommunitiesTags(communityId) .subscribeOn(Schedulers.io()) diff --git a/app/src/main/java/com/gh/gamecenter/qa/newest/AskQuestionsNewBodyFragment.java b/app/src/main/java/com/gh/gamecenter/qa/newest/AskQuestionsNewBodyFragment.java index 0f3e4fa5fe..2776fd7edd 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/newest/AskQuestionsNewBodyFragment.java +++ b/app/src/main/java/com/gh/gamecenter/qa/newest/AskQuestionsNewBodyFragment.java @@ -50,7 +50,7 @@ public class AskQuestionsNewBodyFragment extends ListFragment { @@ -61,8 +61,8 @@ public class AskQuestionsNewBodyFragment extends ListFragment position) { DataUtils.onMtaEvent(getContext(), "问答页面", - UserManager.getInstance().getCommunityName(getContext()), "问题-" + mTagGroupsList.get(position).getName()); + UserManager.getInstance().getCommunity().getName(), "问题-" + mTagGroupsList.get(position).getName()); } } diff --git a/app/src/main/java/com/gh/gamecenter/qa/recommends/AskQuestionsRecommendsViewModel.java b/app/src/main/java/com/gh/gamecenter/qa/recommends/AskQuestionsRecommendsViewModel.java index 9f7d5a641a..252470954b 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/recommends/AskQuestionsRecommendsViewModel.java +++ b/app/src/main/java/com/gh/gamecenter/qa/recommends/AskQuestionsRecommendsViewModel.java @@ -13,7 +13,7 @@ import com.gh.gamecenter.qa.entity.AskSubjectEntity; import com.gh.gamecenter.baselist.ListViewModel; import com.gh.gamecenter.baselist.LoadStatus; import com.gh.gamecenter.baselist.LoadType; -import com.gh.gamecenter.login.AppDatabase; +import com.gh.gamecenter.user.AppDatabase; import com.gh.gamecenter.manager.UserManager; import com.gh.gamecenter.retrofit.Response; import com.gh.gamecenter.retrofit.RetrofitManager; @@ -56,14 +56,14 @@ public class AskQuestionsRecommendsViewModel extends ListViewModel>() { @@ -71,7 +71,7 @@ public class AskQuestionsRecommendsViewModel extends ListViewModel response) { super.onResponse(response); - if (communityId.equals(UserManager.getInstance().getCommunityId(getApplication()))) { + if (communityId.equals(UserManager.getInstance().getCommunity().getId())) { mSubjectLiveData.postValue(response); } } @@ -89,7 +89,7 @@ public class AskQuestionsRecommendsViewModel extends ListViewModel entityList) { - String communityId = UserManager.getInstance().getCommunityId(getApplication()); + String communityId = UserManager.getInstance().getCommunity().getId(); String userId = UserManager.getInstance().getUserId(); long orderTag = System.currentTimeMillis(); if (!TextUtils.isEmpty(communityId)) { @@ -206,7 +206,7 @@ public class AskQuestionsRecommendsViewModel extends ListViewModel> dbData = mAnswerDao.getAnswerEntityById(communityId + UserManager.getInstance().getUserId()); mLiveData.addSource(dbData, entityList -> { mLiveData.removeSource(dbData); diff --git a/app/src/main/java/com/gh/gamecenter/qa/recommends/AskRecommendsSubjectPageAdapter.java b/app/src/main/java/com/gh/gamecenter/qa/recommends/AskRecommendsSubjectPageAdapter.java index 47eac8a706..ddbc955432 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/recommends/AskRecommendsSubjectPageAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/qa/recommends/AskRecommendsSubjectPageAdapter.java @@ -46,7 +46,7 @@ public class AskRecommendsSubjectPageAdapter extends RecyclingPagerAdapter { binding.setEntity(entity); ImageUtils.Companion.getInstance().displayScale(binding.subjectIcon, entity.getThumb(), DisplayUtils.dip2px(mContext, 67)); binding.getRoot().setOnClickListener(v -> { - DataUtils.onMtaEvent(mContext, "问答专题", UserManager.getInstance().getCommunityName(mContext), entity.getTitle()); + DataUtils.onMtaEvent(mContext, "问答专题", UserManager.getInstance().getCommunity().getName(), entity.getTitle()); if ("answer_list".equals(entity.getType())) { mContext.startActivity(CommunitySubjectActivity.getIntent(mContext, entity)); } else { diff --git a/app/src/main/java/com/gh/gamecenter/qa/search/AskSearchFragment.java b/app/src/main/java/com/gh/gamecenter/qa/search/AskSearchFragment.java index 643f31c05d..5e0a8140dc 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/search/AskSearchFragment.java +++ b/app/src/main/java/com/gh/gamecenter/qa/search/AskSearchFragment.java @@ -85,7 +85,7 @@ public class AskSearchFragment extends ListFragment> provideDataObservable(int page) { if (TextUtils.isEmpty(mSearchKey)) return null; - return RetrofitManager.getInstance(getContext()).getApi().getAskSearch(UserManager.getInstance().getCommunityId(getContext()) + return RetrofitManager.getInstance(getContext()).getApi().getAskSearch(UserManager.getInstance().getCommunity().getId() , UrlFilterUtils.getFilterQuery("keyword", mSearchKey), page); } diff --git a/app/src/main/java/com/gh/gamecenter/qa/select/SelectGameFragment.java b/app/src/main/java/com/gh/gamecenter/qa/select/SelectGameFragment.java index cded2d3ea1..2bc3773d91 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/select/SelectGameFragment.java +++ b/app/src/main/java/com/gh/gamecenter/qa/select/SelectGameFragment.java @@ -21,6 +21,7 @@ import com.gh.common.util.PackageUtils; import com.gh.common.view.VerticalItemDecoration; import com.gh.gamecenter.R; import com.gh.gamecenter.adapter.AskSelectGameAdapter; +import com.gh.gamecenter.entity.CommunityEntity; import com.gh.gamecenter.qa.entity.AskGameSelectEntity; import com.gh.gamecenter.qa.entity.CommunitiesGameEntity; import com.gh.gamecenter.qa.entity.MeEntity; @@ -121,7 +122,7 @@ public class SelectGameFragment extends ListFragment> provideDataObservable(int page) { if (mSubjectLiveData.getValue() == null) return null; return RetrofitManager.getInstance(getApplication()).getApi() - .getAskSubjectColumnAnswers(UserManager.getInstance().getCommunityId(getApplication()), mSubjectLiveData.getValue().getId(), page); + .getAskSubjectColumnAnswers(UserManager.getInstance().getCommunity().getId(), mSubjectLiveData.getValue().getId(), page); } } diff --git a/app/src/main/java/com/gh/gamecenter/qa/tags/AskQuestionsNewRepository.java b/app/src/main/java/com/gh/gamecenter/qa/tags/AskQuestionsNewRepository.java index 9698465809..cb47fd9fa2 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/tags/AskQuestionsNewRepository.java +++ b/app/src/main/java/com/gh/gamecenter/qa/tags/AskQuestionsNewRepository.java @@ -8,7 +8,7 @@ import com.gh.common.util.AskErrorResponseUtils; import com.gh.common.util.GsonUtils; import com.gh.gamecenter.R; import com.gh.gamecenter.qa.entity.AskTagGroupsEntity; -import com.gh.gamecenter.login.ApiResponse; +import com.gh.gamecenter.user.ApiResponse; import com.gh.gamecenter.manager.UserManager; import com.gh.gamecenter.retrofit.Response; import com.gh.gamecenter.retrofit.RetrofitManager; @@ -55,7 +55,7 @@ public class AskQuestionsNewRepository { private void loadUserTagGroups() { RetrofitManager.getInstance(mContext).getApi() - .getUserAskTagGroups(UserManager.getInstance().getUserId(), UserManager.getInstance().getCommunityId(mContext)) + .getUserAskTagGroups(UserManager.getInstance().getUserId(), UserManager.getInstance().getCommunity().getId()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Response>() { @@ -75,7 +75,7 @@ public class AskQuestionsNewRepository { private void loadDefaultTagGroups(List userEntity) { RetrofitManager.getInstance(mContext).getApi() - .getDefaultAskTagGroups(UserManager.getInstance().getCommunityId(mContext)) + .getDefaultAskTagGroups(UserManager.getInstance().getCommunity().getId()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Response>() { @@ -122,7 +122,7 @@ public class AskQuestionsNewRepository { RequestBody body = RequestBody.create(MediaType.parse("application/json"), GsonUtils.Companion.getInstance().toJson(entity)); RetrofitManager.getInstance(mContext).getApi() - .postUserAskTagGroups(body, UserManager.getInstance().getUserId(), UserManager.getInstance().getCommunityId(mContext)) + .postUserAskTagGroups(body, UserManager.getInstance().getUserId(), UserManager.getInstance().getCommunity().getId()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Response() { @@ -143,7 +143,7 @@ public class AskQuestionsNewRepository { private void deleteUserAskTagGroups() { RetrofitManager.getInstance(mContext) .getApi() - .deleteUserAskTagGroups(UserManager.getInstance().getUserId(), UserManager.getInstance().getCommunityId(mContext)) + .deleteUserAskTagGroups(UserManager.getInstance().getUserId(), UserManager.getInstance().getCommunity().getId()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Response() { diff --git a/app/src/main/java/com/gh/gamecenter/retrofit/OkHttpRetryInterceptor.kt b/app/src/main/java/com/gh/gamecenter/retrofit/OkHttpRetryInterceptor.kt index a78b54d62c..4ece7612c6 100644 --- a/app/src/main/java/com/gh/gamecenter/retrofit/OkHttpRetryInterceptor.kt +++ b/app/src/main/java/com/gh/gamecenter/retrofit/OkHttpRetryInterceptor.kt @@ -2,7 +2,6 @@ package com.gh.gamecenter.retrofit import android.content.Context import android.text.TextUtils -import com.gh.gamecenter.manager.RefreshTokenManager import com.gh.gamecenter.manager.UserManager import com.lightgame.config.CommonDebug import okhttp3.Interceptor @@ -52,7 +51,7 @@ class OkHttpRetryInterceptor internal constructor(context: Context) : Intercepto } if (response != null && token != null) { // TOKEN 过期处理 - RefreshTokenManager.getInstance(mContext).refreshToken(token, object : RefreshTokenManager.refreshCallBack { + UserManager.getInstance().refreshToken(token, object : UserManager.refreshCallBack { override fun onLogin() { val newBuilder = request.newBuilder() newBuilder.header("TOKEN", UserManager.getInstance().token) diff --git a/app/src/main/java/com/gh/gamecenter/retrofit/Response.java b/app/src/main/java/com/gh/gamecenter/retrofit/Response.java index 172cdf892a..d4da9a7b01 100644 --- a/app/src/main/java/com/gh/gamecenter/retrofit/Response.java +++ b/app/src/main/java/com/gh/gamecenter/retrofit/Response.java @@ -1,7 +1,7 @@ package com.gh.gamecenter.retrofit; import com.gh.common.util.AppDebugConfig; -import com.gh.gamecenter.login.ApiResponse; +import com.gh.gamecenter.user.ApiResponse; import retrofit2.HttpException; import rx.Subscriber; diff --git a/app/src/main/java/com/gh/gamecenter/login/ApiResponse.java b/app/src/main/java/com/gh/gamecenter/user/ApiResponse.java similarity index 95% rename from app/src/main/java/com/gh/gamecenter/login/ApiResponse.java rename to app/src/main/java/com/gh/gamecenter/user/ApiResponse.java index 2d106d9745..acb149085c 100644 --- a/app/src/main/java/com/gh/gamecenter/login/ApiResponse.java +++ b/app/src/main/java/com/gh/gamecenter/user/ApiResponse.java @@ -1,4 +1,4 @@ -package com.gh.gamecenter.login; +package com.gh.gamecenter.user; import retrofit2.HttpException; diff --git a/app/src/main/java/com/gh/gamecenter/login/AppDatabase.java b/app/src/main/java/com/gh/gamecenter/user/AppDatabase.java similarity index 98% rename from app/src/main/java/com/gh/gamecenter/login/AppDatabase.java rename to app/src/main/java/com/gh/gamecenter/user/AppDatabase.java index d92f5a9e1d..4459226083 100644 --- a/app/src/main/java/com/gh/gamecenter/login/AppDatabase.java +++ b/app/src/main/java/com/gh/gamecenter/user/AppDatabase.java @@ -1,4 +1,4 @@ -package com.gh.gamecenter.login; +package com.gh.gamecenter.user; import android.arch.persistence.db.SupportSQLiteDatabase; import android.arch.persistence.room.Database; diff --git a/app/src/main/java/com/gh/gamecenter/login/LoginTag.java b/app/src/main/java/com/gh/gamecenter/user/LoginTag.java similarity index 89% rename from app/src/main/java/com/gh/gamecenter/login/LoginTag.java rename to app/src/main/java/com/gh/gamecenter/user/LoginTag.java index 5e88a39c7f..09b13387f5 100644 --- a/app/src/main/java/com/gh/gamecenter/login/LoginTag.java +++ b/app/src/main/java/com/gh/gamecenter/user/LoginTag.java @@ -1,4 +1,4 @@ -package com.gh.gamecenter.login; +package com.gh.gamecenter.user; /** * Created by khy on 29/11/17. diff --git a/app/src/main/java/com/gh/gamecenter/login/LoginTokenDao.java b/app/src/main/java/com/gh/gamecenter/user/LoginTokenDao.java similarity index 96% rename from app/src/main/java/com/gh/gamecenter/login/LoginTokenDao.java rename to app/src/main/java/com/gh/gamecenter/user/LoginTokenDao.java index 6648b83544..62ceb12d2a 100644 --- a/app/src/main/java/com/gh/gamecenter/login/LoginTokenDao.java +++ b/app/src/main/java/com/gh/gamecenter/user/LoginTokenDao.java @@ -1,4 +1,4 @@ -package com.gh.gamecenter.login; +package com.gh.gamecenter.user; import android.arch.lifecycle.LiveData; import android.arch.persistence.room.Dao; diff --git a/app/src/main/java/com/gh/gamecenter/login/TokenTypeConverter.java b/app/src/main/java/com/gh/gamecenter/user/TokenTypeConverter.java similarity index 93% rename from app/src/main/java/com/gh/gamecenter/login/TokenTypeConverter.java rename to app/src/main/java/com/gh/gamecenter/user/TokenTypeConverter.java index 7127b177ff..832ca8bd57 100644 --- a/app/src/main/java/com/gh/gamecenter/login/TokenTypeConverter.java +++ b/app/src/main/java/com/gh/gamecenter/user/TokenTypeConverter.java @@ -1,4 +1,4 @@ -package com.gh.gamecenter.login; +package com.gh.gamecenter.user; import android.arch.persistence.room.TypeConverter; diff --git a/app/src/main/java/com/gh/gamecenter/login/UserInfoDao.java b/app/src/main/java/com/gh/gamecenter/user/UserInfoDao.java similarity index 96% rename from app/src/main/java/com/gh/gamecenter/login/UserInfoDao.java rename to app/src/main/java/com/gh/gamecenter/user/UserInfoDao.java index 3b8e4e458c..f64e1a73ad 100644 --- a/app/src/main/java/com/gh/gamecenter/login/UserInfoDao.java +++ b/app/src/main/java/com/gh/gamecenter/user/UserInfoDao.java @@ -1,4 +1,4 @@ -package com.gh.gamecenter.login; +package com.gh.gamecenter.user; import android.arch.lifecycle.LiveData; import android.arch.persistence.room.Dao; diff --git a/app/src/main/java/com/gh/gamecenter/login/UserRepository.java b/app/src/main/java/com/gh/gamecenter/user/UserRepository.java similarity index 99% rename from app/src/main/java/com/gh/gamecenter/login/UserRepository.java rename to app/src/main/java/com/gh/gamecenter/user/UserRepository.java index ea2882c850..0271bd7793 100644 --- a/app/src/main/java/com/gh/gamecenter/login/UserRepository.java +++ b/app/src/main/java/com/gh/gamecenter/user/UserRepository.java @@ -1,4 +1,4 @@ -package com.gh.gamecenter.login; +package com.gh.gamecenter.user; import android.arch.lifecycle.LiveData; import android.arch.lifecycle.MediatorLiveData; diff --git a/app/src/main/java/com/gh/gamecenter/login/UserViewModel.java b/app/src/main/java/com/gh/gamecenter/user/UserViewModel.java similarity index 98% rename from app/src/main/java/com/gh/gamecenter/login/UserViewModel.java rename to app/src/main/java/com/gh/gamecenter/user/UserViewModel.java index 1c95eaea15..f79eeaade7 100644 --- a/app/src/main/java/com/gh/gamecenter/login/UserViewModel.java +++ b/app/src/main/java/com/gh/gamecenter/user/UserViewModel.java @@ -1,4 +1,4 @@ -package com.gh.gamecenter.login; +package com.gh.gamecenter.user; import android.app.Application; import android.arch.lifecycle.AndroidViewModel; diff --git a/app/src/main/java/com/halo/assistant/fragment/user/SelectPortraitFragment.java b/app/src/main/java/com/halo/assistant/fragment/user/SelectPortraitFragment.java index 0d9a6e6b99..20bc5b7503 100644 --- a/app/src/main/java/com/halo/assistant/fragment/user/SelectPortraitFragment.java +++ b/app/src/main/java/com/halo/assistant/fragment/user/SelectPortraitFragment.java @@ -21,8 +21,8 @@ import com.gh.common.util.UserIconUtils; import com.gh.gamecenter.CropImageActivity; import com.gh.gamecenter.R; import com.gh.gamecenter.entity.UserInfoEntity; -import com.gh.gamecenter.login.ApiResponse; -import com.gh.gamecenter.login.UserViewModel; +import com.gh.gamecenter.user.ApiResponse; +import com.gh.gamecenter.user.UserViewModel; import com.gh.gamecenter.normal.NormalFragment; import com.lightgame.utils.Utils; diff --git a/app/src/main/java/com/halo/assistant/fragment/user/SelectRegionFragment.java b/app/src/main/java/com/halo/assistant/fragment/user/SelectRegionFragment.java index f7abcb8a71..be13ccf171 100644 --- a/app/src/main/java/com/halo/assistant/fragment/user/SelectRegionFragment.java +++ b/app/src/main/java/com/halo/assistant/fragment/user/SelectRegionFragment.java @@ -13,8 +13,8 @@ import com.gh.common.util.DialogUtils; import com.gh.common.util.EntranceUtils; import com.gh.gamecenter.R; import com.gh.gamecenter.entity.UserInfoEntity; -import com.gh.gamecenter.login.ApiResponse; -import com.gh.gamecenter.login.UserViewModel; +import com.gh.gamecenter.user.ApiResponse; +import com.gh.gamecenter.user.UserViewModel; import com.gh.gamecenter.normal.NormalFragment; import com.halo.assistant.fragment.user.region.OnRegionSelectListener; import com.halo.assistant.fragment.user.region.RegionCountFragment; diff --git a/app/src/main/java/com/halo/assistant/fragment/user/UserInfoEditFragment.java b/app/src/main/java/com/halo/assistant/fragment/user/UserInfoEditFragment.java index 7711b996a6..17c16b9ca5 100644 --- a/app/src/main/java/com/halo/assistant/fragment/user/UserInfoEditFragment.java +++ b/app/src/main/java/com/halo/assistant/fragment/user/UserInfoEditFragment.java @@ -19,8 +19,8 @@ import com.gh.common.util.DialogUtils; import com.gh.gamecenter.R; import com.gh.gamecenter.entity.IdCardEntity; import com.gh.gamecenter.entity.UserInfoEntity; -import com.gh.gamecenter.login.ApiResponse; -import com.gh.gamecenter.login.UserViewModel; +import com.gh.gamecenter.user.ApiResponse; +import com.gh.gamecenter.user.UserViewModel; import com.gh.gamecenter.manager.UserManager; import com.gh.gamecenter.normal.NormalFragment; import com.lightgame.utils.Utils; diff --git a/app/src/main/java/com/halo/assistant/fragment/user/UserInfoFragment.java b/app/src/main/java/com/halo/assistant/fragment/user/UserInfoFragment.java index 8b43029ea1..9ec81e0041 100644 --- a/app/src/main/java/com/halo/assistant/fragment/user/UserInfoFragment.java +++ b/app/src/main/java/com/halo/assistant/fragment/user/UserInfoFragment.java @@ -15,8 +15,8 @@ import com.gh.gamecenter.UserInfoEditActivity; import com.gh.gamecenter.UserRegionActivity; import com.gh.gamecenter.entity.IdCardEntity; import com.gh.gamecenter.entity.UserInfoEntity; -import com.gh.gamecenter.login.ApiResponse; -import com.gh.gamecenter.login.UserViewModel; +import com.gh.gamecenter.user.ApiResponse; +import com.gh.gamecenter.user.UserViewModel; import com.gh.gamecenter.normal.NormalFragment; import butterknife.BindView;