From 8b118b309cecf1dcb3d0a28c0d7492c5bbc0da8a Mon Sep 17 00:00:00 2001 From: Vivek Maskara Date: Thu, 19 Apr 2018 15:22:58 +0530 Subject: [PATCH] Fix loading issue after upgrade from older version (#1454) --- .../fr/free/nrw/commons/auth/LoginActivity.java | 7 ++++--- .../fr/free/nrw/commons/auth/SessionManager.java | 14 ++++++++++---- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/auth/LoginActivity.java b/app/src/main/java/fr/free/nrw/commons/auth/LoginActivity.java index 256c7e3b3..ef46869c4 100644 --- a/app/src/main/java/fr/free/nrw/commons/auth/LoginActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/auth/LoginActivity.java @@ -19,7 +19,6 @@ import android.support.v4.content.ContextCompat; import android.support.v7.app.AppCompatDelegate; import android.text.Editable; import android.text.TextWatcher; -import android.util.Log; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; @@ -28,7 +27,6 @@ import android.view.inputmethod.InputMethodManager; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; -import android.widget.Toast; import java.io.IOException; @@ -160,7 +158,10 @@ public class LoginActivity extends AccountAuthenticatorActivity { WelcomeActivity.startYourself(this); prefs.edit().putBoolean("firstrun", false).apply(); } - if (sessionManager.getCurrentAccount() != null) { + + if (sessionManager.getCurrentAccount() != null + && sessionManager.isUserLoggedIn() + && sessionManager.getCachedAuthCookie() != null) { startMainActivity(); } } diff --git a/app/src/main/java/fr/free/nrw/commons/auth/SessionManager.java b/app/src/main/java/fr/free/nrw/commons/auth/SessionManager.java index a7e62c34e..ad9a0bda4 100644 --- a/app/src/main/java/fr/free/nrw/commons/auth/SessionManager.java +++ b/app/src/main/java/fr/free/nrw/commons/auth/SessionManager.java @@ -61,13 +61,11 @@ public class SessionManager { } public String getAuthCookie() { - boolean isLoggedIn = sharedPreferences.getBoolean("isUserLoggedIn", false); - - if (!isLoggedIn) { + if (!isUserLoggedIn()) { Timber.e("User is not logged in"); return null; } else { - String authCookie = sharedPreferences.getString("getAuthCookie", null); + String authCookie = getCachedAuthCookie(); if (authCookie == null) { Timber.e("Auth cookie is null even after login"); } @@ -75,6 +73,14 @@ public class SessionManager { } } + public String getCachedAuthCookie() { + return sharedPreferences.getString("getAuthCookie", null); + } + + public boolean isUserLoggedIn() { + return sharedPreferences.getBoolean("isUserLoggedIn", false); + } + public Completable clearAllAccounts() { AccountManager accountManager = AccountManager.get(context); Account[] allAccounts = accountManager.getAccountsByType(ACCOUNT_TYPE);