Merge branch 'skip_login' of github.com:ujjwalagrawal17/apps-android-commons

This commit is contained in:
Nicolas Raoul 2018-08-07 13:12:00 +09:00
commit f12f1d50a3
9 changed files with 178 additions and 13 deletions

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,6 +13,7 @@ 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;
@ -19,6 +21,9 @@ import android.widget.ImageView;
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;
@ -46,6 +51,8 @@ public abstract class NavigationBaseActivity extends BaseActivity
NavigationView navigationView;
@BindView(R.id.drawer_layout)
DrawerLayout drawerLayout;
@Inject @Named("application_preferences") SharedPreferences prefs;
private ActionBarDrawerToggle toggle;
@ -61,6 +68,24 @@ public abstract class NavigationBaseActivity extends BaseActivity
toggle.syncState();
setDrawerPaneWidth();
setUserName();
Menu nav_Menu = navigationView.getMenu();
View headerLayout = navigationView.getHeaderView(0);
ImageView userIcon = headerLayout.findViewById(R.id.user_icon);
if (prefs.getBoolean("login_skipped", false)) {
userIcon.setVisibility(View.GONE);
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 {
userIcon.setVisibility(View.VISIBLE);
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);
}
}
/**
@ -120,6 +145,14 @@ public abstract class NavigationBaseActivity extends BaseActivity
public boolean onNavigationItemSelected(@NonNull final MenuItem item) {
final int itemId = item.getItemId();
switch (itemId) {
case R.id.action_login:
drawerLayout.closeDrawer(navigationView);
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:
drawerLayout.closeDrawer(navigationView);
startActivityWithFlags(