Skip to content

Commit

Permalink
Update login from saved token routine to skip social tools request
Browse files Browse the repository at this point in the history
  • Loading branch information
daohoangson committed Feb 21, 2017
1 parent 65c0af8 commit 9f8e664
Showing 1 changed file with 29 additions and 21 deletions.
50 changes: 29 additions & 21 deletions app/src/main/java/com/xfrocks/api/androiddemo/LoginActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ public class LoginActivity extends AppCompatActivity
private Button mGoogleSignIn;

private boolean mViewsEnabled = true;
private boolean mSocialVisibilitiesSet = false;
private ProgressDialog mProgressDialog;

@Override
Expand Down Expand Up @@ -214,21 +215,15 @@ public void onClick(View view) {
});
}

if (mFacebookSignin != null
|| mTwitterSignIn != null
|| mGoogleSignIn != null) {
if (savedInstanceState != null
&& (savedInstanceState.containsKey(STATE_FACEBOOK_SIGN_IN)
|| savedInstanceState.containsKey(STATE_TWITTER_SIGN_IN)
|| savedInstanceState.containsKey(STATE_GOOGLE_SIGN_IN))) {
setSocialVisibilities(
savedInstanceState.getBoolean(STATE_FACEBOOK_SIGN_IN, false),
savedInstanceState.getBoolean(STATE_TWITTER_SIGN_IN, false),
savedInstanceState.getBoolean(STATE_GOOGLE_SIGN_IN, false)
);
} else {
new ToolsLoginSocialRequest().start();
}
if (savedInstanceState != null
&& (savedInstanceState.containsKey(STATE_FACEBOOK_SIGN_IN)
|| savedInstanceState.containsKey(STATE_TWITTER_SIGN_IN)
|| savedInstanceState.containsKey(STATE_GOOGLE_SIGN_IN))) {
setSocialVisibilities(
savedInstanceState.getBoolean(STATE_FACEBOOK_SIGN_IN, false),
savedInstanceState.getBoolean(STATE_TWITTER_SIGN_IN, false),
savedInstanceState.getBoolean(STATE_GOOGLE_SIGN_IN, false)
);
}

Button mRegister = (Button) findViewById(R.id.register);
Expand Down Expand Up @@ -326,7 +321,17 @@ public void onClick(DialogInterface dialogInterface, int i) {
})
.show();
} else {
attemptLogin(at);
if (attemptLogin(at)) {
return;
}
}
}

if (mFacebookSignin != null
|| mTwitterSignIn != null
|| mGoogleSignIn != null) {
if (!mSocialVisibilitiesSet) {
new ToolsLoginSocialRequest().start();
}
}

Expand Down Expand Up @@ -506,23 +511,24 @@ private void attemptLogin(Intent intent) {
setIntent(intent);
}

private void attemptLogin(Api.AccessToken at) {
private boolean attemptLogin(Api.AccessToken at) {
if (mTokenRequest != null) {
return;
return false;
}

if (at.isValid()) {
startNextActivityAndFinish(at);
return;
return true;
}

final String refreshToken = at.getRefreshToken();
if (TextUtils.isEmpty(refreshToken)) {
Toast.makeText(this, R.string.error_no_refresh_token, Toast.LENGTH_LONG).show();
return;
return false;
}

new RefreshTokenRequest(refreshToken).start();
return true;
}

private void startNextActivityAndFinish(Api.AccessToken at) {
Expand All @@ -536,7 +542,7 @@ private void startNextActivityAndFinish(Api.AccessToken at) {
Class[] discussionActivities = new Class[]{
ConversationActivity.class,
};
for (Class discussionActivity: discussionActivities) {
for (Class discussionActivity : discussionActivities) {
String discussionActivityRedirectToPrefix = discussionActivity.getSimpleName() + "://";
if (redirectTo.startsWith(discussionActivityRedirectToPrefix)) {
nextIntent = new Intent(LoginActivity.this, ConversationActivity.class);
Expand Down Expand Up @@ -623,6 +629,8 @@ private void setSocialVisibilities(boolean facebook, boolean twitter, boolean go
if (mGoogleSignIn != null) {
mGoogleSignIn.setVisibility(google ? View.VISIBLE : View.GONE);
}

mSocialVisibilitiesSet = true;
}

private abstract class TokenRequest extends Api.PostRequest {
Expand Down

0 comments on commit 9f8e664

Please sign in to comment.