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

Commit 6b047d09 authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 13197820 from 2e15b59c to 25Q2-release

Change-Id: I42445c87e8fca1526446d35d5237f7c9140cb8a7
parents 666aebfe 2e15b59c
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -10,10 +10,11 @@ flag {
}

flag {
    name: "use_search_v2_rw"
    name: "use_search_v2_read_only"
    namespace: "documentsui"
    description: "Read/write flag that enables the next generation search functionality."
    description: "Enables the next generation search functionality."
    bug: "383412640"
    is_fixed_read_only: true
}

flag {
+83 −0
Original line number Diff line number Diff line
@@ -16,6 +16,41 @@

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- selected -->
    <item
        android:state_focused="true"
        android:state_hovered="true"
        android:state_selected="true">
        <layer-list>
            <item
                android:bottom="@dimen/focus_ring_gap"
                android:left="@dimen/focus_ring_gap"
                android:right="@dimen/focus_ring_gap"
                android:top="@dimen/focus_ring_gap">
                <shape>
                    <corners android:radius="@dimen/grid_item_nameplate_inner_radius" />
                    <solid android:color="?attr/colorPrimaryContainer" />
                </shape>
            </item>
            <item
                android:bottom="@dimen/focus_ring_gap"
                android:left="@dimen/focus_ring_gap"
                android:right="@dimen/focus_ring_gap"
                android:top="@dimen/focus_ring_gap">
                <shape android:tint="?attr/colorOnPrimaryContainer">
                    <corners android:radius="@dimen/grid_item_nameplate_inner_radius" />
                    <solid android:color="@color/overlay_hover_color_percentage" />
                </shape>
            </item>
            <item>
                <shape>
                    <corners android:radius="@dimen/grid_item_nameplate_radius" />
                    <stroke
                        android:width="@dimen/focus_ring_width"
                        android:color="?attr/colorSecondary" />
                </shape>
            </item>
        </layer-list>
    </item>
    <item android:state_selected="true" android:state_focused="true">
        <layer-list>
            <item
@@ -38,6 +73,24 @@
            </item>
        </layer-list>
    </item>
    <item
        android:state_hovered="true"
        android:state_selected="true">
        <layer-list>
            <item>
                <shape>
                    <corners android:radius="@dimen/grid_item_nameplate_radius" />
                    <solid android:color="?attr/colorPrimaryContainer" />
                </shape>
            </item>
            <item>
                <shape android:tint="?attr/colorOnPrimaryContainer">
                    <corners android:radius="@dimen/grid_item_nameplate_radius" />
                    <solid android:color="@color/overlay_hover_color_percentage" />
                </shape>
            </item>
        </layer-list>
    </item>
    <item android:state_selected="true">
        <shape>
            <corners android:radius="@dimen/grid_item_nameplate_radius" />
@@ -46,6 +99,30 @@
    </item>

    <!-- unselected -->
    <item
        android:state_focused="true"
        android:state_hovered="true">
        <layer-list>
            <item
                android:bottom="@dimen/focus_ring_gap"
                android:left="@dimen/focus_ring_gap"
                android:right="@dimen/focus_ring_gap"
                android:top="@dimen/focus_ring_gap">
                <shape android:tint="?attr/colorOnSurface">
                    <corners android:radius="@dimen/grid_item_nameplate_inner_radius" />
                    <solid android:color="@color/overlay_hover_color_percentage" />
                </shape>
            </item>
            <item>
                <shape>
                    <corners android:radius="@dimen/grid_item_nameplate_radius" />
                    <stroke
                        android:width="@dimen/focus_ring_width"
                        android:color="?attr/colorSecondary" />
                </shape>
            </item>
        </layer-list>
    </item>
    <item android:state_focused="true">
        <shape>
            <corners android:radius="@dimen/grid_item_nameplate_radius" />
@@ -54,4 +131,10 @@
                android:color="?attr/colorSecondary" />
        </shape>
    </item>
    <item android:state_hovered="true">
        <shape android:tint="?attr/colorOnSurface">
            <corners android:radius="@dimen/grid_item_nameplate_radius" />
            <solid android:color="@color/overlay_hover_color_percentage" />
        </shape>
    </item>
</selector>
 No newline at end of file
+2 −2
Original line number Diff line number Diff line
@@ -20,7 +20,7 @@ import static com.android.documentsui.base.DocumentInfo.getCursorInt;
import static com.android.documentsui.base.DocumentInfo.getCursorString;
import static com.android.documentsui.base.SharedMinimal.DEBUG;
import static com.android.documentsui.util.FlagUtils.isDesktopFileHandlingFlagEnabled;
import static com.android.documentsui.util.FlagUtils.isUseSearchV2RwFlagEnabled;
import static com.android.documentsui.util.FlagUtils.isUseSearchV2FlagEnabled;

import android.app.PendingIntent;
import android.content.ActivityNotFoundException;
@@ -916,7 +916,7 @@ public abstract class AbstractActionHandler<T extends FragmentActivity & CommonA
                mState.stack.changeRoot(mActivity.getCurrentRoot());
            }

            if (isUseSearchV2RwFlagEnabled()) {
            if (isUseSearchV2FlagEnabled()) {
                return onCreateLoaderV2(id, args);
            }
            return onCreateLoaderV1(id, args);
+23 −10
Original line number Diff line number Diff line
@@ -159,11 +159,11 @@ public abstract class MenuManager {
    }

    /**
     * @see DirectoryFragment#onCreateContextMenu
     *
     * Called when user tries to generate a context menu anchored to a file when the selection
     * doesn't contain any folder.
     *
     * @see DirectoryFragment#onCreateContextMenu
     *
     * @param selectionDetails
     *      containsFiles may return false because this may be called when user right clicks on an
     *      unselectable item in pickers
@@ -193,11 +193,11 @@ public abstract class MenuManager {
    }

    /**
     * @see DirectoryFragment#onCreateContextMenu
     *
     * Called when user tries to generate a context menu anchored to a folder when the selection
     * doesn't contain any file.
     *
     * @see DirectoryFragment#onCreateContextMenu
     *
     * @param selectionDetails
     *      containDirectories may return false because this may be called when user right clicks on
     *      an unselectable item in pickers
@@ -418,25 +418,42 @@ public abstract class MenuManager {
    }

    protected abstract void updateSelectAll(MenuItem selectAll);

    protected abstract void updateSelectAll(MenuItem selectAll, SelectionDetails selectionDetails);

    protected abstract void updateDeselectAll(
            MenuItem deselectAll, SelectionDetails selectionDetails);

    protected abstract void updateCreateDir(MenuItem createDir);

    /**
     * Access to meta data about the selection.
     */
    public interface SelectionDetails {
        /** Gets the total number of items (files and directories) in the selection. */
        int size();

        /** Returns whether the selection contains at least a directory. */
        boolean containsDirectories();

        /** Returns whether the selection contains at least a file. */
        boolean containsFiles();

        int size();

        /**
         * Returns whether the selection contains at least a file that has not been fully downloaded
         * yet.
         */
        boolean containsPartialFiles();

        /** Returns whether the selection contains at least a file located in a mounted archive. */
        boolean containsFilesInArchive();

        /**
         * Returns whether the selection contains exactly one file which is also a supported archive
         * type.
         */
        boolean isArchive();

        // TODO: Update these to express characteristics instead of answering concrete questions,
        // since the answer to those questions is (or can be) activity specific.
        boolean canDelete();
@@ -450,10 +467,6 @@ public abstract class MenuManager {
        boolean canOpen();

        boolean canViewInOwner();

        default boolean isArchive() {
            return false;
        }
    }

    public static class DirectoryDetails {
+3 −8
Original line number Diff line number Diff line
@@ -24,13 +24,12 @@ import static org.apache.commons.compress.compressors.CompressorStreamFactory.XZ

import androidx.annotation.Nullable;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

import org.apache.commons.compress.compressors.brotli.BrotliUtils;
import org.apache.commons.compress.compressors.xz.XZUtils;

import java.util.HashMap;
import java.util.Map;

/**
 * To query how to generate ArchiveHandle, how to create CompressInputStream and how to create
 * ArchiveInputStream by using MIME type in ArchiveRegistry.
@@ -136,8 +135,4 @@ final class ArchiveRegistry {
    static Integer getArchiveType(String mimeType) {
        return sHandleArchiveMap.get(mimeType);
    }

    static Set<String> getSupportList() {
        return sHandleArchiveMap.keySet();
    }
}
Loading