|
@@ -89,6 +89,7 @@ import com.owncloud.android.ui.events.MenuItemClickEvent;
|
|
|
import com.owncloud.android.ui.events.SearchEvent;
|
|
|
import com.owncloud.android.ui.trashbin.TrashbinActivity;
|
|
|
import com.owncloud.android.utils.DisplayUtils;
|
|
|
+import com.owncloud.android.utils.DrawerMenuUtil;
|
|
|
import com.owncloud.android.utils.FilesSyncHelper;
|
|
|
import com.owncloud.android.utils.ThemeUtils;
|
|
|
import com.owncloud.android.utils.svg.MenuSimpleTarget;
|
|
@@ -342,75 +343,19 @@ public abstract class DrawerActivity extends ToolbarActivity implements DisplayU
|
|
|
}
|
|
|
|
|
|
private void filterDrawerMenu(Menu menu, Account account) {
|
|
|
- boolean searchSupported = AccountUtils.hasSearchSupport(account);
|
|
|
+ DrawerMenuUtil.filterForBottomToolbarMenuItems(menu, getResources());
|
|
|
+ DrawerMenuUtil.filterSearchMenuItems(menu, account, getResources());
|
|
|
+ DrawerMenuUtil.filterTrashbinMenuItems(menu, account, getContentResolver());
|
|
|
|
|
|
- if (getResources().getBoolean(R.bool.bottom_toolbar_enabled) && account != null) {
|
|
|
- filterMenuItems(menu, R.id.nav_all_files, R.id.nav_settings, R.id.nav_favorites, R.id.nav_photos);
|
|
|
- }
|
|
|
-
|
|
|
- if (!searchSupported && account != null) {
|
|
|
- filterMenuItems(menu, R.id.nav_photos, R.id.nav_favorites, R.id.nav_videos);
|
|
|
- }
|
|
|
-
|
|
|
- if (account != null) {
|
|
|
- FileDataStorageManager storageManager = new FileDataStorageManager(account, getContentResolver());
|
|
|
- OCCapability capability = storageManager.getCapability(account.name);
|
|
|
-
|
|
|
- if (AccountUtils.getServerVersion(getAccount()).compareTo(OwnCloudVersion.nextcloud_14) < 0 ||
|
|
|
- capability.getFilesUndelete().isFalse() || capability.getFilesUndelete().isUnknown()) {
|
|
|
- filterMenuItems(menu, R.id.nav_trashbin);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- 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)) {
|
|
|
- menu.removeItem(R.id.nav_participate);
|
|
|
- }
|
|
|
-
|
|
|
- if (!getResources().getBoolean(R.bool.shared_enabled)) {
|
|
|
- menu.removeItem(R.id.nav_shared);
|
|
|
- }
|
|
|
-
|
|
|
- if (!getResources().getBoolean(R.bool.contacts_backup)
|
|
|
- || !getResources().getBoolean(R.bool.show_drawer_contacts_backup)) {
|
|
|
- menu.removeItem(R.id.nav_contacts);
|
|
|
- }
|
|
|
-
|
|
|
- if (getResources().getBoolean(R.bool.syncedFolder_light)) {
|
|
|
- menu.removeItem(R.id.nav_synced_folders);
|
|
|
- }
|
|
|
-
|
|
|
- if (!getResources().getBoolean(R.bool.show_drawer_logout)) {
|
|
|
- menu.removeItem(R.id.nav_logout);
|
|
|
- }
|
|
|
-
|
|
|
- if (AccountUtils.hasSearchSupport(account)) {
|
|
|
- if (!getResources().getBoolean(R.bool.recently_added_enabled)) {
|
|
|
- menu.removeItem(R.id.nav_recently_added);
|
|
|
- }
|
|
|
+ DrawerMenuUtil.setupHomeMenuItem(menu, getResources());
|
|
|
|
|
|
- if (!getResources().getBoolean(R.bool.recently_modified_enabled)) {
|
|
|
- menu.removeItem(R.id.nav_recently_modified);
|
|
|
- }
|
|
|
+ DrawerMenuUtil.removeMenuItem(menu, R.id.nav_participate, !getResources().getBoolean(R.bool.participate_enabled));
|
|
|
+ DrawerMenuUtil.removeMenuItem(menu, R.id.nav_shared, !getResources().getBoolean(R.bool.shared_enabled));
|
|
|
+ DrawerMenuUtil.removeMenuItem(menu, R.id.nav_contacts, !getResources().getBoolean(R.bool.contacts_backup)
|
|
|
+ || !getResources().getBoolean(R.bool.show_drawer_contacts_backup));
|
|
|
|
|
|
- if (!getResources().getBoolean(R.bool.videos_enabled)) {
|
|
|
- menu.removeItem(R.id.nav_videos);
|
|
|
- }
|
|
|
- } else if (account != null) {
|
|
|
- filterMenuItems(menu, R.id.nav_recently_added, R.id.nav_recently_modified, R.id.nav_videos);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private static void filterMenuItems(Menu menu, int... menuIds) {
|
|
|
- if (menuIds != null) {
|
|
|
- for (int menuId : menuIds) {
|
|
|
- menu.removeItem(menuId);
|
|
|
- }
|
|
|
- }
|
|
|
+ DrawerMenuUtil.removeMenuItem(menu, R.id.nav_synced_folders, getResources().getBoolean(R.bool.syncedFolder_light));
|
|
|
+ DrawerMenuUtil.removeMenuItem(menu, R.id.nav_logout, !getResources().getBoolean(R.bool.show_drawer_logout));
|
|
|
}
|
|
|
|
|
|
@Subscribe(threadMode = ThreadMode.MAIN)
|