Remove menu item in drawer which are already in tabs

This commit is contained in:
tom79 2017-09-23 14:26:51 +02:00
parent 8b48c8600b
commit dbd14c68f4
6 changed files with 3 additions and 183 deletions

View File

@ -302,19 +302,14 @@ public class MainActivity extends AppCompatActivity
viewPager.setVisibility(View.VISIBLE);
Helper.switchLayout(MainActivity.this);
if( tab.getPosition() == 0) {
item = navigationView.getMenu().findItem(R.id.nav_home);
fragmentTag = "HOME_TIMELINE";
}else if( tab.getPosition() == 1) {
fragmentTag = "NOTIFICATIONS";
item = navigationView.getMenu().findItem(R.id.nav_notification);
}else if( tab.getPosition() == 2 && display_local) {
fragmentTag = "LOCAL_TIMELINE";
item = navigationView.getMenu().findItem(R.id.nav_local);
}else if( tab.getPosition() == 2 && !display_local) {
item = navigationView.getMenu().findItem(R.id.nav_global);
fragmentTag = "PUBLIC_TIMELINE";
}else if( tab.getPosition() == 3){
item = navigationView.getMenu().findItem(R.id.nav_global);
fragmentTag = "PUBLIC_TIMELINE";
}
if( item != null){
@ -402,7 +397,7 @@ public class MainActivity extends AppCompatActivity
muteFrag.scrollToTop();
}
//Scroll to top when top bar is clicked (THEME_MENU only)
} else if (Helper.THEME_MENU == sharedpreferences.getInt(Helper.SET_TABS, Helper.THEME_TABS)) {
} else {
int pos = tabLayout.getSelectedTabPosition();
Fragment fragment = (Fragment) viewPager.getAdapter().instantiateItem(viewPager, pos);
switch (pos) {
@ -531,11 +526,7 @@ public class MainActivity extends AppCompatActivity
}
});
boolean matchingIntent = mamageNewIntent(getIntent());
if (savedInstanceState == null && !matchingIntent) {
navigationView.setCheckedItem(R.id.nav_home);
navigationView.getMenu().performIdentifierAction(R.id.nav_home, 0);
toolbarTitle.setText(R.string.home_menu);
}
boolean popupShown = sharedpreferences.getBoolean(Helper.SET_POPUP_PUSH, false);
if(!popupShown){
@ -620,9 +611,6 @@ public class MainActivity extends AppCompatActivity
matchingIntent = true;
}else if( extras.getInt(INTENT_ACTION) == CHANGE_USER_INTENT){
unCheckAllMenuItems(navigationView);
navigationView.setCheckedItem(R.id.nav_home);
navigationView.getMenu().performIdentifierAction(R.id.nav_home, 0);
toolbarTitle.setText(R.string.home_menu);
matchingIntent = true;
}
}else if( Intent.ACTION_SEND.equals(action) && type != null ) {
@ -744,22 +732,8 @@ public class MainActivity extends AppCompatActivity
changeDrawableColor(getApplicationContext(), R.drawable.ic_translate,R.color.white);
}
switch (viewPager.getCurrentItem()){
case 0:
toolbarTitle.setText(R.string.home_menu);
navigationView.getMenu().findItem(R.id.nav_home).setChecked(true);
break;
case 1:
toot.setVisibility(View.GONE);
toolbarTitle.setText(R.string.notifications);
navigationView.getMenu().findItem(R.id.nav_notification).setChecked(true);
break;
case 2:
toolbarTitle.setText(R.string.local_menu);
navigationView.getMenu().findItem(R.id.nav_local).setChecked(true);
break;
case 3:
toolbarTitle.setText(R.string.global_menu);
navigationView.getMenu().findItem(R.id.nav_global).setChecked(true);
break;
}
}
@ -946,28 +920,6 @@ public class MainActivity extends AppCompatActivity
toolbar_search.setIconified(true);
}
toolbarTitle.setText(item.getTitle());
if (id == R.id.nav_home) {
if( tabLayout.getSelectedTabPosition() != 0)
//noinspection ConstantConditions
tabLayout.getTabAt(0).select();
return true;
} else if( id == R.id.nav_notification){
if( tabLayout.getSelectedTabPosition() != 1)
//noinspection ConstantConditions
tabLayout.getTabAt(1).select();
return true;
}else if (id == R.id.nav_local) {
if( tabLayout.getSelectedTabPosition() != 2)
//noinspection ConstantConditions
tabLayout.getTabAt(2).select();
return true;
} else if (id == R.id.nav_global) {
if( tabLayout.getSelectedTabPosition() != 3)
//noinspection ConstantConditions
tabLayout.getTabAt(3).select();
return true;
}
DisplayStatusFragment statusFragment;
DisplayAccountsFragment accountsFragment;
Bundle bundle = new Bundle();

