Loading packages/DocumentsUI/res/menu/activity.xml +5 −3 Original line number Diff line number Diff line Loading @@ -29,7 +29,8 @@ android:icon="@drawable/ic_menu_search" android:showAsAction="always" android:actionViewClass="android.widget.SearchView" android:imeOptions="actionSearch" /> android:imeOptions="actionSearch" android:visible="false" /> <item android:id="@+id/menu_sort" android:title="@string/menu_sort" Loading @@ -51,12 +52,13 @@ android:id="@+id/menu_grid" android:title="@string/menu_grid" android:icon="@drawable/ic_menu_view_grid" android:showAsAction="never" /> android:showAsAction="always" /> <item android:id="@+id/menu_list" android:title="@string/menu_list" android:icon="@drawable/ic_menu_view_list" android:showAsAction="never" /> android:showAsAction="always" /> <item android:id="@+id/menu_new_window" android:title="@string/menu_new_window" Loading packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java +29 −17 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ import android.os.AsyncTask; import android.os.Bundle; import android.provider.DocumentsContract; import android.provider.DocumentsContract.Root; import android.support.annotation.CallSuper; import android.support.annotation.LayoutRes; import android.support.annotation.Nullable; import android.util.Log; Loading Loading @@ -138,10 +139,12 @@ public abstract class BaseActivity extends Activity implements SearchManagerList } @Override @CallSuper public boolean onPrepareOptionsMenu(Menu menu) { super.onPrepareOptionsMenu(menu); final RootInfo root = getCurrentRoot(); mSearchManager.showMenu(canSearchRoot()); final boolean inRecents = getCurrentDirectory() == null; final MenuItem sort = menu.findItem(R.id.menu_sort); Loading @@ -150,24 +153,17 @@ public abstract class BaseActivity extends Activity implements SearchManagerList final MenuItem list = menu.findItem(R.id.menu_list); final MenuItem advanced = menu.findItem(R.id.menu_advanced); final MenuItem fileSize = menu.findItem(R.id.menu_file_size); final MenuItem search = menu.findItem(R.id.menu_search); // I'm thinkin' this isn't necesary here. If it is...'cuz of a bug.... // then uncomment the linke and let's get a proper bug reference here. // mSearchManager.update(root); // Search uses backend ranking; no sorting // Search uses backend ranking; no sorting, recents doesn't support sort. sort.setVisible(!inRecents && !mSearchManager.isSearching()); sortSize.setVisible(mState.showSize); // Only sort by size when file sizes are visible fileSize.setVisible(!mState.forceSize); // grid/list is effectively a toggle. grid.setVisible(mState.derivedMode != State.MODE_GRID); list.setVisible(mState.derivedMode != State.MODE_LIST); sortSize.setVisible(mState.showSize); // Only sort by size when visible fileSize.setVisible(!mState.forceSize); advanced.setVisible(!mState.forceAdvanced); search.setVisible(canSearchRoot()); advanced.setTitle(LocalPreferences.getDisplayAdvancedDevices(this) ? R.string.menu_advanced_hide : R.string.menu_advanced_show); fileSize.setTitle(LocalPreferences.getDisplayFileSize(this) Loading Loading @@ -271,8 +267,10 @@ public abstract class BaseActivity extends Activity implements SearchManagerList return true; case R.id.menu_paste_from_clipboard: DirectoryFragment.get(getFragmentManager()) .pasteFromClipboard(); DirectoryFragment dir = getDirectoryFragment(); if (dir != null) { dir.pasteFromClipboard(); } return true; case R.id.menu_advanced: Loading @@ -295,6 +293,10 @@ public abstract class BaseActivity extends Activity implements SearchManagerList } } final @Nullable DirectoryFragment getDirectoryFragment() { return DirectoryFragment.get(getFragmentManager()); } void showCreateDirectoryDialog() { CreateDirectoryFragment.show(getFragmentManager()); } Loading Loading @@ -423,7 +425,10 @@ public abstract class BaseActivity extends Activity implements SearchManagerList void setDisplayFileSize(boolean display) { LocalPreferences.setDisplayFileSize(this, display); mState.showSize = display; DirectoryFragment.get(getFragmentManager()).onDisplayStateChanged(); DirectoryFragment dir = getDirectoryFragment(); if (dir != null) { dir.onDisplayStateChanged(); } invalidateOptionsMenu(); } Loading @@ -432,7 +437,10 @@ public abstract class BaseActivity extends Activity implements SearchManagerList */ void setUserSortOrder(int sortOrder) { mState.userSortOrder = sortOrder; DirectoryFragment.get(getFragmentManager()).onSortOrderChanged(); DirectoryFragment dir = getDirectoryFragment(); if (dir != null) { dir.onSortOrderChanged(); }; } /** Loading @@ -447,7 +455,10 @@ public abstract class BaseActivity extends Activity implements SearchManagerList // in onOptionsItemSelected, and not do the full invalidation // But! That's a larger refactoring we'll save for another day. invalidateOptionsMenu(); DirectoryFragment.get(getFragmentManager()).onViewModeChanged(); DirectoryFragment dir = getDirectoryFragment(); if (dir != null) { dir.onViewModeChanged(); }; } public void setPending(boolean pending) { Loading Loading @@ -496,7 +507,8 @@ public abstract class BaseActivity extends Activity implements SearchManagerList return; } if (DirectoryFragment.get(getFragmentManager()).onBackPressed()) { DirectoryFragment dir = getDirectoryFragment(); if (dir != null && dir.onBackPressed()) { return; } Loading packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java +10 −4 Original line number Diff line number Diff line Loading @@ -293,18 +293,24 @@ public class DocumentsActivity extends BaseActivity { final DocumentInfo cwd = getCurrentDirectory(); boolean picking = mState.action == ACTION_CREATE || mState.action == ACTION_OPEN_TREE || mState.action == ACTION_PICK_COPY_DESTINATION; if (picking) { // May already be hidden because the root // doesn't support search. mSearchManager.showMenu(false); } final MenuItem createDir = menu.findItem(R.id.menu_create_dir); final MenuItem grid = menu.findItem(R.id.menu_grid); final MenuItem list = menu.findItem(R.id.menu_list); final MenuItem fileSize = menu.findItem(R.id.menu_file_size); boolean recents = cwd == null; boolean picking = mState.action == ACTION_CREATE || mState.action == ACTION_OPEN_TREE || mState.action == ACTION_PICK_COPY_DESTINATION; createDir.setVisible(picking && !recents && cwd.isCreateSupported()); mSearchManager.showMenu(!picking); // No display options in recent directories if (picking && recents) { Loading packages/DocumentsUI/src/com/android/documentsui/DownloadsActivity.java +0 −2 Original line number Diff line number Diff line Loading @@ -150,14 +150,12 @@ public class DownloadsActivity extends BaseActivity { final MenuItem newWindow = menu.findItem(R.id.menu_new_window); final MenuItem pasteFromCb = menu.findItem(R.id.menu_paste_from_clipboard); final MenuItem fileSize = menu.findItem(R.id.menu_file_size); final MenuItem search = menu.findItem(R.id.menu_search); advanced.setVisible(false); createDir.setVisible(false); pasteFromCb.setEnabled(false); newWindow.setEnabled(false); fileSize.setVisible(false); search.setVisible(false); Menus.disableHiddenItems(menu); return true; Loading packages/DocumentsUI/src/com/android/documentsui/FilesActivity.java +21 −14 Original line number Diff line number Diff line Loading @@ -245,20 +245,20 @@ public class FilesActivity extends BaseActivity { @Override public boolean onPrepareOptionsMenu(Menu menu) { super.onPrepareOptionsMenu(menu); final RootInfo root = getCurrentRoot(); final MenuItem createDir = menu.findItem(R.id.menu_create_dir); final MenuItem pasteFromCb = menu.findItem(R.id.menu_paste_from_clipboard); final MenuItem settings = menu.findItem(R.id.menu_settings); createDir.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER); createDir.setVisible(true); createDir.setEnabled(canCreateDirectory()); pasteFromCb.setEnabled(mClipper.hasItemsToPaste()); settings.setVisible(root.hasSettings()); // TODO: For some reason menu is ignoring this being set // to never in activity.xml. File a bug. // TODO: For some reason settings menu item is not // honoring the "showAsAction=never" setting in activity.xml. settings.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER); Menus.disableHiddenItems(menu, pasteFromCb); Loading @@ -276,9 +276,10 @@ public class FilesActivity extends BaseActivity { createNewWindow(); return true; case R.id.menu_paste_from_clipboard: DirectoryFragment dir = DirectoryFragment.get(getFragmentManager()); dir = DirectoryFragment.get(getFragmentManager()); DirectoryFragment dir = getDirectoryFragment(); if (dir != null) { dir.pasteFromClipboard(); } return true; } Loading Loading @@ -381,20 +382,26 @@ public class FilesActivity extends BaseActivity { @Override public boolean onKeyShortcut(int keyCode, KeyEvent event) { DirectoryFragment dir; // TODO: All key events should be statically bound using alphabeticShortcut. // But not working. switch (keyCode) { case KeyEvent.KEYCODE_A: dir = DirectoryFragment.get(getFragmentManager()); dir = getDirectoryFragment(); if (dir != null) { dir.selectAllFiles(); } return true; case KeyEvent.KEYCODE_C: // TODO: Should be statically bound using alphabeticShortcut. See b/21330356. dir = DirectoryFragment.get(getFragmentManager()); dir = getDirectoryFragment(); if (dir != null) { dir.copySelectedToClipboard(); } return true; case KeyEvent.KEYCODE_V: // TODO: Should be statically bound using alphabeticShortcut. See b/21330356. dir = DirectoryFragment.get(getFragmentManager()); dir = getDirectoryFragment(); if (dir != null) { dir.pasteFromClipboard(); } return true; default: return super.onKeyShortcut(keyCode, event); Loading Loading
packages/DocumentsUI/res/menu/activity.xml +5 −3 Original line number Diff line number Diff line Loading @@ -29,7 +29,8 @@ android:icon="@drawable/ic_menu_search" android:showAsAction="always" android:actionViewClass="android.widget.SearchView" android:imeOptions="actionSearch" /> android:imeOptions="actionSearch" android:visible="false" /> <item android:id="@+id/menu_sort" android:title="@string/menu_sort" Loading @@ -51,12 +52,13 @@ android:id="@+id/menu_grid" android:title="@string/menu_grid" android:icon="@drawable/ic_menu_view_grid" android:showAsAction="never" /> android:showAsAction="always" /> <item android:id="@+id/menu_list" android:title="@string/menu_list" android:icon="@drawable/ic_menu_view_list" android:showAsAction="never" /> android:showAsAction="always" /> <item android:id="@+id/menu_new_window" android:title="@string/menu_new_window" Loading
packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java +29 −17 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ import android.os.AsyncTask; import android.os.Bundle; import android.provider.DocumentsContract; import android.provider.DocumentsContract.Root; import android.support.annotation.CallSuper; import android.support.annotation.LayoutRes; import android.support.annotation.Nullable; import android.util.Log; Loading Loading @@ -138,10 +139,12 @@ public abstract class BaseActivity extends Activity implements SearchManagerList } @Override @CallSuper public boolean onPrepareOptionsMenu(Menu menu) { super.onPrepareOptionsMenu(menu); final RootInfo root = getCurrentRoot(); mSearchManager.showMenu(canSearchRoot()); final boolean inRecents = getCurrentDirectory() == null; final MenuItem sort = menu.findItem(R.id.menu_sort); Loading @@ -150,24 +153,17 @@ public abstract class BaseActivity extends Activity implements SearchManagerList final MenuItem list = menu.findItem(R.id.menu_list); final MenuItem advanced = menu.findItem(R.id.menu_advanced); final MenuItem fileSize = menu.findItem(R.id.menu_file_size); final MenuItem search = menu.findItem(R.id.menu_search); // I'm thinkin' this isn't necesary here. If it is...'cuz of a bug.... // then uncomment the linke and let's get a proper bug reference here. // mSearchManager.update(root); // Search uses backend ranking; no sorting // Search uses backend ranking; no sorting, recents doesn't support sort. sort.setVisible(!inRecents && !mSearchManager.isSearching()); sortSize.setVisible(mState.showSize); // Only sort by size when file sizes are visible fileSize.setVisible(!mState.forceSize); // grid/list is effectively a toggle. grid.setVisible(mState.derivedMode != State.MODE_GRID); list.setVisible(mState.derivedMode != State.MODE_LIST); sortSize.setVisible(mState.showSize); // Only sort by size when visible fileSize.setVisible(!mState.forceSize); advanced.setVisible(!mState.forceAdvanced); search.setVisible(canSearchRoot()); advanced.setTitle(LocalPreferences.getDisplayAdvancedDevices(this) ? R.string.menu_advanced_hide : R.string.menu_advanced_show); fileSize.setTitle(LocalPreferences.getDisplayFileSize(this) Loading Loading @@ -271,8 +267,10 @@ public abstract class BaseActivity extends Activity implements SearchManagerList return true; case R.id.menu_paste_from_clipboard: DirectoryFragment.get(getFragmentManager()) .pasteFromClipboard(); DirectoryFragment dir = getDirectoryFragment(); if (dir != null) { dir.pasteFromClipboard(); } return true; case R.id.menu_advanced: Loading @@ -295,6 +293,10 @@ public abstract class BaseActivity extends Activity implements SearchManagerList } } final @Nullable DirectoryFragment getDirectoryFragment() { return DirectoryFragment.get(getFragmentManager()); } void showCreateDirectoryDialog() { CreateDirectoryFragment.show(getFragmentManager()); } Loading Loading @@ -423,7 +425,10 @@ public abstract class BaseActivity extends Activity implements SearchManagerList void setDisplayFileSize(boolean display) { LocalPreferences.setDisplayFileSize(this, display); mState.showSize = display; DirectoryFragment.get(getFragmentManager()).onDisplayStateChanged(); DirectoryFragment dir = getDirectoryFragment(); if (dir != null) { dir.onDisplayStateChanged(); } invalidateOptionsMenu(); } Loading @@ -432,7 +437,10 @@ public abstract class BaseActivity extends Activity implements SearchManagerList */ void setUserSortOrder(int sortOrder) { mState.userSortOrder = sortOrder; DirectoryFragment.get(getFragmentManager()).onSortOrderChanged(); DirectoryFragment dir = getDirectoryFragment(); if (dir != null) { dir.onSortOrderChanged(); }; } /** Loading @@ -447,7 +455,10 @@ public abstract class BaseActivity extends Activity implements SearchManagerList // in onOptionsItemSelected, and not do the full invalidation // But! That's a larger refactoring we'll save for another day. invalidateOptionsMenu(); DirectoryFragment.get(getFragmentManager()).onViewModeChanged(); DirectoryFragment dir = getDirectoryFragment(); if (dir != null) { dir.onViewModeChanged(); }; } public void setPending(boolean pending) { Loading Loading @@ -496,7 +507,8 @@ public abstract class BaseActivity extends Activity implements SearchManagerList return; } if (DirectoryFragment.get(getFragmentManager()).onBackPressed()) { DirectoryFragment dir = getDirectoryFragment(); if (dir != null && dir.onBackPressed()) { return; } Loading
packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java +10 −4 Original line number Diff line number Diff line Loading @@ -293,18 +293,24 @@ public class DocumentsActivity extends BaseActivity { final DocumentInfo cwd = getCurrentDirectory(); boolean picking = mState.action == ACTION_CREATE || mState.action == ACTION_OPEN_TREE || mState.action == ACTION_PICK_COPY_DESTINATION; if (picking) { // May already be hidden because the root // doesn't support search. mSearchManager.showMenu(false); } final MenuItem createDir = menu.findItem(R.id.menu_create_dir); final MenuItem grid = menu.findItem(R.id.menu_grid); final MenuItem list = menu.findItem(R.id.menu_list); final MenuItem fileSize = menu.findItem(R.id.menu_file_size); boolean recents = cwd == null; boolean picking = mState.action == ACTION_CREATE || mState.action == ACTION_OPEN_TREE || mState.action == ACTION_PICK_COPY_DESTINATION; createDir.setVisible(picking && !recents && cwd.isCreateSupported()); mSearchManager.showMenu(!picking); // No display options in recent directories if (picking && recents) { Loading
packages/DocumentsUI/src/com/android/documentsui/DownloadsActivity.java +0 −2 Original line number Diff line number Diff line Loading @@ -150,14 +150,12 @@ public class DownloadsActivity extends BaseActivity { final MenuItem newWindow = menu.findItem(R.id.menu_new_window); final MenuItem pasteFromCb = menu.findItem(R.id.menu_paste_from_clipboard); final MenuItem fileSize = menu.findItem(R.id.menu_file_size); final MenuItem search = menu.findItem(R.id.menu_search); advanced.setVisible(false); createDir.setVisible(false); pasteFromCb.setEnabled(false); newWindow.setEnabled(false); fileSize.setVisible(false); search.setVisible(false); Menus.disableHiddenItems(menu); return true; Loading
packages/DocumentsUI/src/com/android/documentsui/FilesActivity.java +21 −14 Original line number Diff line number Diff line Loading @@ -245,20 +245,20 @@ public class FilesActivity extends BaseActivity { @Override public boolean onPrepareOptionsMenu(Menu menu) { super.onPrepareOptionsMenu(menu); final RootInfo root = getCurrentRoot(); final MenuItem createDir = menu.findItem(R.id.menu_create_dir); final MenuItem pasteFromCb = menu.findItem(R.id.menu_paste_from_clipboard); final MenuItem settings = menu.findItem(R.id.menu_settings); createDir.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER); createDir.setVisible(true); createDir.setEnabled(canCreateDirectory()); pasteFromCb.setEnabled(mClipper.hasItemsToPaste()); settings.setVisible(root.hasSettings()); // TODO: For some reason menu is ignoring this being set // to never in activity.xml. File a bug. // TODO: For some reason settings menu item is not // honoring the "showAsAction=never" setting in activity.xml. settings.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER); Menus.disableHiddenItems(menu, pasteFromCb); Loading @@ -276,9 +276,10 @@ public class FilesActivity extends BaseActivity { createNewWindow(); return true; case R.id.menu_paste_from_clipboard: DirectoryFragment dir = DirectoryFragment.get(getFragmentManager()); dir = DirectoryFragment.get(getFragmentManager()); DirectoryFragment dir = getDirectoryFragment(); if (dir != null) { dir.pasteFromClipboard(); } return true; } Loading Loading @@ -381,20 +382,26 @@ public class FilesActivity extends BaseActivity { @Override public boolean onKeyShortcut(int keyCode, KeyEvent event) { DirectoryFragment dir; // TODO: All key events should be statically bound using alphabeticShortcut. // But not working. switch (keyCode) { case KeyEvent.KEYCODE_A: dir = DirectoryFragment.get(getFragmentManager()); dir = getDirectoryFragment(); if (dir != null) { dir.selectAllFiles(); } return true; case KeyEvent.KEYCODE_C: // TODO: Should be statically bound using alphabeticShortcut. See b/21330356. dir = DirectoryFragment.get(getFragmentManager()); dir = getDirectoryFragment(); if (dir != null) { dir.copySelectedToClipboard(); } return true; case KeyEvent.KEYCODE_V: // TODO: Should be statically bound using alphabeticShortcut. See b/21330356. dir = DirectoryFragment.get(getFragmentManager()); dir = getDirectoryFragment(); if (dir != null) { dir.pasteFromClipboard(); } return true; default: return super.onKeyShortcut(keyCode, event); Loading