diff options
author | 2020-05-15 19:39:10 +0000 | |
---|---|---|
committer | 2020-05-15 19:39:10 +0000 | |
commit | ed218c11a70e60806088feb3241dfe8284b7b370 (patch) | |
tree | 25565f6b00448ed6f96b3dbb7eae253568aa12ee | |
parent | aef23c0e556e1a02ee0ac18c3b5548b89b903f8b (diff) | |
parent | ef5e4d7630b5d80beb41c3191535d2d9421a153b (diff) |
Merge "Add manifest file for only DocumentsUI res for tests" into rvc-dev
-rw-r--r-- | Android.bp | 23 | ||||
-rw-r--r-- | AndroidManifestForUnitTests.xml | 131 | ||||
-rw-r--r-- | tests/Android.bp | 8 | ||||
-rw-r--r-- | tests/functional/com/android/documentsui/ArchivesProviderTest.java (renamed from tests/unit/com/android/documentsui/archives/ArchivesProviderTest.java) | 19 | ||||
-rw-r--r-- | tests/functional/com/android/documentsui/PickActivityTest.java (renamed from tests/unit/com/android/documentsui/PickActivityTest.java) | 24 | ||||
-rw-r--r-- | tests/functional/com/android/documentsui/ThemeOverlayManagerTest.java (renamed from tests/unit/com/android/documentsui/theme/ThemeOverlayManagerTest.java) | 4 |
6 files changed, 187 insertions, 22 deletions
diff --git a/Android.bp b/Android.bp index 04605702d..3494449cb 100644 --- a/Android.bp +++ b/Android.bp @@ -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", diff --git a/AndroidManifestForUnitTests.xml b/AndroidManifestForUnitTests.xml new file mode 100644 index 000000000..717cddff1 --- /dev/null +++ b/AndroidManifestForUnitTests.xml @@ -0,0 +1,131 @@ +<?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> diff --git a/tests/Android.bp b/tests/Android.bp index 10393421c..e0b427de7 100644 --- a/tests/Android.bp +++ b/tests/Android.bp @@ -29,6 +29,14 @@ filegroup { ], } +filegroup { + name: "DocumentsUIUnitTests-srcs", + srcs: [ + "common/**/*.java", + "unit/**/*.java", + ], +} + android_library { name: "DocumentsUITests-res-lib", diff --git a/tests/unit/com/android/documentsui/archives/ArchivesProviderTest.java b/tests/functional/com/android/documentsui/ArchivesProviderTest.java index 484342525..1a2333168 100644 --- a/tests/unit/com/android/documentsui/archives/ArchivesProviderTest.java +++ b/tests/functional/com/android/documentsui/ArchivesProviderTest.java @@ -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()); } diff --git a/tests/unit/com/android/documentsui/PickActivityTest.java b/tests/functional/com/android/documentsui/PickActivityTest.java index 1fbc20d9b..cd042b1f5 100644 --- a/tests/unit/com/android/documentsui/PickActivityTest.java +++ b/tests/functional/com/android/documentsui/PickActivityTest.java @@ -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(); } } diff --git a/tests/unit/com/android/documentsui/theme/ThemeOverlayManagerTest.java b/tests/functional/com/android/documentsui/ThemeOverlayManagerTest.java index 2e5e1a700..93ff89f05 100644 --- a/tests/unit/com/android/documentsui/theme/ThemeOverlayManagerTest.java +++ b/tests/functional/com/android/documentsui/ThemeOverlayManagerTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.documentsui.theme; +package com.android.documentsui; import static com.google.common.truth.Truth.assertThat; @@ -38,6 +38,8 @@ import androidx.test.filters.SmallTest; import androidx.test.platform.app.InstrumentationRegistry; import androidx.test.runner.AndroidJUnit4; +import com.android.documentsui.theme.ThemeOverlayManager; + import com.google.common.collect.Lists; import org.junit.Before; |