From 43d7e532db5f1c8563577d6e2c2acbe68af70f60 Mon Sep 17 00:00:00 2001 From: seven332 Date: Sat, 19 Mar 2016 19:16:59 +0800 Subject: [PATCH] Avoid signing in twice --- .../com/hippo/ehviewer/ui/scene/SignInScene.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/SignInScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/SignInScene.java index 430922c34..0d2be639a 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/SignInScene.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/SignInScene.java @@ -80,6 +80,7 @@ public final class SignInScene extends BaseScene implements EditText.OnEditorAct @Nullable private TextView mSkipSigningIn; + private boolean mSigningIn; private int mRequestId; @Override @@ -150,6 +151,7 @@ public final class SignInScene extends BaseScene implements EditText.OnEditorAct AssertUtils.assertNotNull(container); EhApplication application = (EhApplication) context.getApplicationContext(); if (application.containGlobalStuff(mRequestId)) { + mSigningIn = true; // request exist showProgress(false); } @@ -248,6 +250,10 @@ public final class SignInScene extends BaseScene implements EditText.OnEditorAct } private void signIn() { + if (mSigningIn) { + return; + } + Context context = getContext2(); MainActivity activity = getActivity2(); if (null == context || null == activity || null == mUsername || null == mPassword || null == mUsernameLayout || @@ -286,6 +292,8 @@ public final class SignInScene extends BaseScene implements EditText.OnEditorAct .setArgs(username, password) .setCallback(callback); EhApplication.getEhClient(context).execute(request); + + mSigningIn = true; } private void getProfile() { @@ -339,6 +347,7 @@ public final class SignInScene extends BaseScene implements EditText.OnEditorAct if (EhApplication.getEhCookieStore(context).hasSignedIn()) { getProfile(); } else { + mSigningIn = false; hideProgress(); whetherToSkip(); } @@ -350,6 +359,7 @@ public final class SignInScene extends BaseScene implements EditText.OnEditorAct return; } + mSigningIn = false; Toast.makeText(context, ExceptionUtils.getReadableString(context, e), Toast.LENGTH_SHORT).show(); hideProgress(); @@ -357,6 +367,7 @@ public final class SignInScene extends BaseScene implements EditText.OnEditorAct } public void onGetProfileSuccess() { + mSigningIn = false; updateAvatar(); redirectTo(); } @@ -367,6 +378,7 @@ public final class SignInScene extends BaseScene implements EditText.OnEditorAct return; } + mSigningIn = false; Toast.makeText(context, ExceptionUtils.getReadableString(context, e), Toast.LENGTH_SHORT).show(); hideProgress();