From e5127c9040ac341e14bca7bd0cd2ed59a87b68aa Mon Sep 17 00:00:00 2001 From: kehaoyuan Date: Mon, 18 Sep 2017 18:35:32 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=80=E5=87=BA=E7=99=BB=E5=BD=95=E6=97=B6?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=BF=87=E7=A8=8B=E5=BC=B9=E7=AA=97,=20?= =?UTF-8?q?=E9=98=B2=E6=AD=A2=E8=BF=87=E6=97=A9=E6=88=96=E8=BF=87=E6=85=A2?= =?UTF-8?q?=E6=B8=85=E9=99=A4token=E9=80=A0=E6=88=90=E7=9A=84=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/gh/common/util/LoginUtils.java | 19 ++++++++++++++++--- .../com/gh/gamecenter/CropImageActivity.java | 1 + .../java/com/gh/gamecenter/KaiFuActivity.java | 2 +- .../com/gh/gamecenter/SettingActivity.java | 12 +++++++++--- .../gamecenter/news/News2FragmentAdapter.java | 7 +++++++ .../gamecenter/personal/PersonalFragment.java | 13 +++---------- 6 files changed, 37 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/com/gh/common/util/LoginUtils.java b/app/src/main/java/com/gh/common/util/LoginUtils.java index 9912166f8f..2de908fcd4 100644 --- a/app/src/main/java/com/gh/common/util/LoginUtils.java +++ b/app/src/main/java/com/gh/common/util/LoginUtils.java @@ -273,7 +273,7 @@ public class LoginUtils { } // 注销登录 - public static void logout(final Context context) { + public static void logout(final Context context, final OnLogoutListener listener) { RetrofitManager.getInstance(context) .getUsersea() @@ -281,9 +281,19 @@ public class LoginUtils { .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Response() { + + @Override + public void onResponse(ResponseBody response) { + super.onResponse(response); + cleanUserData(context); + listener.onCompleted(); + } + @Override public void onFailure(HttpException e) { super.onFailure(e); + cleanUserData(context); + listener.onCompleted(); if (e == null) { Utils.toast(context, "请检查网络是否可用"); return; @@ -299,8 +309,6 @@ public class LoginUtils { } } }); - - cleanUserData(context); } // 清除本地用户相关信息 @@ -663,6 +671,11 @@ public class LoginUtils { } + // 更改用户信息回调 + public interface OnLogoutListener { + void onCompleted(); + } + // 更改用户信息回调 public interface onChangeUserInfoListener { void onChange(); diff --git a/app/src/main/java/com/gh/gamecenter/CropImageActivity.java b/app/src/main/java/com/gh/gamecenter/CropImageActivity.java index b503a22d77..9bdc305de3 100644 --- a/app/src/main/java/com/gh/gamecenter/CropImageActivity.java +++ b/app/src/main/java/com/gh/gamecenter/CropImageActivity.java @@ -28,6 +28,7 @@ import com.gh.common.util.EntranceUtils; import com.gh.common.util.LoginUtils; import com.gh.common.view.CropImageCustom; import com.lightgame.download.FileUtils; +import com.lightgame.utils.Utils; import org.json.JSONException; import org.json.JSONObject; diff --git a/app/src/main/java/com/gh/gamecenter/KaiFuActivity.java b/app/src/main/java/com/gh/gamecenter/KaiFuActivity.java index 5bd5b30fb4..e5b89fe085 100644 --- a/app/src/main/java/com/gh/gamecenter/KaiFuActivity.java +++ b/app/src/main/java/com/gh/gamecenter/KaiFuActivity.java @@ -87,7 +87,7 @@ public class KaiFuActivity extends BaseActivity { mKaiFuFragment.setCurPage(mGameKaiFuFragment.getCurPage()); mResetTv.setVisibility(View.GONE); - mKaiFuFragment.onPause(); + mKaiFuFragment.onResume(); // 启动观察者 FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction(); fragmentTransaction.remove(mGameKaiFuFragment); fragmentTransaction.show(mKaiFuFragment); diff --git a/app/src/main/java/com/gh/gamecenter/SettingActivity.java b/app/src/main/java/com/gh/gamecenter/SettingActivity.java index c90420ae12..2524ee465a 100644 --- a/app/src/main/java/com/gh/gamecenter/SettingActivity.java +++ b/app/src/main/java/com/gh/gamecenter/SettingActivity.java @@ -267,9 +267,15 @@ public class SettingActivity extends BaseActivity implements OnClickListener { "确定退出", "取消", new DialogUtils.ConfirmListener() { @Override public void onConfirm() { - LoginUtils.logout(SettingActivity.this); - EventBus.getDefault().post(new EBReuse(PersonalFragment.LOGOUT_TAG)); - finish(); + loadingDialog = DialogUtils.showWaitDialog(SettingActivity.this, "退出登录中..."); + LoginUtils.logout(SettingActivity.this, new LoginUtils.OnLogoutListener() { + @Override + public void onCompleted() { + if (loadingDialog != null) loadingDialog.dismiss(); + EventBus.getDefault().post(new EBReuse(PersonalFragment.LOGOUT_TAG)); + finish(); + } + }); } }, null); break; diff --git a/app/src/main/java/com/gh/gamecenter/news/News2FragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/news/News2FragmentAdapter.java index c21478658d..a0af0ce1b5 100644 --- a/app/src/main/java/com/gh/gamecenter/news/News2FragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/news/News2FragmentAdapter.java @@ -21,6 +21,7 @@ import com.gh.common.util.DisplayUtils; import com.gh.common.util.EntranceUtils; import com.gh.common.util.ImageUtils; import com.gh.common.util.LibaoUtils; +import com.gh.common.util.LoginUtils; import com.gh.common.util.NewsUtils; import com.gh.common.util.PlatformUtils; import com.gh.common.util.StringUtils; @@ -108,6 +109,12 @@ public class News2FragmentAdapter extends BaseRecyclerAdapter { if (isLoading) { return; } + + if (TextUtils.isEmpty(LoginUtils.getToken(mContext))) { + isLoading = true; + listener.loadEmpty(); + return; + } isLoading = true; RetrofitManager.getInstance(mContext).getApi() .getZiXunConcern(offset) 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 af4966a92f..16d968a90e 100644 --- a/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java +++ b/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java @@ -16,7 +16,6 @@ import com.gh.common.util.DataCollectionUtils; import com.gh.common.util.DataUtils; import com.gh.common.util.DialogUtils; import com.gh.common.util.GetLoginDataUtils; -import com.gh.common.util.LibaoUtils; import com.gh.common.util.LoginUtils; import com.gh.common.util.PackageUtils; import com.gh.gamecenter.CollectionActivity; @@ -30,13 +29,11 @@ import com.gh.gamecenter.ShareGhActivity; import com.gh.gamecenter.SuggestSelectActivity; import com.gh.gamecenter.SuggestionActivity; import com.gh.gamecenter.UserInfoActivity; -import com.gh.gamecenter.db.ConcernDao; import com.gh.gamecenter.db.KeFuMarkReadDao; -import com.gh.gamecenter.db.LibaoDao; -import com.gh.gamecenter.db.VoteDao; import com.gh.gamecenter.entity.AppEntity; import com.gh.gamecenter.entity.MessageUnreadEntity; import com.gh.gamecenter.entity.UserInfoEntity; +import com.gh.gamecenter.eventbus.EBConcernChanged; import com.gh.gamecenter.eventbus.EBNetworkState; import com.gh.gamecenter.eventbus.EBReuse; import com.gh.gamecenter.message.MessageFragment; @@ -165,15 +162,11 @@ public class PersonalFragment extends BaseFragment implements GetLoginDataUtils. mUserInfoEntity = LoginUtils.getUserInfo(getContext()); changeLoginState(true); checkMessageUnread(getContext()); // 检查是否有未读消息 - LibaoUtils.getCunHaoXiang(getContext()); // 初始化存号箱 -// ConcernUtils.INSTANCE.initConcern(getContext()); + EventBus.getDefault().post(new EBConcernChanged()); } else if (reuse.getType().equals(LOGOUT_TAG)) { // 登出 changeLoginState(false); mUserInfoEntity = null; - new ConcernDao(getContext()).clean(); - new LibaoDao(getContext()).clean(); - new VoteDao(getContext()).clean(); - new LibaoDao(getContext()).clean(); + EventBus.getDefault().post(new EBConcernChanged()); } else if (MessageFragment.MESSAGE_READ_OVER.equals(reuse.getType())) { // 消息阅读完成 if (mLoginMessgeHint != null) { mLoginMessgeHint.setVisibility(View.GONE);