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

Commit 37e09020 authored by android-build-team Robot's avatar android-build-team Robot
Browse files

Snap for 6502590 from aa3a01d7 to sc-d1-release

Change-Id: Iee65dfa68a399a52814b10d355c0111e5373a421
parents f7a2a3ff aa3a01d7
Loading
Loading
Loading
Loading
+23 −0
Original line number Diff line number Diff line
@@ -99,6 +99,29 @@ android_library {
    min_sdk_version: "29",
}

android_library {
    name: "DocumentsUI-res-lib-tests",

    manifest: "AndroidManifestForUnitTests.xml",

    static_libs: [
        "androidx.appcompat_appcompat",
        "com.google.android.material_material",
    ],

    resource_dirs: [
        "res",
    ],

    aaptflags: [
        "--auto-add-overlay",
    ],

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

android_app {
    name: "DocumentsUI",

+131 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?><!--
/*
 * Copyright (C) 2007-2017 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.android.documentsui">

    <uses-sdk android:minSdkVersion="29" android:targetSdkVersion="29" />

    <uses-permission android:name="android.permission.MANAGE_DOCUMENTS" />
    <uses-permission android:name="android.permission.REMOVE_TASKS" />
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.CACHE_CONTENT" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission
            android:name="android.permission.CHANGE_OVERLAY_PACKAGES" />
    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
    <uses-permission android:name="android.permission.MODIFY_QUIET_MODE" />
    <!-- Permissions required for reading and logging compat changes -->
    <uses-permission android:name="android.permission.LOG_COMPAT_CHANGE" />
    <uses-permission
        android:name="android.permission.READ_COMPAT_CHANGE_CONFIG" />

    <application android:name=".DocumentsApplication"
            android:label="@string/app_label" android:icon="@drawable/app_icon"
            android:supportsRtl="true" android:allowBackup="true"
            android:backupAgent=".prefs.BackupAgent"
            android:fullBackupOnly="false" android:crossProfile="true">

        <activity android:name=".picker.PickActivity"
                android:theme="@style/DocumentsTheme"
                android:visibleToInstantApps="true">
            <intent-filter android:priority="100">
                <action android:name="android.intent.action.OPEN_DOCUMENT" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.OPENABLE" />
                <data android:mimeType="*/*" />
            </intent-filter>
            <intent-filter android:priority="100">
                <action android:name="android.intent.action.CREATE_DOCUMENT" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.OPENABLE" />
                <data android:mimeType="*/*" />
            </intent-filter>
            <intent-filter android:priority="100">
                <action android:name="android.intent.action.GET_CONTENT" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.OPENABLE" />
                <data android:mimeType="*/*" />
            </intent-filter>
            <intent-filter android:priority="100">
                <action android:name="android.intent.action.OPEN_DOCUMENT_TREE" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

        <activity android:name=".files.LauncherActivity"
                android:label="@string/launcher_label"
                android:icon="@drawable/launcher_icon"
                android:theme="@android:style/Theme.NoDisplay"></activity>

        <activity android:name=".inspector.InspectorActivity"
                android:label="@string/menu_inspect"
                android:icon="@drawable/launcher_icon"
                android:theme="@style/DocumentsTheme"></activity>

        <!--  Preserve original launcher activity from Nougat. -->
        <activity-alias android:name=".LauncherActivity"
                android:targetActivity=".files.LauncherActivity"
                android:label="@string/launcher_label"
                android:icon="@drawable/launcher_icon">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
                <category android:name="android.intent.category.APP_FILES" />
            </intent-filter>
            <meta-data android:name="android.app.shortcuts"
                    android:resource="@xml/shortcuts" />
        </activity-alias>

        <activity android:name=".files.FilesActivity"
                android:documentLaunchMode="intoExisting"
                android:theme="@style/DocumentsTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:mimeType="vnd.android.document/root" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:mimeType="vnd.android.document/directory" />
            </intent-filter>
        </activity>

        <activity-alias android:name=".ViewDownloadsActivity"
                android:targetActivity=".files.FilesActivity"
                android:enabled="@bool/handle_view_downloads_intent">
            <intent-filter>
                <action android:name="android.intent.action.VIEW_DOWNLOADS" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity-alias>

        <activity android:name=".ScopedAccessActivity"
                android:theme="@android:style/Theme.Translucent.NoTitleBar">
            <intent-filter>
                <action android:name="android.os.storage.action.OPEN_EXTERNAL_DIRECTORY" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
    </application>

</manifest>
+8 −0
Original line number Diff line number Diff line
@@ -29,6 +29,14 @@ filegroup {
    ],
}

filegroup {
    name: "DocumentsUIUnitTests-srcs",
    srcs: [
        "common/**/*.java",
        "unit/**/*.java",
    ],
}

android_library {
    name: "DocumentsUITests-res-lib",

+10 −9
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@
 * limitations under the License.
 */

package com.android.documentsui.archives;
package com.android.documentsui;

import static android.content.ContentResolver.wrap;

@@ -35,27 +35,28 @@ import android.database.Cursor;
import android.media.ExifInterface;
import android.net.Uri;
import android.os.Bundle;
import android.os.FileUtils;
import android.os.ParcelFileDescriptor;
import android.os.RemoteException;
import android.provider.DocumentsContract;
import android.text.TextUtils;
import android.util.Log;

import androidx.test.InstrumentationRegistry;
import androidx.test.filters.MediumTest;
import androidx.test.runner.AndroidJUnit4;

import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import com.android.documentsui.archives.ArchivesProvider;
import com.android.documentsui.archives.ResourcesProvider;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;

import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;

@RunWith(AndroidJUnit4.class)
@MediumTest
public class ArchivesProviderTest {
@@ -79,9 +80,9 @@ public class ArchivesProviderTest {
    public void testQueryRoots() throws InterruptedException, RemoteException {
        final ContentResolver resolver = mContext.getContentResolver();
        final Uri rootsUri = DocumentsContract.buildRootsUri(ArchivesProvider.AUTHORITY);
        try (final ContentProviderClient client = resolver.acquireUnstableContentProviderClient(
        try (ContentProviderClient client = resolver.acquireUnstableContentProviderClient(
                rootsUri)) {
            final Cursor cursor = client.query(rootsUri, null, null, null, null, null);
            Cursor cursor = client.query(rootsUri, null, null, null, null, null);
            assertNotNull("Cursor must not be null.", cursor);
            assertEquals(0, cursor.getCount());
        }
+12 −12
Original line number Diff line number Diff line
@@ -49,8 +49,8 @@ public class PickActivityTest {
    private static final String RESULT_DATA = "123321";

    private Context mTargetContext;
    private Intent intentGetContent;
    private TestDialogController testDialogs;
    private Intent mIntentGetContent;
    private TestDialogController mTestDialogs;

    @Rule
    public final ActivityTestRule<PickActivity> mRule =
@@ -60,13 +60,13 @@ public class PickActivityTest {
    public void setUp() throws Exception {
        mTargetContext = InstrumentationRegistry.getInstrumentation().getTargetContext();

        intentGetContent = new Intent(Intent.ACTION_GET_CONTENT);
        intentGetContent.addCategory(Intent.CATEGORY_OPENABLE);
        intentGetContent.setType("*/*");
        mIntentGetContent = new Intent(Intent.ACTION_GET_CONTENT);
        mIntentGetContent.addCategory(Intent.CATEGORY_OPENABLE);
        mIntentGetContent.setType("*/*");
        Uri hintUri = DocumentsContract.buildRootUri(AUTHORITY_STORAGE, "primary");
        intentGetContent.putExtra(DocumentsContract.EXTRA_INITIAL_URI, hintUri);
        mIntentGetContent.putExtra(DocumentsContract.EXTRA_INITIAL_URI, hintUri);

        testDialogs = new TestDialogController();
        mTestDialogs = new TestDialogController();
    }

    @Test
@@ -76,7 +76,7 @@ public class PickActivityTest {
        doc.authority = "authority";
        doc.documentId = "documentId";

        PickActivity pickActivity = mRule.launchActivity(intentGetContent);
        PickActivity pickActivity = mRule.launchActivity(mIntentGetContent);
        pickActivity.mState.canShareAcrossProfile = true;
        pickActivity.onDocumentPicked(doc);
        SystemClock.sleep(3000);
@@ -95,7 +95,7 @@ public class PickActivityTest {
            doc.authority = "authority";
            doc.documentId = "documentId";

            PickActivity pickActivity = mRule.launchActivity(intentGetContent);
            PickActivity pickActivity = mRule.launchActivity(mIntentGetContent);
            pickActivity.mState.canShareAcrossProfile = true;
            pickActivity.onDocumentPicked(doc);
            SystemClock.sleep(3000);
@@ -113,13 +113,13 @@ public class PickActivityTest {
        doc.authority = "authority";
        doc.documentId = "documentId";

        PickActivity pickActivity = mRule.launchActivity(intentGetContent);
        PickActivity pickActivity = mRule.launchActivity(mIntentGetContent);
        pickActivity.mState.canShareAcrossProfile = false;
        pickActivity.getInjector().dialogs = testDialogs;
        pickActivity.getInjector().dialogs = mTestDialogs;
        pickActivity.onDocumentPicked(doc);
        SystemClock.sleep(3000);

        assertThat(pickActivity.isFinishing()).isFalse();
        testDialogs.assertActionNotAllowedShown();
        mTestDialogs.assertActionNotAllowedShown();
    }
}
Loading