diff --git a/app/src/main/java/app/fedilab/android/helper/Helper.java b/app/src/main/java/app/fedilab/android/helper/Helper.java index 2c19c8215..b0b11a499 100644 --- a/app/src/main/java/app/fedilab/android/helper/Helper.java +++ b/app/src/main/java/app/fedilab/android/helper/Helper.java @@ -1506,7 +1506,7 @@ public class Helper { */ public static void changeUser(Activity activity, String userID, String instance, boolean notificationIntent) { - + final SharedPreferences sharedpreferences = activity.getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE); final NavigationView navigationView = activity.findViewById(R.id.nav_view); navigationView.getMenu().clear(); MainActivity.lastNotificationId = null; @@ -1519,13 +1519,7 @@ public class Helper { //Can happen when an account has been deleted and there is a click on an old notification if( account == null) return; - //Locked account can see follow request - if (account.isLocked()) { - navigationView.getMenu().findItem(R.id.nav_follow_request).setVisible(true); - } else { - navigationView.getMenu().findItem(R.id.nav_follow_request).setVisible(false); - } - SharedPreferences sharedpreferences = activity.getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE); + String token = sharedpreferences.getString(Helper.PREF_KEY_OAUTH_TOKEN, null); if( !account.getToken().equals(token)){ FragmentManager fm = activity.getFragmentManager(); @@ -1533,6 +1527,7 @@ public class Helper { fm.popBackStack(); } } + SharedPreferences.Editor editor = sharedpreferences.edit(); editor.putString(Helper.PREF_KEY_OAUTH_TOKEN, account.getToken()); editor.putString(Helper.PREF_KEY_ID, account.getId()); @@ -2918,6 +2913,27 @@ public class Helper { if( navigationView.getMenu().findItem(R.id.nav_follow_request) != null) navigationView.getMenu().findItem(R.id.nav_follow_request).setVisible(false); } + MenuItem news = navigationView.getMenu().findItem(R.id.nav_news); + if( news != null){ + boolean display_news = sharedpreferences.getBoolean(Helper.SET_DISPLAY_NEWS_FROM_FEDILAB, true); + if( ! display_news ){ + news.setVisible(false); + } + } + if( MainActivity.social != UpdateAccountInfoAsyncTask.SOCIAL.MASTODON){ + MenuItem adminItem = navigationView.getMenu().findItem(R.id.nav_administration); + if( adminItem != null){ + adminItem.setVisible(false); + } + }else{ + boolean display_admin_menu = sharedpreferences.getBoolean(Helper.SET_DISPLAY_ADMIN_MENU + userID + instance, false); + if( !display_admin_menu){ + MenuItem adminItem = navigationView.getMenu().findItem(R.id.nav_administration); + if( adminItem != null){ + adminItem.setVisible(false); + } + } + } } String instanceVersion = sharedpreferences.getString(Helper.INSTANCE_VERSION + userID + instance, null);