View File

@ -418,35 +418,6 @@ public class SettingsFragment extends Fragment {
}
});
final Spinner tabs_layout_spinner = (Spinner) rootView.findViewById(R.id.tabs_layout_spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(getActivity(),
R.array.settings_menu_tabs, android.R.layout.simple_spinner_item);
tabs_layout_spinner.setAdapter(adapter);
int positionSpinner = (sharedpreferences.getInt(Helper.SET_TABS, Helper.THEME_TABS) - 1);
tabs_layout_spinner.setSelection(positionSpinner);
tabs_layout_spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
if( count > 0){
SharedPreferences.Editor editor = sharedpreferences.edit();
editor.putInt(Helper.SET_TABS, (position + 1));
editor.apply();
Helper.switchLayout(getActivity());
getActivity().recreate();
Intent intent = new Intent(context, MainActivity.class);
intent.putExtra(INTENT_ACTION, CHANGE_THEME_INTENT);
startActivity(intent);
}else {
count++;
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
final Spinner translation_layout_spinner = (Spinner) rootView.findViewById(R.id.translation_layout_spinner);
ArrayAdapter<CharSequence> adapterTrans = ArrayAdapter.createFromResource(getActivity(),

View File

@ -196,7 +196,6 @@ public class Helper {
public static final String SET_AUTO_STORE = "set_auto_store";
public static final String SET_POPUP_PUSH = "set_popup_push";
public static final String SET_NSFW_TIMEOUT = "set_nsfw_timeout";
public static final String SET_TABS = "set_tabs";
public static final String SET_MEDIA_URLS = "set_media_urls";
public static final String SET_TEXT_SIZE = "set_text_size";
public static final String SET_ICON_SIZE = "set_icon_size";
@ -210,9 +209,6 @@ public class Helper {
public static final int ATTACHMENT_ASK = 3;
public static final int THEME_LIGHT = 1;
public static final int THEME_DARK = 2;
public static final int THEME_TABS = 1;
public static final int THEME_MENU = 2;
public static final int THEME_MENU_TABS = 3;
public static final int LED_COLOUR = 0;
@ -1577,22 +1573,9 @@ public class Helper {
*/
public static void switchLayout(Activity activity){
//Check if the class calling the method is an instance of MainActivity
boolean isTablet = activity.getResources().getBoolean(R.bool.isTablet);
final SharedPreferences sharedpreferences = activity.getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE);
int timelineLayout = sharedpreferences.getInt(Helper.SET_TABS, Helper.THEME_TABS);
final NavigationView navigationView = (NavigationView) activity.findViewById(R.id.nav_view);
android.support.design.widget.TabLayout tableLayout = (android.support.design.widget.TabLayout) activity.findViewById(R.id.tabLayout);
LinearLayout toolbar_search_container = (LinearLayout) activity.findViewById(R.id.toolbar_search_container);
ViewGroup.LayoutParams params = toolbar_search_container.getLayoutParams();
int heightSearchdp, heightSearchdpAlone;
if( !isTablet){
heightSearchdp = 40;
heightSearchdpAlone = 60;
}else {
heightSearchdp = 40;
heightSearchdpAlone = 60;
}
String userID = sharedpreferences.getString(Helper.PREF_KEY_ID, null);
SQLiteDatabase db = Sqlite.getInstance(activity, Sqlite.DB_NAME, null, Sqlite.DB_VERSION).open();
Account account = new AccountDAO(activity,db).getAccountByID(userID);
@ -1605,37 +1588,7 @@ public class Helper {
navigationView.getMenu().findItem(R.id.nav_follow_request).setVisible(false);
}
}
if( navigationView.getMenu().findItem(R.id.nav_home) != null){
switch (timelineLayout){
case Helper.THEME_TABS:
navigationView.getMenu().findItem(R.id.nav_home).setVisible(false);
navigationView.getMenu().findItem(R.id.nav_local).setVisible(false);
navigationView.getMenu().findItem(R.id.nav_global).setVisible(false);
navigationView.getMenu().findItem(R.id.nav_notification).setVisible(false);
params.height = (int) Helper.convertDpToPixel(heightSearchdp, activity);
toolbar_search_container.setLayoutParams(params);
tableLayout.setVisibility(View.VISIBLE);
break;
case Helper.THEME_MENU:
navigationView.getMenu().findItem(R.id.nav_home).setVisible(true);
navigationView.getMenu().findItem(R.id.nav_local).setVisible(true);
navigationView.getMenu().findItem(R.id.nav_global).setVisible(true);
navigationView.getMenu().findItem(R.id.nav_notification).setVisible(true);
params.height = (int) Helper.convertDpToPixel(heightSearchdpAlone, activity);;
toolbar_search_container.setLayoutParams(params);
tableLayout.setVisibility(View.GONE);
break;
case Helper.THEME_MENU_TABS:
navigationView.getMenu().findItem(R.id.nav_home).setVisible(true);
navigationView.getMenu().findItem(R.id.nav_local).setVisible(true);
navigationView.getMenu().findItem(R.id.nav_global).setVisible(true);
navigationView.getMenu().findItem(R.id.nav_notification).setVisible(true);
params.height = (int) Helper.convertDpToPixel(heightSearchdp, activity);
toolbar_search_container.setLayoutParams(params);
tableLayout.setVisibility(View.VISIBLE);
break;
}
}
tableLayout.setVisibility(View.VISIBLE);
}
/**

View File

@ -289,26 +289,6 @@
android:layout_height="wrap_content">
</SeekBar>
</LinearLayout>
<!-- TABS Layout -->
<LinearLayout
android:id="@+id/tabs_layout_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:layout_gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_gravity="center_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/settings_ui_layout"/>
<Spinner
android:id="@+id/tabs_layout_spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</LinearLayout>
</ScrollView>

View File

@ -289,26 +289,6 @@
android:layout_height="wrap_content">
</SeekBar>
</LinearLayout>
<!-- TABS Layout -->
<LinearLayout
android:layout_marginTop="10dp"
android:layout_marginBottom="20dp"
android:id="@+id/tabs_layout_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_gravity="center_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/settings_ui_layout"/>
<Spinner
android:id="@+id/tabs_layout_spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</LinearLayout>
</ScrollView>

View File

@ -11,22 +11,6 @@
android:id="@+id/menu_none"
android:title=""
android:visible="false"/>
<item
android:id="@+id/nav_home"
android:icon="@drawable/ic_action_home"
android:title="@string/home_menu" />
<item
android:id="@+id/nav_local"
android:icon="@drawable/ic_action_users"
android:title="@string/local_menu" />
<item
android:id="@+id/nav_global"
android:icon="@drawable/ic_action_globe_menu"
android:title="@string/global_menu" />
<item
android:id="@+id/nav_notification"
android:icon="@drawable/ic_notifications"
android:title="@string/notifications" />
<item
android:id="@+id/nav_scheduled"
android:icon="@drawable/ic_schedule_black"