Shared prefernce isloggedin added and menu displayed accordingly

This commit is contained in:
Ujjwal Agrawal 2018-05-01 16:19:43 +05:30
parent 6e9331b892
commit b33bf387c6
5 changed files with 40 additions and 1 deletions

View file

@ -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() {

View file

@ -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";

View file

@ -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();

View file

@ -1,4 +1,11 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:id="@+id/drawer_login">
<item
android:id="@+id/action_login"
android:visible="false"
android:icon="@drawable/ic_home_black_24dp"
android:title="@string/navigation_item_login" />
</group>
<group android:id="@+id/drawer_main">
<item
android:id="@+id/action_home"

View file

@ -271,4 +271,5 @@
<string name="about_translate_cancel">Cancel</string>
<string name="retry">Retry</string>
<string name="skip_login">Skip </string>
<string name="navigation_item_login">Login</string>
</resources>