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

Commit 1e9f12bd authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 11017726 from 87a67a6c to 24Q1-release

Change-Id: I3b91faebbaf8cd6bcddc15b63cb59a14cb62ad1f
parents bca242f0 87a67a6c
Loading
Loading
Loading
Loading
+32 −44
Original line number Diff line number Diff line
@@ -75,7 +75,6 @@ import com.android.documentsui.sidebar.RootsFragment;
import com.android.documentsui.sorting.SortController;
import com.android.documentsui.sorting.SortModel;

import com.android.documentsui.util.VersionUtils;
import com.google.android.material.appbar.AppBarLayout;

import java.util.ArrayList;
@@ -504,50 +503,39 @@ public abstract class BaseActivity
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

        switch (item.getItemId()) {
            case android.R.id.home:
        final int id = item.getItemId();
        if (id == android.R.id.home) {
            onBackPressed();
            return true;

            case R.id.option_menu_create_dir:
        } else if (id == R.id.option_menu_create_dir) {
            getInjector().actions.showCreateDirectoryDialog();
            return true;

            case R.id.option_menu_search:
        } else if (id == R.id.option_menu_search) {
            // SearchViewManager listens for this directly.
            return false;

            case R.id.option_menu_select_all:
        } else if (id == R.id.option_menu_select_all) {
            getInjector().actions.selectAllFiles();
            return true;

            case R.id.option_menu_debug:
        } else if (id == R.id.option_menu_debug) {
            getInjector().actions.showDebugMessage();
            return true;

            case R.id.option_menu_sort:
        } else if (id == R.id.option_menu_sort) {
            getInjector().actions.showSortDialog();
            return true;

            case R.id.option_menu_launcher:
        } else if (id == R.id.option_menu_launcher) {
            getInjector().actions.switchLauncherIcon();
            return true;

            case R.id.option_menu_show_hidden_files:
        } else if (id == R.id.option_menu_show_hidden_files) {
            onClickedShowHiddenFiles();
            return true;

            case R.id.sub_menu_grid:
                setViewMode(State.MODE_GRID);
        } else if (id == R.id.sub_menu_grid) {
            setViewMode(MODE_GRID);
            return true;

            case R.id.sub_menu_list:
        } else if (id == R.id.sub_menu_list) {
            setViewMode(State.MODE_LIST);
            return true;

            default:
                return super.onOptionsItemSelected(item);
        }
        return super.onOptionsItemSelected(item);
    }

    protected final @Nullable DirectoryFragment getDirectoryFragment() {
+90 −118
Original line number Diff line number Diff line
@@ -110,8 +110,8 @@ import com.android.documentsui.services.FileOperationService.OpType;
import com.android.documentsui.services.FileOperations;
import com.android.documentsui.sorting.SortDimension;
import com.android.documentsui.sorting.SortModel;

import com.android.documentsui.util.VersionUtils;

import com.google.common.base.Objects;

import java.io.IOException;
@@ -833,42 +833,32 @@ public class DirectoryFragment extends Fragment implements SwipeRefreshLayout.On
        MutableSelection<String> selection = new MutableSelection<>();
        mSelectionMgr.copySelection(selection);

        switch (item.getItemId()) {
            case R.id.action_menu_select:
            case R.id.dir_menu_open:
        final int id = item.getItemId();
        if (id == R.id.action_menu_select || id == R.id.dir_menu_open) {
            openDocuments(selection);
            mActionModeController.finishActionMode();
            return true;

            case R.id.action_menu_open_with:
            case R.id.dir_menu_open_with:
        } else if (id == R.id.action_menu_open_with || id == R.id.dir_menu_open_with) {
            showChooserForDoc(selection);
            return true;

            case R.id.dir_menu_open_in_new_window:
        } else if (id == R.id.dir_menu_open_in_new_window) {
            mActions.openSelectedInNewWindow();
            return true;

            case R.id.action_menu_share:
            case R.id.dir_menu_share:
        } else if (id == R.id.action_menu_share || id == R.id.dir_menu_share) {
            mActions.shareSelectedDocuments();
            return true;

            case R.id.action_menu_delete:
            case R.id.dir_menu_delete:
        } else if (id == R.id.action_menu_delete || id == R.id.dir_menu_delete) {
            // deleteDocuments will end action mode if the documents are deleted.
            // It won't end action mode if user cancels the delete.
            mActions.showDeleteDialog();
            return true;

            case R.id.action_menu_copy_to:
        } else if (id == R.id.action_menu_copy_to) {
            transferDocuments(selection, null, FileOperationService.OPERATION_COPY);
            // TODO: Only finish selection mode if copy-to is not canceled.
            // Need to plum down into handling the way we do with deleteDocuments.
            mActionModeController.finishActionMode();
            return true;

            case R.id.action_menu_compress:
        } else if (id == R.id.action_menu_compress) {
            transferDocuments(selection, mState.stack,
                    FileOperationService.OPERATION_COMPRESS);
            // TODO: Only finish selection mode if compress is not canceled.
@@ -877,14 +867,13 @@ public class DirectoryFragment extends Fragment implements SwipeRefreshLayout.On
            return true;

            // TODO: Implement extract (to the current directory).
            case R.id.action_menu_extract_to:
        } else if (id == R.id.action_menu_extract_to) {
            transferDocuments(selection, null, FileOperationService.OPERATION_EXTRACT);
            // TODO: Only finish selection mode if compress-to is not canceled.
            // Need to plum down into handling the way we do with deleteDocuments.
            mActionModeController.finishActionMode();
            return true;

            case R.id.action_menu_move_to:
        } else if (id == R.id.action_menu_move_to) {
            if (mModel.hasDocuments(selection, DocumentFilters.NOT_MOVABLE)) {
                mInjector.dialogs.showOperationUnsupported();
                return true;
@@ -893,9 +882,7 @@ public class DirectoryFragment extends Fragment implements SwipeRefreshLayout.On
            mActionModeController.finishActionMode();
            transferDocuments(selection, null, FileOperationService.OPERATION_MOVE);
            return true;

            case R.id.action_menu_inspect:
            case R.id.dir_menu_inspect:
        } else if (id == R.id.action_menu_inspect || id == R.id.dir_menu_inspect) {
            mActionModeController.finishActionMode();
            assert selection.size() <= 1;
            DocumentInfo doc = selection.isEmpty()
@@ -904,57 +891,42 @@ public class DirectoryFragment extends Fragment implements SwipeRefreshLayout.On

            mActions.showInspector(doc);
            return true;

            case R.id.dir_menu_cut_to_clipboard:
        } else if (id == R.id.dir_menu_cut_to_clipboard) {
            mActions.cutToClipboard();
            return true;

            case R.id.dir_menu_copy_to_clipboard:
        } else if (id == R.id.dir_menu_copy_to_clipboard) {
            mActions.copyToClipboard();
            return true;

            case R.id.dir_menu_paste_from_clipboard:
        } else if (id == R.id.dir_menu_paste_from_clipboard) {
            pasteFromClipboard();
            return true;

            case R.id.dir_menu_paste_into_folder:
        } else if (id == R.id.dir_menu_paste_into_folder) {
            pasteIntoFolder();
            return true;

            case R.id.action_menu_select_all:
            case R.id.dir_menu_select_all:
        } else if (id == R.id.action_menu_select_all || id == R.id.dir_menu_select_all) {
            mActions.selectAllFiles();
            return true;

            case R.id.action_menu_deselect_all:
            case R.id.dir_menu_deselect_all:
        } else if (id == R.id.action_menu_deselect_all || id == R.id.dir_menu_deselect_all) {
            mActions.deselectAllFiles();
            return true;

            case R.id.action_menu_rename:
            case R.id.dir_menu_rename:
        } else if (id == R.id.action_menu_rename || id == R.id.dir_menu_rename) {
            renameDocuments(selection);
            return true;

            case R.id.dir_menu_create_dir:
        } else if (id == R.id.dir_menu_create_dir) {
            mActions.showCreateDirectoryDialog();
            return true;

            case R.id.dir_menu_view_in_owner:
        } else if (id == R.id.dir_menu_view_in_owner) {
            mActions.viewInOwner();
            return true;

            case R.id.action_menu_sort:
        } else if (id == R.id.action_menu_sort) {
            mActions.showSortDialog();
            return true;

            default:
        }
        if (DEBUG) {
            Log.d(TAG, "Unhandled menu item selected: " + item);
        }
        return false;
    }
    }

    private boolean onAccessibilityClick(View child) {
        if (mSelectionMgr.hasSelection()) {
+14 −19
Original line number Diff line number Diff line
@@ -303,24 +303,19 @@ public class FilesActivity extends BaseActivity implements AbstractActionHandler
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        DirectoryFragment dir;
        switch (item.getItemId()) {
            case R.id.option_menu_create_dir:
        final int id = item.getItemId();
        if (id == R.id.option_menu_create_dir) {
            assert (canCreateDirectory());
            mInjector.actions.showCreateDirectoryDialog();
                break;
            case R.id.option_menu_new_window:
        } else if (id == R.id.option_menu_new_window) {
            mInjector.actions.openInNewWindow(mState.stack);
                break;
            case R.id.option_menu_settings:
        } else if (id == R.id.option_menu_settings) {
            mInjector.actions.openSettings(getCurrentRoot());
                break;
            case R.id.option_menu_select_all:
        } else if (id == R.id.option_menu_select_all) {
            mInjector.actions.selectAllFiles();
                break;
            case R.id.option_menu_inspect:
        } else if (id == R.id.option_menu_inspect) {
            mInjector.actions.showInspector(getCurrentDirectory());
                break;
            default:
        } else {
            return super.onOptionsItemSelected(item);
        }
        return true;
+18 −19
Original line number Diff line number Diff line
@@ -611,27 +611,26 @@ public class RootsFragment extends Fragment {
            return false;
        }
        final RootItem rootItem = (RootItem) mAdapter.getItem(adapterMenuInfo.position);
        switch (item.getItemId()) {
            case R.id.root_menu_eject_root:
        final int id = item.getItemId();
        if (id == R.id.root_menu_eject_root) {
            final View ejectIcon = adapterMenuInfo.targetView.findViewById(R.id.action_icon);
            ejectClicked(ejectIcon, rootItem.root, mActionHandler);
            return true;
            case R.id.root_menu_open_in_new_window:
        } else if (id == R.id.root_menu_open_in_new_window) {
            mActionHandler.openInNewWindow(new DocumentStack(rootItem.root));
            return true;
            case R.id.root_menu_paste_into_folder:
        } else if (id == R.id.root_menu_paste_into_folder) {
            mActionHandler.pasteIntoFolder(rootItem.root);
            return true;
            case R.id.root_menu_settings:
        } else if (id == R.id.root_menu_settings) {
            mActionHandler.openSettings(rootItem.root);
            return true;
            default:
        }
        if (DEBUG) {
            Log.d(TAG, "Unhandled menu item selected: " + item);
        }
        return false;
    }
    }

    private void getRootDocument(RootItem rootItem, RootUpdater updater) {
        // We need to start a GetRootDocumentTask so we can know whether items can be directly
+11 −15
Original line number Diff line number Diff line
@@ -16,11 +16,11 @@

package com.android.documentsui.sorting;

import android.view.View;

import androidx.annotation.Nullable;
import androidx.fragment.app.FragmentActivity;

import android.view.View;

import com.android.documentsui.BaseActivity;
import com.android.documentsui.Injector;
import com.android.documentsui.MetricConsts;
@@ -67,19 +67,15 @@ public final class SortController {
        final Injector<?> injector = ((BaseActivity)activity).getInjector();
        sortModel.setMetricRecorder((SortDimension dimension) -> {
            int sortType = MetricConsts.USER_ACTION_UNKNOWN;
            switch (dimension.getId()) {
                case SortModel.SORT_DIMENSION_ID_TITLE:
            final int id = dimension.getId();
            if (id == SortModel.SORT_DIMENSION_ID_TITLE) {
                sortType = MetricConsts.USER_ACTION_SORT_NAME;
                    break;
                case SortModel.SORT_DIMENSION_ID_SIZE:
            } else if (id == SortModel.SORT_DIMENSION_ID_SIZE) {
                sortType = MetricConsts.USER_ACTION_SORT_SIZE;
                    break;
                case SortModel.SORT_DIMENSION_ID_DATE:
            } else if (id == SortModel.SORT_DIMENSION_ID_DATE) {
                sortType = MetricConsts.USER_ACTION_SORT_DATE;
                    break;
                case SortModel.SORT_DIMENSION_ID_FILE_TYPE:
            } else if (id == SortModel.SORT_DIMENSION_ID_FILE_TYPE) {
                sortType = MetricConsts.USER_ACTION_SORT_TYPE;
                    break;
            }

            Metrics.logUserAction(sortType);
Loading