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 66ab216b0..5ccf7d461 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 @@ -45,7 +45,9 @@ import fr.free.nrw.commons.Utils; import fr.free.nrw.commons.WelcomeActivity; import fr.free.nrw.commons.contributions.ContributionsActivity; import fr.free.nrw.commons.di.ApplicationlessInjection; +import fr.free.nrw.commons.featured.FeaturedImagesActivity_MembersInjector; import fr.free.nrw.commons.mwapi.MediaWikiApi; +import fr.free.nrw.commons.nearby.NearbyActivity; import fr.free.nrw.commons.theme.NavigationBaseActivity; import fr.free.nrw.commons.ui.widget.HtmlTextView; import io.reactivex.Observable; @@ -139,8 +141,10 @@ public class LoginActivity extends AccountAuthenticatorActivity { } private void skipLogin() { - NavigationBaseActivity.startActivityWithFlags(this, AboutActivity.class, Intent.FLAG_ACTIVITY_CLEAR_TOP); + prefs.edit().putBoolean("isloggedin", false).apply(); + NavigationBaseActivity.startActivityWithFlags(this, NearbyActivity.class, Intent.FLAG_ACTIVITY_CLEAR_TOP); finish(); + } private void forgotPassword() { diff --git a/app/src/main/java/fr/free/nrw/commons/settings/Prefs.java b/app/src/main/java/fr/free/nrw/commons/settings/Prefs.java index 722733393..1142c7e3b 100644 --- a/app/src/main/java/fr/free/nrw/commons/settings/Prefs.java +++ b/app/src/main/java/fr/free/nrw/commons/settings/Prefs.java @@ -7,6 +7,7 @@ public class Prefs { public static final String DEFAULT_LICENSE = "defaultLicense"; public static final String UPLOADS_SHOWING = "uploadsshowing"; public static final String IS_CONTRIBUTION_COUNT_CHANGED = "ccontributionCountChanged"; + public static final String IS_LOGGED_IN = "isloggedin"; public static class Licenses { public static final String CC_BY_SA_3 = "CC BY-SA 3.0"; 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 acd9b7646..12477794b 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 @@ -5,6 +5,7 @@ import android.accounts.AccountManager; import android.content.ActivityNotFoundException; import android.content.Context; import android.content.Intent; +import android.content.SharedPreferences; import android.net.Uri; import android.support.annotation.NonNull; import android.support.design.widget.NavigationView; @@ -12,12 +13,16 @@ import android.support.v4.widget.DrawerLayout; import android.support.v7.app.ActionBarDrawerToggle; import android.support.v7.app.AlertDialog; import android.support.v7.widget.Toolbar; +import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import android.widget.Toast; +import javax.inject.Inject; +import javax.inject.Named; + import butterknife.BindView; import fr.free.nrw.commons.AboutActivity; import fr.free.nrw.commons.BuildConfig; @@ -43,6 +48,7 @@ public abstract class NavigationBaseActivity extends BaseActivity NavigationView navigationView; @BindView(R.id.drawer_layout) DrawerLayout drawerLayout; + @Inject @Named("application_preferences") SharedPreferences prefs; private ActionBarDrawerToggle toggle; @@ -97,6 +103,26 @@ public abstract class NavigationBaseActivity extends BaseActivity navigationView.setLayoutParams(params); } + @Override + public boolean onPrepareOptionsMenu(Menu menu) { + super.onPrepareOptionsMenu(menu); + if (prefs.getBoolean("isloggedin", true)) { + menu.findItem(R.id.action_login).setVisible(false); + menu.findItem(R.id.action_home).setVisible(true); + menu.findItem(R.id.action_notifications).setVisible(true); + menu.findItem(R.id.action_settings).setVisible(true); + menu.findItem(R.id.action_logout).setVisible(true); + + }else { + menu.findItem(R.id.action_login).setVisible(true); + menu.findItem(R.id.action_home).setVisible(false); + menu.findItem(R.id.action_notifications).setVisible(false); + menu.findItem(R.id.action_settings).setVisible(false); + menu.findItem(R.id.action_logout).setVisible(false); + } + return true; + } + @Override public boolean onNavigationItemSelected(@NonNull final MenuItem item) { final int itemId = item.getItemId(); diff --git a/app/src/main/res/menu/drawer.xml b/app/src/main/res/menu/drawer.xml index ae6e0cce2..997d2fdde 100644 --- a/app/src/main/res/menu/drawer.xml +++ b/app/src/main/res/menu/drawer.xml @@ -1,4 +1,11 @@ + + + Cancel Retry Skip + Login