extract menu filter to separate method

This commit is contained in:
AndyScherzinger 2018-06-23 23:17:12 +02:00
parent ed7d918c26
commit 1908d80a10
No known key found for this signature in database
GPG key ID: 6CADC7E3523C308B

View file

@ -225,7 +225,9 @@ public abstract class DrawerActivity extends ToolbarActivity implements DisplayU
setupDrawerToggle();
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
if(getSupportActionBar() != null) {
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
}
/**
@ -336,76 +338,77 @@ public abstract class DrawerActivity extends ToolbarActivity implements DisplayU
}
Account account = AccountUtils.getCurrentOwnCloudAccount(this);
OwnCloudVersion ownCloudVersion = AccountUtils.getServerVersion(getAccount());
filterDrawerMenu(navigationView.getMenu(), account);
}
private void filterDrawerMenu(Menu menu, Account account) {
boolean searchSupported = AccountUtils.hasSearchSupport(account);
if (getResources().getBoolean(R.bool.bottom_toolbar_enabled) && account != null) {
navigationView.getMenu().removeItem(R.id.nav_all_files);
navigationView.getMenu().removeItem(R.id.nav_settings);
navigationView.getMenu().removeItem(R.id.nav_favorites);
navigationView.getMenu().removeItem(R.id.nav_photos);
menu.removeItem(R.id.nav_all_files);
menu.removeItem(R.id.nav_settings);
menu.removeItem(R.id.nav_favorites);
menu.removeItem(R.id.nav_photos);
}
if (!searchSupported && account != null) {
navigationView.getMenu().removeItem(R.id.nav_photos);
navigationView.getMenu().removeItem(R.id.nav_favorites);
navigationView.getMenu().removeItem(R.id.nav_videos);
menu.removeItem(R.id.nav_photos);
menu.removeItem(R.id.nav_favorites);
menu.removeItem(R.id.nav_videos);
}
if (account != null) {
FileDataStorageManager storageManager = new FileDataStorageManager(account, getContentResolver());
OCCapability capability = storageManager.getCapability(account.name);
if (ownCloudVersion.compareTo(OwnCloudVersion.nextcloud_14) < 0 ||
if (AccountUtils.getServerVersion(getAccount()).compareTo(OwnCloudVersion.nextcloud_14) < 0 ||
capability.getFilesUndelete().isFalse() || capability.getFilesUndelete().isUnknown()) {
navigationView.getMenu().removeItem(R.id.nav_trashbin);
menu.removeItem(R.id.nav_trashbin);
}
}
if (getResources().getBoolean(R.bool.use_home) && navigationView.getMenu().findItem(R.id.nav_all_files) !=
null) {
navigationView.getMenu().findItem(R.id.nav_all_files).setTitle(getResources().
getString(R.string.drawer_item_home));
navigationView.getMenu().findItem(R.id.nav_all_files).setIcon(R.drawable.ic_home);
if (getResources().getBoolean(R.bool.use_home) && menu.findItem(R.id.nav_all_files) != null) {
menu.findItem(R.id.nav_all_files).setTitle(getResources().getString(R.string.drawer_item_home));
menu.findItem(R.id.nav_all_files).setIcon(R.drawable.ic_home);
}
if (!getResources().getBoolean(R.bool.participate_enabled)) {
navigationView.getMenu().removeItem(R.id.nav_participate);
menu.removeItem(R.id.nav_participate);
}
if (!getResources().getBoolean(R.bool.shared_enabled)) {
navigationView.getMenu().removeItem(R.id.nav_shared);
menu.removeItem(R.id.nav_shared);
}
if (!getResources().getBoolean(R.bool.contacts_backup)
|| !getResources().getBoolean(R.bool.show_drawer_contacts_backup)) {
navigationView.getMenu().removeItem(R.id.nav_contacts);
menu.removeItem(R.id.nav_contacts);
}
if (getResources().getBoolean(R.bool.syncedFolder_light)) {
navigationView.getMenu().removeItem(R.id.nav_synced_folders);
menu.removeItem(R.id.nav_synced_folders);
}
if (!getResources().getBoolean(R.bool.show_drawer_logout)) {
navigationView.getMenu().removeItem(R.id.nav_logout);
menu.removeItem(R.id.nav_logout);
}
if (AccountUtils.hasSearchSupport(account)) {
if (!getResources().getBoolean(R.bool.recently_added_enabled)) {
navigationView.getMenu().removeItem(R.id.nav_recently_added);
menu.removeItem(R.id.nav_recently_added);
}
if (!getResources().getBoolean(R.bool.recently_modified_enabled)) {
navigationView.getMenu().removeItem(R.id.nav_recently_modified);
menu.removeItem(R.id.nav_recently_modified);
}
if (!getResources().getBoolean(R.bool.videos_enabled)) {
navigationView.getMenu().removeItem(R.id.nav_videos);
menu.removeItem(R.id.nav_videos);
}
} else if (account != null) {
navigationView.getMenu().removeItem(R.id.nav_recently_added);
navigationView.getMenu().removeItem(R.id.nav_recently_modified);
navigationView.getMenu().removeItem(R.id.nav_videos);
menu.removeItem(R.id.nav_recently_added);
menu.removeItem(R.id.nav_recently_modified);
menu.removeItem(R.id.nav_videos);
}
}