mirror of
https://github.com/M66B/FairEmail.git
synced 2025-12-26 07:32:08 +01:00
Stable navigation menu, refactoring
This commit is contained in:
@@ -130,11 +130,15 @@ public class ActivitySetup extends ActivityBilling implements FragmentManager.On
|
||||
drawerLayout.addDrawerListener(drawerToggle);
|
||||
|
||||
drawerList = findViewById(R.id.drawer_list);
|
||||
|
||||
final DrawerAdapter drawerArray = new DrawerAdapter(this);
|
||||
drawerList.setAdapter(drawerArray);
|
||||
|
||||
drawerList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
|
||||
@Override
|
||||
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
|
||||
DrawerItem item = (DrawerItem) parent.getAdapter().getItem(position);
|
||||
switch (item.getId()) {
|
||||
DrawerItem item = drawerArray.getItem(position);
|
||||
switch (item.getMenuId()) {
|
||||
case R.string.title_setup_export:
|
||||
onMenuExport();
|
||||
break;
|
||||
@@ -145,7 +149,7 @@ public class ActivitySetup extends ActivityBilling implements FragmentManager.On
|
||||
case R.string.title_setup_dark_theme:
|
||||
case R.string.title_setup_black_theme:
|
||||
case R.string.title_setup_system_theme:
|
||||
onMenuTheme(item.getId());
|
||||
onMenuTheme(item.getMenuId());
|
||||
break;
|
||||
case R.string.title_setup_notifications:
|
||||
onManageNotifications();
|
||||
@@ -174,8 +178,8 @@ public class ActivitySetup extends ActivityBilling implements FragmentManager.On
|
||||
drawerList.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
|
||||
@Override
|
||||
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
|
||||
DrawerItem item = (DrawerItem) parent.getAdapter().getItem(position);
|
||||
if (item.getId() == R.string.menu_privacy) {
|
||||
DrawerItem item = drawerArray.getItem(position);
|
||||
if (item.getMenuId() == R.string.menu_privacy) {
|
||||
new SimpleTask<Void>() {
|
||||
@Override
|
||||
protected Void onExecute(Context context, Bundle args) {
|
||||
@@ -197,39 +201,35 @@ public class ActivitySetup extends ActivityBilling implements FragmentManager.On
|
||||
});
|
||||
|
||||
PackageManager pm = getPackageManager();
|
||||
DrawerAdapter drawerArray = new DrawerAdapter(this);
|
||||
|
||||
if (getIntentExport().resolveActivity(pm) != null)
|
||||
drawerArray.add(new DrawerItem(this, R.layout.item_drawer, R.drawable.baseline_archive_24, R.string.title_setup_export));
|
||||
drawerArray.add(new DrawerItem(-1, R.string.title_setup_export, R.drawable.baseline_archive_24));
|
||||
if (getIntentImport().resolveActivity(pm) != null)
|
||||
drawerArray.add(new DrawerItem(this, R.layout.item_drawer, R.drawable.baseline_unarchive_24, R.string.title_setup_import));
|
||||
drawerArray.add(new DrawerItem(-2, R.string.title_setup_import, R.drawable.baseline_unarchive_24));
|
||||
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
|
||||
String theme = prefs.getString("theme", "system");
|
||||
if ("light".equals(theme))
|
||||
drawerArray.add(new DrawerItem(this, R.layout.item_drawer, R.drawable.baseline_palette_24, R.string.title_setup_dark_theme));
|
||||
drawerArray.add(new DrawerItem(-3, R.string.title_setup_dark_theme, R.drawable.baseline_palette_24));
|
||||
else if ("dark".equals(theme))
|
||||
drawerArray.add(new DrawerItem(this, R.layout.item_drawer, R.drawable.baseline_palette_24, R.string.title_setup_black_theme));
|
||||
drawerArray.add(new DrawerItem(-4, R.string.title_setup_black_theme, R.drawable.baseline_palette_24));
|
||||
else if ("black".equals(theme))
|
||||
drawerArray.add(new DrawerItem(this, R.layout.item_drawer, R.drawable.baseline_palette_24, R.string.title_setup_system_theme));
|
||||
drawerArray.add(new DrawerItem(-5, R.string.title_setup_system_theme, R.drawable.baseline_palette_24));
|
||||
else
|
||||
drawerArray.add(new DrawerItem(this, R.layout.item_drawer, R.drawable.baseline_palette_24, R.string.title_setup_light_theme));
|
||||
drawerArray.add(new DrawerItem(-6, R.string.title_setup_light_theme, R.drawable.baseline_palette_24));
|
||||
|
||||
if (getIntentNotifications(this).resolveActivity(pm) != null)
|
||||
drawerArray.add(new DrawerItem(this, R.layout.item_drawer, R.drawable.baseline_notifications_24, R.string.title_setup_notifications));
|
||||
drawerArray.add(new DrawerItem(-7, R.string.title_setup_notifications, R.drawable.baseline_notifications_24));
|
||||
|
||||
drawerArray.add(new DrawerItem(this, R.layout.item_drawer, R.drawable.baseline_settings_applications_24, R.string.title_setup_advanced));
|
||||
drawerArray.add(new DrawerItem(-8, R.string.title_setup_advanced, R.drawable.baseline_settings_applications_24));
|
||||
|
||||
drawerArray.add(new DrawerItem(R.layout.item_drawer_separator));
|
||||
drawerArray.add(new DrawerItem(-9));
|
||||
|
||||
drawerArray.add(new DrawerItem(this, R.layout.item_drawer, R.drawable.baseline_help_24, R.string.menu_legend));
|
||||
drawerArray.add(new DrawerItem(-10, R.string.menu_legend, R.drawable.baseline_help_24));
|
||||
if (Helper.getIntentFAQ().resolveActivity(getPackageManager()) != null)
|
||||
drawerArray.add(new DrawerItem(this, R.layout.item_drawer, R.drawable.baseline_question_answer_24, R.string.menu_faq));
|
||||
drawerArray.add(new DrawerItem(-11, R.string.menu_faq, R.drawable.baseline_question_answer_24));
|
||||
if (Helper.getIntentPrivacy().resolveActivity(getPackageManager()) != null)
|
||||
drawerArray.add(new DrawerItem(this, R.layout.item_drawer, R.drawable.baseline_account_box_24, R.string.menu_privacy));
|
||||
drawerArray.add(new DrawerItem(this, R.layout.item_drawer, R.drawable.baseline_info_24, R.string.menu_about));
|
||||
|
||||
drawerList.setAdapter(drawerArray);
|
||||
drawerArray.add(new DrawerItem(-12, R.string.menu_privacy, R.drawable.baseline_account_box_24));
|
||||
drawerArray.add(new DrawerItem(-13, R.string.menu_about, R.drawable.baseline_info_24));
|
||||
|
||||
getSupportFragmentManager().addOnBackStackChangedListener(this);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user