fixed issue in logout

This commit is contained in:
Ujjwal Agrawal 2018-05-02 19:44:20 +05:30
parent dc4222e3d4
commit 04d96856b3
9 changed files with 32 additions and 17 deletions

View file

@ -6,6 +6,7 @@ import android.accounts.AccountAuthenticatorResponse;
import android.accounts.AccountManager; import android.accounts.AccountManager;
import android.app.Activity; import android.app.Activity;
import android.app.ProgressDialog; import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.net.Uri; import android.net.Uri;
@ -16,6 +17,7 @@ import android.support.annotation.StringRes;
import android.support.design.widget.TextInputLayout; import android.support.design.widget.TextInputLayout;
import android.support.v4.app.NavUtils; import android.support.v4.app.NavUtils;
import android.support.v4.content.ContextCompat; import android.support.v4.content.ContextCompat;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatDelegate; import android.support.v7.app.AppCompatDelegate;
import android.text.Editable; import android.text.Editable;
import android.text.TextWatcher; import android.text.TextWatcher;
@ -39,6 +41,7 @@ import butterknife.ButterKnife;
import butterknife.OnClick; import butterknife.OnClick;
import fr.free.nrw.commons.AboutActivity; import fr.free.nrw.commons.AboutActivity;
import fr.free.nrw.commons.BuildConfig; import fr.free.nrw.commons.BuildConfig;
import fr.free.nrw.commons.CommonsApplication;
import fr.free.nrw.commons.PageTitle; import fr.free.nrw.commons.PageTitle;
import fr.free.nrw.commons.R; import fr.free.nrw.commons.R;
import fr.free.nrw.commons.Utils; import fr.free.nrw.commons.Utils;
@ -131,7 +134,15 @@ public class LoginActivity extends AccountAuthenticatorActivity {
signupButton.setOnClickListener(view -> signUp()); signupButton.setOnClickListener(view -> signUp());
forgotPasswordText.setOnClickListener(view -> forgotPassword()); forgotPasswordText.setOnClickListener(view -> forgotPassword());
skipLoginText.setOnClickListener(view -> skipLogin()); skipLoginText.setOnClickListener(view -> new AlertDialog.Builder(this).setTitle(R.string.skip_login_title)
.setMessage(R.string.skip_login_message)
.setCancelable(false)
.setPositiveButton(R.string.yes, (dialog, which) -> {
dialog.cancel();
skipLogin();
})
.setNegativeButton(R.string.no, (dialog, which) -> dialog.cancel())
.show());
if(BuildConfig.FLAVOR.equals("beta")){ if(BuildConfig.FLAVOR.equals("beta")){
loginCredentials.setText(getString(R.string.login_credential)); loginCredentials.setText(getString(R.string.login_credential));
@ -141,7 +152,7 @@ public class LoginActivity extends AccountAuthenticatorActivity {
} }
private void skipLogin() { private void skipLogin() {
prefs.edit().putBoolean("isloggedin", false).apply(); prefs.edit().putBoolean("login_skipped", true).apply();
NavigationBaseActivity.startActivityWithFlags(this, NearbyActivity.class, Intent.FLAG_ACTIVITY_CLEAR_TOP); NavigationBaseActivity.startActivityWithFlags(this, NearbyActivity.class, Intent.FLAG_ACTIVITY_CLEAR_TOP);
finish(); finish();
@ -165,7 +176,6 @@ public class LoginActivity extends AccountAuthenticatorActivity {
} }
} }
@Override @Override
protected void onPostCreate(Bundle savedInstanceState) { protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState); super.onPostCreate(savedInstanceState);
@ -183,9 +193,14 @@ public class LoginActivity extends AccountAuthenticatorActivity {
if (sessionManager.getCurrentAccount() != null if (sessionManager.getCurrentAccount() != null
&& sessionManager.isUserLoggedIn() && sessionManager.isUserLoggedIn()
&& sessionManager.getCachedAuthCookie() != null) { && sessionManager.getCachedAuthCookie() != null) {
prefs.edit().putBoolean("login_skipped", false).apply();
startMainActivity(); startMainActivity();
} }
if (prefs.getBoolean("login_skipped", false)){
skipLogin();
}
} }
@Override @Override

