Loading packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java +0 −26 Original line number Diff line number Diff line Loading @@ -165,33 +165,7 @@ public abstract class BaseActivity extends Activity @CallSuper public boolean onPrepareOptionsMenu(Menu menu) { super.onPrepareOptionsMenu(menu); mSearchManager.showMenu(canSearchRoot()); final boolean inRecents = getCurrentDirectory() == null; final MenuItem sort = menu.findItem(R.id.menu_sort); final MenuItem sortSize = menu.findItem(R.id.menu_sort_size); final MenuItem grid = menu.findItem(R.id.menu_grid); 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); // Search uses backend ranking; no sorting, recents doesn't support sort. sort.setEnabled(!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); advanced.setVisible(mState.showAdvancedOption); advanced.setTitle(mState.showAdvancedOption && mState.showAdvanced ? R.string.menu_advanced_hide : R.string.menu_advanced_show); fileSize.setTitle(LocalPreferences.getDisplayFileSize(this) ? R.string.menu_file_size_hide : R.string.menu_file_size_show); return true; } Loading packages/DocumentsUI/src/com/android/documentsui/DocumentsMenuManager.java +7 −40 Original line number Diff line number Diff line Loading @@ -25,15 +25,14 @@ import static com.android.documentsui.State.ACTION_PICK_COPY_DESTINATION; import android.view.Menu; import android.view.MenuItem; import com.android.documentsui.MenuManager.DirectoryDetails; final class DocumentsMenuManager extends MenuManager { private final State mState; private final SearchViewManager mSearchManager; private boolean mPicking; public DocumentsMenuManager(SearchViewManager searchManager, State displayState) { mSearchManager = searchManager; mState = displayState; super(searchManager, displayState); mPicking = mState.action == ACTION_CREATE || mState.action == ACTION_OPEN_TREE Loading @@ -56,24 +55,17 @@ final class DocumentsMenuManager extends MenuManager { if (mPicking && directoryDetails.isInRecents()) { grid.setVisible(false); list.setVisible(false); } else { super.updateModePicker(grid, list, directoryDetails); } } @Override void updateFileSize(MenuItem fileSize, DirectoryDetails directoryDetails) { super.updateFileSize(fileSize, directoryDetails); fileSize.setVisible(fileSize.isVisible() && !mPicking); } @Override void updateSettings(MenuItem settings, DirectoryDetails directoryDetails) { //assert(!settings.isVisible()); } @Override void updateNewWindow(MenuItem newWindow, DirectoryDetails directoryDetails) { //assert(!newWindow.isVisible()); } @Override void updateSelectAll(MenuItem selectAll, SelectionDetails selectionDetails) { selectAll.setVisible(mState.allowMultiple); Loading @@ -90,29 +82,4 @@ final class DocumentsMenuManager extends MenuManager { open.setVisible(mState.action == ACTION_GET_CONTENT || mState.action == ACTION_OPEN); } @Override void updateShare(MenuItem share, SelectionDetails selectionDetails) { share.setVisible(false); } @Override void updateDelete(MenuItem delete, SelectionDetails selectionDetails) { delete.setVisible(false); } @Override void updateRename(MenuItem rename, SelectionDetails selectionDetails) { rename.setVisible(false); } @Override void updateMoveTo(MenuItem moveTo, SelectionDetails selectionDetails) { //assert(!moveTo.isVisible()); } @Override void updateCopyTo(MenuItem copyTo, SelectionDetails selectionDetails) { //assert(!copyTo.isVisible()); } } packages/DocumentsUI/src/com/android/documentsui/FilesActivity.java +1 −1 Original line number Diff line number Diff line Loading @@ -82,7 +82,7 @@ public class FilesActivity extends BaseActivity { super.onCreate(icicle); mClipper = DocumentsApplication.getDocumentClipper(this); mMenuManager = new FilesMenuManager(mSearchManager); mMenuManager = new FilesMenuManager(mSearchManager, getDisplayState()); mDetails = new DirectoryDetails(this) { @Override public boolean hasItemsToPaste() { Loading packages/DocumentsUI/src/com/android/documentsui/FilesMenuManager.java +11 −21 Original line number Diff line number Diff line Loading @@ -16,15 +16,21 @@ package com.android.documentsui; import static com.android.documentsui.State.ACTION_CREATE; import static com.android.documentsui.State.ACTION_GET_CONTENT; import static com.android.documentsui.State.ACTION_OPEN; import static com.android.documentsui.State.ACTION_OPEN_TREE; import static com.android.documentsui.State.ACTION_PICK_COPY_DESTINATION; import android.view.Menu; import android.view.MenuItem; final class FilesMenuManager extends MenuManager { import com.android.documentsui.MenuManager.DirectoryDetails; private final SearchViewManager mSearchManager; final class FilesMenuManager extends MenuManager { public FilesMenuManager(SearchViewManager searchManager) { mSearchManager = searchManager; public FilesMenuManager(SearchViewManager searchManager, State displayState) { super(searchManager, displayState); } @Override Loading @@ -35,17 +41,6 @@ final class FilesMenuManager extends MenuManager { mSearchManager.updateMenu(); } @Override void updateModePicker(MenuItem grid, MenuItem list, DirectoryDetails directoryDetails) { //assert(!grid.isVisible()); //assert(list.isVisible()); } @Override void updateFileSize(MenuItem fileSize, DirectoryDetails directoryDetails) { //assert(fileSize.isVisible()); } @Override void updateSettings(MenuItem settings, DirectoryDetails directoryDetails) { settings.setVisible(directoryDetails.hasRootSettings()); Loading @@ -70,7 +65,7 @@ final class FilesMenuManager extends MenuManager { @Override void updateSelectAll(MenuItem selectAll, SelectionDetails selectionDetails) { assert(selectAll.isVisible()); selectAll.setVisible(true); } @Override Loading @@ -79,11 +74,6 @@ final class FilesMenuManager extends MenuManager { createDir.setEnabled(directoryDetails.canCreateDirectory()); } @Override void updateOpen(MenuItem open, SelectionDetails selectionDetails) { open.setVisible(false); } @Override void updateShare(MenuItem share, SelectionDetails selectionDetails) { share.setVisible(!selectionDetails.containsDirectories() Loading packages/DocumentsUI/src/com/android/documentsui/MenuManager.java +79 −16 Original line number Diff line number Diff line Loading @@ -22,6 +22,14 @@ import android.view.MenuItem; public abstract class MenuManager { final State mState; final SearchViewManager mSearchManager; public MenuManager(SearchViewManager searchManager, State displayState) { mSearchManager = searchManager; mState = displayState; } /** @See DirectoryFragment.SelectionModeListener#updateActionMenu */ public void updateActionMenu(Menu menu, SelectionDetails selection) { updateOpen(menu.findItem(R.id.menu_open), selection); Loading @@ -36,12 +44,17 @@ public abstract class MenuManager { } /** @See Activity#onPrepareOptionsMenu */ public void updateOptionMenu(Menu menu, DirectoryDetails details) { updateCreateDir(menu.findItem(R.id.menu_create_dir), details); updateSettings(menu.findItem(R.id.menu_settings), details); updateNewWindow(menu.findItem(R.id.menu_new_window), details); updateFileSize(menu.findItem(R.id.menu_file_size), details); updateModePicker(menu.findItem(R.id.menu_grid), menu.findItem(R.id.menu_list), details); public void updateOptionMenu(Menu menu, DirectoryDetails directoryDetails) { updateCreateDir(menu.findItem(R.id.menu_create_dir), directoryDetails); updateSettings(menu.findItem(R.id.menu_settings), directoryDetails); updateNewWindow(menu.findItem(R.id.menu_new_window), directoryDetails); updateFileSize(menu.findItem(R.id.menu_file_size), directoryDetails); updateModePicker(menu.findItem( R.id.menu_grid), menu.findItem(R.id.menu_list), directoryDetails); updateSort(menu.findItem(R.id.menu_sort), menu.findItem(R.id.menu_sort_size), directoryDetails); updateAdvanced(menu.findItem(R.id.menu_advanced), directoryDetails); Menus.disableHiddenItems(menu); } Loading Loading @@ -81,18 +94,64 @@ public abstract class MenuManager { delete.setVisible(true); } abstract void updateModePicker(MenuItem grid, MenuItem list, DirectoryDetails directoryDetails); abstract void updateFileSize(MenuItem fileSize, DirectoryDetails directoryDetails); abstract void updateSettings(MenuItem settings, DirectoryDetails directoryDetails); abstract void updateNewWindow(MenuItem newWindow, DirectoryDetails directoryDetails); abstract void updateMoveTo(MenuItem moveTo, SelectionDetails selectionDetails); abstract void updateCopyTo(MenuItem copyTo, SelectionDetails selectionDetails); void updateModePicker(MenuItem grid, MenuItem list, DirectoryDetails directoryDetails) { grid.setVisible(mState.derivedMode != State.MODE_GRID); list.setVisible(mState.derivedMode != State.MODE_LIST); } void updateFileSize(MenuItem fileSize, DirectoryDetails directoryDetails) { fileSize.setVisible(!mState.forceSize); fileSize.setTitle(directoryDetails.getDisplayFileSize() ? R.string.menu_file_size_hide : R.string.menu_file_size_show); } void updateSort(MenuItem sort, MenuItem sortSize, DirectoryDetails directoryDetails) { // Search uses backend ranking; no sorting, recents doesn't support sort. sort.setEnabled(!directoryDetails.isInRecents() && !mSearchManager.isSearching()); sort.setVisible(true); sortSize.setVisible(mState.showSize); // Only sort by size when file sizes are visible } void updateAdvanced(MenuItem advanced, DirectoryDetails directoryDetails) { advanced.setVisible(mState.showAdvancedOption); advanced.setTitle(mState.showAdvancedOption && mState.showAdvanced ? R.string.menu_advanced_hide : R.string.menu_advanced_show); } void updateSettings(MenuItem settings, DirectoryDetails directoryDetails) { settings.setVisible(false); } void updateNewWindow(MenuItem newWindow, DirectoryDetails directoryDetails) { newWindow.setVisible(false); } void updateOpen(MenuItem open, SelectionDetails selectionDetails) { open.setVisible(false); } void updateShare(MenuItem share, SelectionDetails selectionDetails) { share.setVisible(false); } void updateDelete(MenuItem delete, SelectionDetails selectionDetails) { delete.setVisible(false); } void updateRename(MenuItem rename, SelectionDetails selectionDetails) { rename.setVisible(false); } void updateMoveTo(MenuItem moveTo, SelectionDetails selectionDetails) { moveTo.setVisible(false); } void updateCopyTo(MenuItem copyTo, SelectionDetails selectionDetails) { copyTo.setVisible(false); } abstract void updateSelectAll(MenuItem selectAll, SelectionDetails selectionDetails); abstract void updateCreateDir(MenuItem createDir, DirectoryDetails directoryDetails); abstract void updateOpen(MenuItem open, SelectionDetails selectionDetails); abstract void updateShare(MenuItem share, SelectionDetails selectionDetails); abstract void updateRename(MenuItem rename, SelectionDetails selectionDetails); abstract void updateDelete(MenuItem delete, SelectionDetails selectionDetails); /** * Access to meta data about the selection. Loading Loading @@ -135,5 +194,9 @@ public abstract class MenuManager { public boolean canCreateDirectory() { return mActivity.canCreateDirectory(); } public boolean getDisplayFileSize() { return LocalPreferences.getDisplayFileSize(mActivity); } } } Loading
packages/DocumentsUI/src/com/android/documentsui/BaseActivity.java +0 −26 Original line number Diff line number Diff line Loading @@ -165,33 +165,7 @@ public abstract class BaseActivity extends Activity @CallSuper public boolean onPrepareOptionsMenu(Menu menu) { super.onPrepareOptionsMenu(menu); mSearchManager.showMenu(canSearchRoot()); final boolean inRecents = getCurrentDirectory() == null; final MenuItem sort = menu.findItem(R.id.menu_sort); final MenuItem sortSize = menu.findItem(R.id.menu_sort_size); final MenuItem grid = menu.findItem(R.id.menu_grid); 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); // Search uses backend ranking; no sorting, recents doesn't support sort. sort.setEnabled(!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); advanced.setVisible(mState.showAdvancedOption); advanced.setTitle(mState.showAdvancedOption && mState.showAdvanced ? R.string.menu_advanced_hide : R.string.menu_advanced_show); fileSize.setTitle(LocalPreferences.getDisplayFileSize(this) ? R.string.menu_file_size_hide : R.string.menu_file_size_show); return true; } Loading
packages/DocumentsUI/src/com/android/documentsui/DocumentsMenuManager.java +7 −40 Original line number Diff line number Diff line Loading @@ -25,15 +25,14 @@ import static com.android.documentsui.State.ACTION_PICK_COPY_DESTINATION; import android.view.Menu; import android.view.MenuItem; import com.android.documentsui.MenuManager.DirectoryDetails; final class DocumentsMenuManager extends MenuManager { private final State mState; private final SearchViewManager mSearchManager; private boolean mPicking; public DocumentsMenuManager(SearchViewManager searchManager, State displayState) { mSearchManager = searchManager; mState = displayState; super(searchManager, displayState); mPicking = mState.action == ACTION_CREATE || mState.action == ACTION_OPEN_TREE Loading @@ -56,24 +55,17 @@ final class DocumentsMenuManager extends MenuManager { if (mPicking && directoryDetails.isInRecents()) { grid.setVisible(false); list.setVisible(false); } else { super.updateModePicker(grid, list, directoryDetails); } } @Override void updateFileSize(MenuItem fileSize, DirectoryDetails directoryDetails) { super.updateFileSize(fileSize, directoryDetails); fileSize.setVisible(fileSize.isVisible() && !mPicking); } @Override void updateSettings(MenuItem settings, DirectoryDetails directoryDetails) { //assert(!settings.isVisible()); } @Override void updateNewWindow(MenuItem newWindow, DirectoryDetails directoryDetails) { //assert(!newWindow.isVisible()); } @Override void updateSelectAll(MenuItem selectAll, SelectionDetails selectionDetails) { selectAll.setVisible(mState.allowMultiple); Loading @@ -90,29 +82,4 @@ final class DocumentsMenuManager extends MenuManager { open.setVisible(mState.action == ACTION_GET_CONTENT || mState.action == ACTION_OPEN); } @Override void updateShare(MenuItem share, SelectionDetails selectionDetails) { share.setVisible(false); } @Override void updateDelete(MenuItem delete, SelectionDetails selectionDetails) { delete.setVisible(false); } @Override void updateRename(MenuItem rename, SelectionDetails selectionDetails) { rename.setVisible(false); } @Override void updateMoveTo(MenuItem moveTo, SelectionDetails selectionDetails) { //assert(!moveTo.isVisible()); } @Override void updateCopyTo(MenuItem copyTo, SelectionDetails selectionDetails) { //assert(!copyTo.isVisible()); } }
packages/DocumentsUI/src/com/android/documentsui/FilesActivity.java +1 −1 Original line number Diff line number Diff line Loading @@ -82,7 +82,7 @@ public class FilesActivity extends BaseActivity { super.onCreate(icicle); mClipper = DocumentsApplication.getDocumentClipper(this); mMenuManager = new FilesMenuManager(mSearchManager); mMenuManager = new FilesMenuManager(mSearchManager, getDisplayState()); mDetails = new DirectoryDetails(this) { @Override public boolean hasItemsToPaste() { Loading
packages/DocumentsUI/src/com/android/documentsui/FilesMenuManager.java +11 −21 Original line number Diff line number Diff line Loading @@ -16,15 +16,21 @@ package com.android.documentsui; import static com.android.documentsui.State.ACTION_CREATE; import static com.android.documentsui.State.ACTION_GET_CONTENT; import static com.android.documentsui.State.ACTION_OPEN; import static com.android.documentsui.State.ACTION_OPEN_TREE; import static com.android.documentsui.State.ACTION_PICK_COPY_DESTINATION; import android.view.Menu; import android.view.MenuItem; final class FilesMenuManager extends MenuManager { import com.android.documentsui.MenuManager.DirectoryDetails; private final SearchViewManager mSearchManager; final class FilesMenuManager extends MenuManager { public FilesMenuManager(SearchViewManager searchManager) { mSearchManager = searchManager; public FilesMenuManager(SearchViewManager searchManager, State displayState) { super(searchManager, displayState); } @Override Loading @@ -35,17 +41,6 @@ final class FilesMenuManager extends MenuManager { mSearchManager.updateMenu(); } @Override void updateModePicker(MenuItem grid, MenuItem list, DirectoryDetails directoryDetails) { //assert(!grid.isVisible()); //assert(list.isVisible()); } @Override void updateFileSize(MenuItem fileSize, DirectoryDetails directoryDetails) { //assert(fileSize.isVisible()); } @Override void updateSettings(MenuItem settings, DirectoryDetails directoryDetails) { settings.setVisible(directoryDetails.hasRootSettings()); Loading @@ -70,7 +65,7 @@ final class FilesMenuManager extends MenuManager { @Override void updateSelectAll(MenuItem selectAll, SelectionDetails selectionDetails) { assert(selectAll.isVisible()); selectAll.setVisible(true); } @Override Loading @@ -79,11 +74,6 @@ final class FilesMenuManager extends MenuManager { createDir.setEnabled(directoryDetails.canCreateDirectory()); } @Override void updateOpen(MenuItem open, SelectionDetails selectionDetails) { open.setVisible(false); } @Override void updateShare(MenuItem share, SelectionDetails selectionDetails) { share.setVisible(!selectionDetails.containsDirectories() Loading
packages/DocumentsUI/src/com/android/documentsui/MenuManager.java +79 −16 Original line number Diff line number Diff line Loading @@ -22,6 +22,14 @@ import android.view.MenuItem; public abstract class MenuManager { final State mState; final SearchViewManager mSearchManager; public MenuManager(SearchViewManager searchManager, State displayState) { mSearchManager = searchManager; mState = displayState; } /** @See DirectoryFragment.SelectionModeListener#updateActionMenu */ public void updateActionMenu(Menu menu, SelectionDetails selection) { updateOpen(menu.findItem(R.id.menu_open), selection); Loading @@ -36,12 +44,17 @@ public abstract class MenuManager { } /** @See Activity#onPrepareOptionsMenu */ public void updateOptionMenu(Menu menu, DirectoryDetails details) { updateCreateDir(menu.findItem(R.id.menu_create_dir), details); updateSettings(menu.findItem(R.id.menu_settings), details); updateNewWindow(menu.findItem(R.id.menu_new_window), details); updateFileSize(menu.findItem(R.id.menu_file_size), details); updateModePicker(menu.findItem(R.id.menu_grid), menu.findItem(R.id.menu_list), details); public void updateOptionMenu(Menu menu, DirectoryDetails directoryDetails) { updateCreateDir(menu.findItem(R.id.menu_create_dir), directoryDetails); updateSettings(menu.findItem(R.id.menu_settings), directoryDetails); updateNewWindow(menu.findItem(R.id.menu_new_window), directoryDetails); updateFileSize(menu.findItem(R.id.menu_file_size), directoryDetails); updateModePicker(menu.findItem( R.id.menu_grid), menu.findItem(R.id.menu_list), directoryDetails); updateSort(menu.findItem(R.id.menu_sort), menu.findItem(R.id.menu_sort_size), directoryDetails); updateAdvanced(menu.findItem(R.id.menu_advanced), directoryDetails); Menus.disableHiddenItems(menu); } Loading Loading @@ -81,18 +94,64 @@ public abstract class MenuManager { delete.setVisible(true); } abstract void updateModePicker(MenuItem grid, MenuItem list, DirectoryDetails directoryDetails); abstract void updateFileSize(MenuItem fileSize, DirectoryDetails directoryDetails); abstract void updateSettings(MenuItem settings, DirectoryDetails directoryDetails); abstract void updateNewWindow(MenuItem newWindow, DirectoryDetails directoryDetails); abstract void updateMoveTo(MenuItem moveTo, SelectionDetails selectionDetails); abstract void updateCopyTo(MenuItem copyTo, SelectionDetails selectionDetails); void updateModePicker(MenuItem grid, MenuItem list, DirectoryDetails directoryDetails) { grid.setVisible(mState.derivedMode != State.MODE_GRID); list.setVisible(mState.derivedMode != State.MODE_LIST); } void updateFileSize(MenuItem fileSize, DirectoryDetails directoryDetails) { fileSize.setVisible(!mState.forceSize); fileSize.setTitle(directoryDetails.getDisplayFileSize() ? R.string.menu_file_size_hide : R.string.menu_file_size_show); } void updateSort(MenuItem sort, MenuItem sortSize, DirectoryDetails directoryDetails) { // Search uses backend ranking; no sorting, recents doesn't support sort. sort.setEnabled(!directoryDetails.isInRecents() && !mSearchManager.isSearching()); sort.setVisible(true); sortSize.setVisible(mState.showSize); // Only sort by size when file sizes are visible } void updateAdvanced(MenuItem advanced, DirectoryDetails directoryDetails) { advanced.setVisible(mState.showAdvancedOption); advanced.setTitle(mState.showAdvancedOption && mState.showAdvanced ? R.string.menu_advanced_hide : R.string.menu_advanced_show); } void updateSettings(MenuItem settings, DirectoryDetails directoryDetails) { settings.setVisible(false); } void updateNewWindow(MenuItem newWindow, DirectoryDetails directoryDetails) { newWindow.setVisible(false); } void updateOpen(MenuItem open, SelectionDetails selectionDetails) { open.setVisible(false); } void updateShare(MenuItem share, SelectionDetails selectionDetails) { share.setVisible(false); } void updateDelete(MenuItem delete, SelectionDetails selectionDetails) { delete.setVisible(false); } void updateRename(MenuItem rename, SelectionDetails selectionDetails) { rename.setVisible(false); } void updateMoveTo(MenuItem moveTo, SelectionDetails selectionDetails) { moveTo.setVisible(false); } void updateCopyTo(MenuItem copyTo, SelectionDetails selectionDetails) { copyTo.setVisible(false); } abstract void updateSelectAll(MenuItem selectAll, SelectionDetails selectionDetails); abstract void updateCreateDir(MenuItem createDir, DirectoryDetails directoryDetails); abstract void updateOpen(MenuItem open, SelectionDetails selectionDetails); abstract void updateShare(MenuItem share, SelectionDetails selectionDetails); abstract void updateRename(MenuItem rename, SelectionDetails selectionDetails); abstract void updateDelete(MenuItem delete, SelectionDetails selectionDetails); /** * Access to meta data about the selection. Loading Loading @@ -135,5 +194,9 @@ public abstract class MenuManager { public boolean canCreateDirectory() { return mActivity.canCreateDirectory(); } public boolean getDisplayFileSize() { return LocalPreferences.getDisplayFileSize(mActivity); } } }