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

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

Snap for 13081433 from 8885176f to 25Q2-release

Change-Id: I68271637ab9816ad32a7ddf6d213091fffffe7fe
parents 85e71566 8885176f
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -37,7 +37,7 @@ aconfig_declarations {
java_aconfig_library {
    name: "docsui-flags-aconfig-java-lib",
    aconfig_declarations: "docsui-flags-aconfig",
    min_sdk_version: "29",
    min_sdk_version: "30",
    sdk_version: "system_current",
}

@@ -45,7 +45,7 @@ java_library {
    name: "docsui-change-ids",
    srcs: ["src/com/android/documentsui/ChangeIds.java"],
    libs: ["app-compat-annotations"],
    min_sdk_version: "29",
    min_sdk_version: "30",
    sdk_version: "system_current",
}

@@ -77,7 +77,7 @@ java_defaults {
    },

    sdk_version: "system_current",
    min_sdk_version: "29",
    min_sdk_version: "30",
}

platform_compat_config {
@@ -133,7 +133,7 @@ android_library {

    sdk_version: "system_current",
    target_sdk_version: "33",
    min_sdk_version: "29",
    min_sdk_version: "30",
    lint: {
        baseline_filename: "lint-baseline.xml",
    },
@@ -151,7 +151,7 @@ android_library {

    sdk_version: "system_current",
    target_sdk_version: "33",
    min_sdk_version: "29",
    min_sdk_version: "30",
}

android_app {
@@ -173,6 +173,6 @@ android_app {

    required: ["privapp_whitelist_com.android.documentsui"],

    min_sdk_version: "29",
    min_sdk_version: "30",
    updatable: true,
}
+2 −2
Original line number Diff line number Diff line
@@ -46,7 +46,7 @@ android_library {

    sdk_version: "system_current",
    target_sdk_version: "33",
    min_sdk_version: "29",
    min_sdk_version: "30",
}

android_app {
@@ -58,5 +58,5 @@ android_app {
    certificate: "platform",

    sdk_version: "system_current",
    min_sdk_version: "29",
    min_sdk_version: "30",
}
+11 −1
Original line number Diff line number Diff line
@@ -49,7 +49,11 @@ import kotlin.time.measureTime
 *  - Query options such as maximum number of results, last modified time delta, etc.
 *  - a lookup from file extension to file type
 *  - The model capable of sorting results
 *  - An acceptable mime types
 *  - An executor for running searches across multiple roots in parallel
 *
 *  SearchLoader requires that either a query is not null and not empty or that QueryOptions
 *  specify a last modified time restriction. This is to prevent searching for every file
 *  across every specified root.
 */
class SearchLoader(
    context: Context,
@@ -63,6 +67,12 @@ class SearchLoader(
    private val mExecutorService: ExecutorService,
) : BaseFileLoader(context, userIdList, mimeTypeLookup) {

    init {
        require((mQuery !== null && !mQuery.isBlank()) || mOptions.maxLastModifiedDelta !== null) {
            "Either the query or the last modified time must not be null"
        }
    }

    /**
     * Helper class that runs query on a single user for the given parameter. This class implements
     * an abstract future so that if the task is completed, we can retrieve the cursor via the get
+7 −6
Original line number Diff line number Diff line
@@ -82,8 +82,8 @@ android_library {
        "res",
    ],

    min_sdk_version: "29",
    target_sdk_version: "29",
    min_sdk_version: "30",
    target_sdk_version: "30",
}

android_library {
@@ -97,6 +97,7 @@ android_library {
        "functional/**/*.java",
        "functional/**/*.kt",
        "unit/**/*.java",
        "unit/**/*.kt",
    ],

    libs: [
@@ -116,8 +117,8 @@ android_library {
        "-0 .zip",
    ],

    min_sdk_version: "29",
    target_sdk_version: "29",
    min_sdk_version: "30",
    target_sdk_version: "30",
    lint: {
        baseline_filename: "lint-baseline.xml",
    },
@@ -147,6 +148,6 @@ android_test {
    certificate: "platform",

    instrumentation_for: "DocumentsUI",
    min_sdk_version: "29",
    target_sdk_version: "29",
    min_sdk_version: "30",
    target_sdk_version: "30",
}
+7 −43
Original line number Diff line number Diff line
@@ -46,7 +46,6 @@ import androidx.test.uiautomator.Until;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.regex.Pattern;

/**
 * A test helper class that provides support for controlling directory list
@@ -56,16 +55,13 @@ public class DirectoryListBot extends Bots.BaseBot {

    private static final int MAX_LAYOUT_LEVEL = 10;

    private static final BySelector SNACK_DELETE =
            By.text(Pattern.compile("^Deleting [0-9]+ item.+"));

    private final String mDirContainerId;
    private final String mDirListId;
    private final String mItemRootId;
    private final String mPreviewId;
    private final String mIconId;

    private UiAutomation mAutomation;
    private final UiAutomation mAutomation;

    public DirectoryListBot(
            UiDevice device, UiAutomation automation, Context context, int timeout) {
@@ -178,10 +174,6 @@ public class DirectoryListBot extends Bots.BaseBot {
        findPlaceholderMessageTextView().waitForExists(mTimeout);
    }

    public void assertSnackbar(int id) {
        assertNotNull(getSnackbar(mContext.getString(id)));
    }

    public void openDocument(String label) throws UiObjectNotFoundException {
        int toolType = Configurator.getInstance().getToolType();
        Configurator.getInstance().setToolType(MotionEvent.TOOL_TYPE_FINGER);
@@ -208,13 +200,6 @@ public class DirectoryListBot extends Bots.BaseBot {
        assertSelection(number);
    }

    public boolean isDocumentSelected(String label) throws UiObjectNotFoundException {
        waitForDocument(label);
        UiObject2 selectionHotspot = findSelectionHotspot(label);
        return selectionHotspot.getResourceName()
                .equals(mTargetPackage + ":id/icon_check");
    }

    public UiObject2 findSelectionHotspot(String label) throws UiObjectNotFoundException {
        final BySelector list = By.res(mDirListId);

@@ -224,20 +209,15 @@ public class DirectoryListBot extends Bots.BaseBot {
        new UiScrollable(docList).scrollIntoView(new UiSelector().text(label));

        UiObject2 parent = mDevice.findObject(list).findObject(selector);
        UiObject2 selectionHotspot = null;
        for (int i = 1; i <= MAX_LAYOUT_LEVEL; i++) {
            parent = parent.getParent();
            if (mItemRootId.equals(parent.getResourceName())) {
            selectionHotspot = parent.findObject(By.res(mIconId));
            if (selectionHotspot != null) {
                break;
            }
        }
        return parent.findObject(By.res(mIconId));
    }

    public void copyFilesToClipboard(String...labels) throws UiObjectNotFoundException {
        for (String label: labels) {
            selectDocument(label);
        }
        mDevice.pressKeyCode(KeyEvent.KEYCODE_C, KeyEvent.META_CTRL_ON);
        return selectionHotspot;
    }

    public void pasteFilesFromClipboard() {
@@ -248,21 +228,6 @@ public class DirectoryListBot extends Bots.BaseBot {
        return mDevice.wait(Until.findObject(By.text(message)), mTimeout);
    }

    public void clickSnackbarAction() throws UiObjectNotFoundException {
        UiObject snackbarAction =
                findObject(mTargetPackage + ":id/snackbar_action");
        snackbarAction.click();
    }

    public void waitForDeleteSnackbar() {
        mDevice.wait(Until.findObject(SNACK_DELETE), mTimeout);
    }

    public void waitForDeleteSnackbarGone() {
        // wait a little longer for snackbar to go away, as it disappears after a timeout.
        mDevice.wait(Until.gone(SNACK_DELETE), mTimeout * 2);
    }

    public void waitForDocument(String label) throws UiObjectNotFoundException {
        findDocument(label).waitForExists(mTimeout);
    }
@@ -295,9 +260,8 @@ public class DirectoryListBot extends Bots.BaseBot {

    public boolean hasDocumentPreview(String label) {
        final BySelector list = By.res(mDirListId);
        final UiObject2 text = mDevice.findObject(list).findObject(By.text(label));

        UiObject2 parent = text;
        UiObject2 parent = mDevice.findObject(list).findObject(By.text(label));
        for (int i = 1; i <= MAX_LAYOUT_LEVEL; i++) {
            parent = parent.getParent();
            if (mItemRootId.equals(parent.getResourceName())) {
@@ -338,7 +302,7 @@ public class DirectoryListBot extends Bots.BaseBot {
        String assertSelectionText = numSelected + " selected";
        UiObject2 selectionText = mDevice.wait(
                Until.findObject(By.text(assertSelectionText)), mTimeout);
        assertTrue(selectionText != null);
        assertNotNull(selectionText);
    }

    public void assertOrder(String[] dirs, String[] files) throws UiObjectNotFoundException {
Loading