Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d87277d3 authored by Steve McKay's avatar Steve McKay Committed by Android (Google) Code Review
Browse files

Merge "Show view mode button in action bar on Downloads."

parents 9f19f5ae 3ce95951
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -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"
@@ -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"
+29 −17
Original line number Diff line number Diff line
@@ -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;
@@ -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);
@@ -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)
@@ -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:
@@ -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());
    }
@@ -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();
    }

@@ -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();
        };
    }

    /**
@@ -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) {
@@ -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;
        }

+10 −4
Original line number Diff line number Diff line
@@ -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) {
+0 −2
Original line number Diff line number Diff line
@@ -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;
+21 −14
Original line number Diff line number Diff line
@@ -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);
@@ -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;
        }

@@ -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