Merge "Ensure sort menu is shown as needed." into mnc-dev
This commit is contained in:
@@ -101,6 +101,41 @@ abstract class BaseActivity extends Activity {
|
||||
return showMenu;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onPrepareOptionsMenu(Menu menu) {
|
||||
boolean shown = super.onPrepareOptionsMenu(menu);
|
||||
|
||||
final RootInfo root = getCurrentRoot();
|
||||
final DocumentInfo cwd = getCurrentDirectory();
|
||||
|
||||
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);
|
||||
|
||||
mSearchManager.update(root);
|
||||
|
||||
// Search uses backend ranking; no sorting
|
||||
sort.setVisible(cwd != null && !mSearchManager.isSearching());
|
||||
|
||||
State state = getDisplayState();
|
||||
grid.setVisible(state.derivedMode != State.MODE_GRID);
|
||||
list.setVisible(state.derivedMode != State.MODE_LIST);
|
||||
|
||||
// Only sort by size when visible
|
||||
sortSize.setVisible(state.showSize);
|
||||
|
||||
advanced.setTitle(LocalPreferences.getDisplayAdvancedDevices(this)
|
||||
? 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 shown;
|
||||
}
|
||||
|
||||
void onStackRestored(boolean restored, boolean external) {}
|
||||
|
||||
void onRootPicked(RootInfo root) {
|
||||
|
||||
@@ -442,32 +442,16 @@ public class DocumentsActivity extends BaseActivity {
|
||||
public boolean onPrepareOptionsMenu(Menu menu) {
|
||||
super.onPrepareOptionsMenu(menu);
|
||||
|
||||
final FragmentManager fm = getFragmentManager();
|
||||
|
||||
final RootInfo root = getCurrentRoot();
|
||||
final DocumentInfo cwd = getCurrentDirectory();
|
||||
|
||||
final MenuItem createDir = menu.findItem(R.id.menu_create_dir);
|
||||
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);
|
||||
final MenuItem settings = menu.findItem(R.id.menu_settings);
|
||||
|
||||
sort.setVisible(cwd != null);
|
||||
grid.setVisible(mState.derivedMode != State.MODE_GRID);
|
||||
list.setVisible(mState.derivedMode != State.MODE_LIST);
|
||||
|
||||
mSearchManager.update(root);
|
||||
|
||||
// Search uses backend ranking; no sorting
|
||||
sort.setVisible(mSearchManager.isSearching());
|
||||
|
||||
// Only sort by size when visible
|
||||
sortSize.setVisible(mState.showSize);
|
||||
|
||||
boolean fileSizeVisible = !(mState.action == ACTION_MANAGE
|
||||
|| mState.action == ACTION_BROWSE);
|
||||
if (mState.action == ACTION_CREATE || mState.action == ACTION_OPEN_TREE) {
|
||||
@@ -482,17 +466,13 @@ public class DocumentsActivity extends BaseActivity {
|
||||
}
|
||||
|
||||
if (mState.action == ACTION_CREATE) {
|
||||
final FragmentManager fm = getFragmentManager();
|
||||
SaveFragment.get(fm).setSaveEnabled(cwd != null && cwd.isCreateSupported());
|
||||
}
|
||||
} else {
|
||||
createDir.setVisible(false);
|
||||
}
|
||||
|
||||
advanced.setTitle(LocalPreferences.getDisplayAdvancedDevices(this)
|
||||
? 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);
|
||||
|
||||
advanced.setVisible(!(mState.action == ACTION_MANAGE || mState.action == ACTION_BROWSE));
|
||||
fileSize.setVisible(fileSizeVisible);
|
||||
|
||||
|
||||
@@ -185,30 +185,16 @@ public class StandaloneActivity extends BaseActivity {
|
||||
|
||||
@Override
|
||||
public boolean onPrepareOptionsMenu(Menu menu) {
|
||||
super.onPrepareOptionsMenu(menu);
|
||||
boolean shown = super.onPrepareOptionsMenu(menu);
|
||||
|
||||
final RootInfo root = getCurrentRoot();
|
||||
final DocumentInfo cwd = getCurrentDirectory();
|
||||
|
||||
final MenuItem createDir = menu.findItem(R.id.menu_create_dir);
|
||||
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);
|
||||
final MenuItem settings = menu.findItem(R.id.menu_settings);
|
||||
|
||||
grid.setVisible(mState.derivedMode != State.MODE_GRID);
|
||||
list.setVisible(mState.derivedMode != State.MODE_LIST);
|
||||
|
||||
mSearchManager.update(root);
|
||||
|
||||
sort.setVisible(cwd != null && !mSearchManager.isSearching());
|
||||
|
||||
// Only sort by size when visible
|
||||
sortSize.setVisible(mState.showSize);
|
||||
|
||||
createDir.setVisible(cwd != null
|
||||
&& cwd.isCreateSupported()
|
||||
&& !mSearchManager.isSearching()
|
||||
@@ -217,14 +203,9 @@ public class StandaloneActivity extends BaseActivity {
|
||||
fileSize.setVisible(cwd != null);
|
||||
advanced.setVisible(cwd != null);
|
||||
|
||||
advanced.setTitle(LocalPreferences.getDisplayAdvancedDevices(this)
|
||||
? 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);
|
||||
|
||||
settings.setVisible((root.flags & Root.FLAG_HAS_SETTINGS) != 0);
|
||||
|
||||
return true;
|
||||
return shown;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user