Skip to content

Commit b33bf38

Browse files
Shared prefernce isloggedin added and menu displayed accordingly
1 parent 6e9331b commit b33bf38

File tree

5 files changed

+40
-1
lines changed

5 files changed

+40
-1
lines changed

app/src/main/java/fr/free/nrw/commons/auth/LoginActivity.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,9 @@
4545
import fr.free.nrw.commons.WelcomeActivity;
4646
import fr.free.nrw.commons.contributions.ContributionsActivity;
4747
import fr.free.nrw.commons.di.ApplicationlessInjection;
48+
import fr.free.nrw.commons.featured.FeaturedImagesActivity_MembersInjector;
4849
import fr.free.nrw.commons.mwapi.MediaWikiApi;
50+
import fr.free.nrw.commons.nearby.NearbyActivity;
4951
import fr.free.nrw.commons.theme.NavigationBaseActivity;
5052
import fr.free.nrw.commons.ui.widget.HtmlTextView;
5153
import io.reactivex.Observable;
@@ -139,8 +141,10 @@ public void onCreate(Bundle savedInstanceState) {
139141
}
140142

141143
private void skipLogin() {
142-
NavigationBaseActivity.startActivityWithFlags(this, AboutActivity.class, Intent.FLAG_ACTIVITY_CLEAR_TOP);
144+
prefs.edit().putBoolean("isloggedin", false).apply();
145+
NavigationBaseActivity.startActivityWithFlags(this, NearbyActivity.class, Intent.FLAG_ACTIVITY_CLEAR_TOP);
143146
finish();
147+
144148
}
145149

146150
private void forgotPassword() {

app/src/main/java/fr/free/nrw/commons/settings/Prefs.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ public class Prefs {
77
public static final String DEFAULT_LICENSE = "defaultLicense";
88
public static final String UPLOADS_SHOWING = "uploadsshowing";
99
public static final String IS_CONTRIBUTION_COUNT_CHANGED = "ccontributionCountChanged";
10+
public static final String IS_LOGGED_IN = "isloggedin";
1011

1112
public static class Licenses {
1213
public static final String CC_BY_SA_3 = "CC BY-SA 3.0";

app/src/main/java/fr/free/nrw/commons/theme/NavigationBaseActivity.java

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,24 @@
55
import android.content.ActivityNotFoundException;
66
import android.content.Context;
77
import android.content.Intent;
8+
import android.content.SharedPreferences;
89
import android.net.Uri;
910
import android.support.annotation.NonNull;
1011
import android.support.design.widget.NavigationView;
1112
import android.support.v4.widget.DrawerLayout;
1213
import android.support.v7.app.ActionBarDrawerToggle;
1314
import android.support.v7.app.AlertDialog;
1415
import android.support.v7.widget.Toolbar;
16+
import android.view.Menu;
1517
import android.view.MenuItem;
1618
import android.view.View;
1719
import android.view.ViewGroup;
1820
import android.widget.TextView;
1921
import android.widget.Toast;
2022

23+
import javax.inject.Inject;
24+
import javax.inject.Named;
25+
2126
import butterknife.BindView;
2227
import fr.free.nrw.commons.AboutActivity;
2328
import fr.free.nrw.commons.BuildConfig;
@@ -43,6 +48,7 @@ public abstract class NavigationBaseActivity extends BaseActivity
4348
NavigationView navigationView;
4449
@BindView(R.id.drawer_layout)
4550
DrawerLayout drawerLayout;
51+
@Inject @Named("application_preferences") SharedPreferences prefs;
4652

4753
private ActionBarDrawerToggle toggle;
4854

@@ -97,6 +103,26 @@ private void setDrawerPaneWidth() {
97103
navigationView.setLayoutParams(params);
98104
}
99105

106+
@Override
107+
public boolean onPrepareOptionsMenu(Menu menu) {
108+
super.onPrepareOptionsMenu(menu);
109+
if (prefs.getBoolean("isloggedin", true)) {
110+
menu.findItem(R.id.action_login).setVisible(false);
111+
menu.findItem(R.id.action_home).setVisible(true);
112+
menu.findItem(R.id.action_notifications).setVisible(true);
113+
menu.findItem(R.id.action_settings).setVisible(true);
114+
menu.findItem(R.id.action_logout).setVisible(true);
115+
116+
}else {
117+
menu.findItem(R.id.action_login).setVisible(true);
118+
menu.findItem(R.id.action_home).setVisible(false);
119+
menu.findItem(R.id.action_notifications).setVisible(false);
120+
menu.findItem(R.id.action_settings).setVisible(false);
121+
menu.findItem(R.id.action_logout).setVisible(false);
122+
}
123+
return true;
124+
}
125+
100126
@Override
101127
public boolean onNavigationItemSelected(@NonNull final MenuItem item) {
102128
final int itemId = item.getItemId();

app/src/main/res/menu/drawer.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
11
<menu xmlns:android="http://schemas.android.com/apk/res/android">
2+
<group android:id="@+id/drawer_login">
3+
<item
4+
android:id="@+id/action_login"
5+
android:visible="false"
6+
android:icon="@drawable/ic_home_black_24dp"
7+
android:title="@string/navigation_item_login" />
8+
</group>
29
<group android:id="@+id/drawer_main">
310
<item
411
android:id="@+id/action_home"

app/src/main/res/values/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,4 +271,5 @@
271271
<string name="about_translate_cancel">Cancel</string>
272272
<string name="retry">Retry</string>
273273
<string name="skip_login">Skip </string>
274+
<string name="navigation_item_login">Login</string>
274275
</resources>

0 commit comments

Comments
 (0)