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 bb9cfbd3e..a596645f9 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 @@ -6,6 +6,7 @@ import android.accounts.AccountAuthenticatorResponse; import android.accounts.AccountManager; import android.app.Activity; import android.app.ProgressDialog; +import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; import android.net.Uri; @@ -16,6 +17,7 @@ import android.support.annotation.StringRes; import android.support.design.widget.TextInputLayout; import android.support.v4.app.NavUtils; import android.support.v4.content.ContextCompat; +import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatDelegate; import android.text.Editable; import android.text.TextWatcher; @@ -39,6 +41,7 @@ import butterknife.ButterKnife; import butterknife.OnClick; import fr.free.nrw.commons.AboutActivity; import fr.free.nrw.commons.BuildConfig; +import fr.free.nrw.commons.CommonsApplication; import fr.free.nrw.commons.PageTitle; import fr.free.nrw.commons.R; import fr.free.nrw.commons.Utils; @@ -131,7 +134,15 @@ public class LoginActivity extends AccountAuthenticatorActivity { signupButton.setOnClickListener(view -> signUp()); 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")){ loginCredentials.setText(getString(R.string.login_credential)); @@ -141,7 +152,7 @@ public class LoginActivity extends AccountAuthenticatorActivity { } 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); finish(); @@ -165,7 +176,6 @@ public class LoginActivity extends AccountAuthenticatorActivity { } } - @Override protected void onPostCreate(Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); @@ -181,11 +191,16 @@ public class LoginActivity extends AccountAuthenticatorActivity { } if (sessionManager.getCurrentAccount() != null - && sessionManager.isUserLoggedIn() - && sessionManager.getCachedAuthCookie() != null) { - + && sessionManager.isUserLoggedIn() + && sessionManager.getCachedAuthCookie() != null) { + prefs.edit().putBoolean("login_skipped", false).apply(); startMainActivity(); } + + if (prefs.getBoolean("login_skipped", false)){ + skipLogin(); + } + } @Override diff --git a/app/src/main/java/fr/free/nrw/commons/theme/NavigationBaseActivity.java b/app/src/main/java/fr/free/nrw/commons/theme/NavigationBaseActivity.java index 2a0bf1290..dcacb8d9a 100644 --- a/app/src/main/java/fr/free/nrw/commons/theme/NavigationBaseActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/theme/NavigationBaseActivity.java @@ -65,21 +65,18 @@ public abstract class NavigationBaseActivity extends BaseActivity setDrawerPaneWidth(); setUserName(); Menu nav_Menu = navigationView.getMenu(); - if (prefs.getBoolean("isloggedin", 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(); + if (prefs.getBoolean("login_skipped", 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_notifications).setVisible(false); nav_Menu.findItem(R.id.action_settings).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( this, LoginActivity.class, Intent.FLAG_ACTIVITY_CLEAR_TOP, Intent.FLAG_ACTIVITY_SINGLE_TOP); + prefs.edit().putBoolean("login_skipped", false).apply(); finish(); return true; case R.id.action_home: diff --git a/app/src/main/res/drawable-hdpi/ic_person_black_24dp.png b/app/src/main/res/drawable-hdpi/ic_person_black_24dp.png new file mode 100644 index 000000000..4a8a6c159 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_person_black_24dp.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_person_black_24dp.png b/app/src/main/res/drawable-mdpi/ic_person_black_24dp.png new file mode 100644 index 000000000..77c5bb8df Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_person_black_24dp.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_person_black_24dp.png b/app/src/main/res/drawable-xhdpi/ic_person_black_24dp.png new file mode 100644 index 000000000..d991b0e01 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_person_black_24dp.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_person_black_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_person_black_24dp.png new file mode 100644 index 000000000..7a9747527 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_person_black_24dp.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_person_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_person_black_24dp.png new file mode 100644 index 000000000..295cb3256 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_person_black_24dp.png differ diff --git a/app/src/main/res/menu/drawer.xml b/app/src/main/res/menu/drawer.xml index 997d2fdde..e2729fdec 100644 --- a/app/src/main/res/menu/drawer.xml +++ b/app/src/main/res/menu/drawer.xml @@ -3,7 +3,7 @@ diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 109f59e8b..73b6f208d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -272,4 +272,6 @@ Retry Skip Login + Do you really want to skip login ? + You might not be able to access some features of the app.