View file

@ -65,21 +65,18 @@ public abstract class NavigationBaseActivity extends BaseActivity
setDrawerPaneWidth(); setDrawerPaneWidth();
setUserName(); setUserName();
Menu nav_Menu = navigationView.getMenu(); Menu nav_Menu = navigationView.getMenu();
if (prefs.getBoolean("isloggedin", true)) { if (prefs.getBoolean("login_skipped", true)) {
Toast.makeText(this,"LoggedIn",Toast.LENGTH_SHORT).show();
nav_Menu.findItem(R.id.action_login).setVisible(false);
nav_Menu.findItem(R.id.action_home).setVisible(true);
nav_Menu.findItem(R.id.action_notifications).setVisible(true);
nav_Menu.findItem(R.id.action_settings).setVisible(true);
nav_Menu.findItem(R.id.action_logout).setVisible(true);
}else {
Toast.makeText(this,"Skipped",Toast.LENGTH_SHORT).show();
nav_Menu.findItem(R.id.action_login).setVisible(true); nav_Menu.findItem(R.id.action_login).setVisible(true);
nav_Menu.findItem(R.id.action_home).setVisible(false); nav_Menu.findItem(R.id.action_home).setVisible(false);
nav_Menu.findItem(R.id.action_notifications).setVisible(false); nav_Menu.findItem(R.id.action_notifications).setVisible(false);
nav_Menu.findItem(R.id.action_settings).setVisible(false); nav_Menu.findItem(R.id.action_settings).setVisible(false);
nav_Menu.findItem(R.id.action_logout).setVisible(false); nav_Menu.findItem(R.id.action_logout).setVisible(false);
}else {
nav_Menu.findItem(R.id.action_login).setVisible(false);
nav_Menu.findItem(R.id.action_home).setVisible(true);
nav_Menu.findItem(R.id.action_notifications).setVisible(true);
nav_Menu.findItem(R.id.action_settings).setVisible(true);
nav_Menu.findItem(R.id.action_logout).setVisible(true);
} }
} }
@ -129,6 +126,7 @@ public abstract class NavigationBaseActivity extends BaseActivity
startActivityWithFlags( startActivityWithFlags(
this, LoginActivity.class, Intent.FLAG_ACTIVITY_CLEAR_TOP, this, LoginActivity.class, Intent.FLAG_ACTIVITY_CLEAR_TOP,
Intent.FLAG_ACTIVITY_SINGLE_TOP); Intent.FLAG_ACTIVITY_SINGLE_TOP);
prefs.edit().putBoolean("login_skipped", false).apply();
finish(); finish();
return true; return true;
case R.id.action_home: case R.id.action_home:

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 366 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 533 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 748 B

View file

@ -3,7 +3,7 @@
<item <item
android:id="@+id/action_login" android:id="@+id/action_login"
android:visible="false" android:visible="false"
android:icon="@drawable/ic_home_black_24dp" android:icon="@drawable/ic_person_black_24dp"
android:title="@string/navigation_item_login" /> android:title="@string/navigation_item_login" />
</group> </group>
<group android:id="@+id/drawer_main"> <group android:id="@+id/drawer_main">

View file

@ -272,4 +272,6 @@
<string name="retry">Retry</string> <string name="retry">Retry</string>
<string name="skip_login">Skip </string> <string name="skip_login">Skip </string>
<string name="navigation_item_login">Login</string> <string name="navigation_item_login">Login</string>
<string name="skip_login_title">Do you really want to skip login ?</string>
<string name="skip_login_message">You might not be able to access some features of the app.</string>
</resources> </resources>