diff options
22 files changed, 431 insertions, 29 deletions
diff --git a/Android.bp b/Android.bp index a4381cceb..c4b9ad3f1 100644 --- a/Android.bp +++ b/Android.bp @@ -59,8 +59,6 @@ java_defaults { sdk_version: "system_current", min_sdk_version: "29", - - lint: { strict_updatability_linting: true } } platform_compat_config { @@ -73,14 +71,19 @@ java_library { srcs: [ ":statslog-docsui-java-gen", ], - lint: { strict_updatability_linting: true } + libs: [ + "androidx.annotation_annotation", + ], + lint: { + strict_updatability_linting: true, + }, } genrule { name: "statslog-docsui-java-gen", tools: ["stats-log-api-gen"], cmd: "$(location stats-log-api-gen) --java $(out) --module docsui" + - " --javaPackage com.android.documentsui --javaClass DocumentsStatsLog --minApiLevel 29", + " --javaPackage com.android.documentsui --javaClass DocumentsStatsLog --minApiLevel 29", out: ["com/android/documentsui/DocumentsStatsLog.java"], } @@ -106,7 +109,9 @@ android_library { sdk_version: "system_current", target_sdk_version: "33", min_sdk_version: "29", - lint: { strict_updatability_linting: true } + lint: { + baseline_filename: "lint-baseline.xml", + }, } android_library { @@ -121,7 +126,6 @@ android_library { sdk_version: "system_current", target_sdk_version: "33", min_sdk_version: "29", - lint: { strict_updatability_linting: true } } android_app { @@ -143,6 +147,4 @@ android_app { min_sdk_version: "29", updatable: true, - lint: { strict_updatability_linting: true } } - diff --git a/lint-baseline.xml b/lint-baseline.xml index c7db33135..a89103e53 100644 --- a/lint-baseline.xml +++ b/lint-baseline.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<issues format="6" by="lint 8.0.0-dev" type="baseline" dependencies="true" variant="all" version="8.0.0-dev"> +<issues format="6" by="lint 8.4.0-alpha01" type="baseline" client="" dependencies="true" name="" variant="all" version="8.4.0-alpha01"> <issue id="NewApi" diff --git a/perf-tests/src/com/android/documentsui/FilesActivityPerfTest.java b/perf-tests/src/com/android/documentsui/FilesActivityPerfTest.java index 33ef73e5e..f7c295dc9 100644 --- a/perf-tests/src/com/android/documentsui/FilesActivityPerfTest.java +++ b/perf-tests/src/com/android/documentsui/FilesActivityPerfTest.java @@ -24,12 +24,12 @@ import android.app.Activity; import android.net.Uri; import android.os.Bundle; import android.os.RemoteException; -import android.test.suitebuilder.annotation.LargeTest; + +import androidx.test.filters.LargeTest; import com.android.documentsui.BaseActivity.EventListener; import com.android.documentsui.base.RootInfo; import com.android.documentsui.files.FilesActivity; -import com.android.documentsui.ActivityTest; import java.util.ArrayList; import java.util.Arrays; diff --git a/perf-tests/src/com/android/documentsui/FilesJankPerfTest.java b/perf-tests/src/com/android/documentsui/FilesJankPerfTest.java index 6dd804443..8054c3814 100644 --- a/perf-tests/src/com/android/documentsui/FilesJankPerfTest.java +++ b/perf-tests/src/com/android/documentsui/FilesJankPerfTest.java @@ -26,8 +26,8 @@ import android.os.RemoteException; import android.support.test.jank.GfxMonitor; import android.support.test.jank.JankTest; import android.support.test.jank.JankTestBase; -import android.test.suitebuilder.annotation.LargeTest; +import androidx.test.filters.LargeTest; import androidx.test.uiautomator.UiDevice; import androidx.test.uiautomator.UiScrollable; diff --git a/perfetto_config.pbtx b/perfetto_config.pbtx new file mode 100644 index 000000000..7c5bfa128 --- /dev/null +++ b/perfetto_config.pbtx @@ -0,0 +1,222 @@ +buffers: { + size_kb: 63488 + fill_policy: DISCARD +} +buffers: { + size_kb: 2048 + fill_policy: DISCARD +} +# Max duration: 1 min +duration_ms: 60000 + +data_sources: { + config { + name: "linux.ftrace" + + # See: https://perfetto.dev/docs/data-sources/atrace#traceconfig + ftrace_config { + ftrace_events: "ftrace/print" + + # Trace all ContentProvider commands and SQLite queries. + # See: https://source.corp.google.com/android-internal/frameworks/base/core/java/android/os/Trace.java?q=TRACE_TAG_DATABASE + # See: https://cs.android.com/android/platform/superproject/+/master:frameworks/base/core/java/android/database/sqlite/SQLiteConnection.java + # Uncomment to enable. + # Note: on a userdebug build it will add a trace for every SQLite command for every + # application, which makes traces very-very "noisy". + # atrace_categories: "database" + + # Trace Binder IPC transactions. + # Uncomment to enable. + # Note: on a userdebug build it will add a trace for every Binder transaction for every + # application, which makes traces very-very "noisy". + # atrace_categories: "binder_driver" + + # ActivityManager, WindowManager, Graphics, View System. + # Uncomment to enable. + # Note: on a userdebug build it will traces from corresponding category for every + # application, which makes traces very-very "noisy". + # atrace_categories: "wm" + # atrace_categories: "am" + atrace_categories: "gfx" + atrace_categories: "view" + + # Trace DocumentUI "custom" events. + atrace_apps: "com.android.documentsui" + atrace_apps: "com.google.android.documentsui" + + # Trace other Providers. + + # authorities="com.android.documentsui.archives" - DocsUI + atrace_apps: "com.android.documentsui" + atrace_apps: "com.google.android.documentsui" + + # authorities="com.android.externalstorage.documents" - ExternalStorageProvider + atrace_apps: "com.android.externalstorage" + + # authorities="com.android.mtp.documents" - Mtp + atrace_apps: "com.android.mtp" + + # authorities="com.android.pixellogger.documents" - PixelLogger + atrace_apps: "com.android.pixellogger" + + # authorities="com.android.providers.downloads" - DownloadSProvider + atrace_apps: "com.android.providers.downloads.documents" + + # authorities="com.android.providers.media.documents" - MediaProvider + atrace_apps: "com.android.providers.media.module" + atrace_apps: "com.google.android.providers.media.module" + + # authorities="com.android.shell.documents" - Shell (BugreportStorageProvider) + # atrace_apps: "android.uid.shell" + + # authorities="com.google.android.apps.docs.storage" - Google Docs + atrace_apps: "com.google.android.apps.docs" + + # Google Photos. + # atrace_apps: "com.google.android.apps.photos" + + # Trace all apps' events. + # Uncomment to enable. + # atrace_apps: "*" + } + } +} + +# This is for getting Thread-to-Process associations and full process names. +data_sources: { + config { + name: "linux.process_stats" + } +} + +# "Expected Timeline" and "Actual Timeline" jor each process +# See https://perfetto.dev/docs/data-sources/frametimeline#traceconfig +data_sources { + config { + name: "android.surfaceflinger.frametimeline" + } +} + +# Memory Profiling +# See https://perfetto.dev/docs/data-sources/memory-counters + +# Android Logcat +data_sources: { + config { + name: "android.log" + android_log_config { + min_prio: PRIO_VERBOSE # Default: PRIO_DEBUG + + log_ids: LID_EVENTS + log_ids: LID_CRASH + log_ids: LID_KERNEL + log_ids: LID_DEFAULT + log_ids: LID_RADIO + log_ids: LID_SECURITY + log_ids: LID_STATS + log_ids: LID_SYSTEM + + # If filter_tags non-empty ignores all log messages whose tag doesn't match one of the + # specified values. + # filter_tags: "AbstractActionHandler" + # filter_tags: "ActionModeController" + # filter_tags: "Archive" + # filter_tags: "ArchiveFileTestRule" + # filter_tags: "ArchiveHandle" + # filter_tags: "ArchivesProvider" + # filter_tags: "CancelFromNotificationUiTest" + # filter_tags: "ClipStorage" + # filter_tags: "CommandInterceptor" + # filter_tags: "CompressJob" + # filter_tags: "ConfirmFragment" + # filter_tags: "ContentLock" + # filter_tags: "CopyJob" + # filter_tags: "DebugHelper" + # filter_tags: "DeleteJob" + # filter_tags: "DirectoryFragment" + # filter_tags: "DirectoryLoader" + # filter_tags: "DirectoryResult" + # filter_tags: "DocumentAccess" + # filter_tags: "DocumentClipper" + # filter_tags: "DocumentInfo" + # filter_tags: "DocumentStack" + # filter_tags: "Documents" + # filter_tags: "DocumentsApplication" + # filter_tags: "DocumentsSwipeRefreshLayout" + # filter_tags: "DragStartListener" + # filter_tags: "DrawerController" + # filter_tags: "EjectRootTask" + # filter_tags: "FileCopyUiTest" + # filter_tags: "FileDeleteUiTest" + # filter_tags: "FileOperationService" + # filter_tags: "FileOperations" + # filter_tags: "FilesActivity" + # filter_tags: "FilesAppPerfTest" + # filter_tags: "FocusManager" + # filter_tags: "GetRootDocumentTask" + # filter_tags: "HeaderItem" + # filter_tags: "HeaderMessage" + # filter_tags: "IconHelper" + # filter_tags: "ItemDragListener" + # filter_tags: "Job" + # filter_tags: "JumboUrisSupplier" + # filter_tags: "LastAccessedProvider" + # filter_tags: "LastAccessedStorage" + # filter_tags: "LauncherActivity" + # filter_tags: "ListDocumentHolder" + # filter_tags: "LoadDocStackTask" + # filter_tags: "LoadRootTask" + # filter_tags: "Loader" + # filter_tags: "ManagerActionHandler" + # filter_tags: "MenuManager" + # filter_tags: "MetadataLoader" + # filter_tags: "Metrics" + # filter_tags: "Model" + # filter_tags: "ModelBackedDocuments" + # filter_tags: "MoveJob" + # filter_tags: "MultiRootDocsLoader" + # filter_tags: "NavigationViewManager" + # filter_tags: "OperationDialogFragment" + # filter_tags: "PermissionsTest" + # filter_tags: "PickActivity" + # filter_tags: "PickCountRecordProvider" + # filter_tags: "PickCountRecordStorage" + # filter_tags: "PickFragment" + # filter_tags: "PickerActionHandler" + # filter_tags: "PreBootReceiver" + # filter_tags: "ProfileTabsController" + # filter_tags: "ProvidersCache" + # filter_tags: "QuickViewIntentBuilder" + # filter_tags: "ReadableArchive" + # filter_tags: "RefreshTask" + # filter_tags: "ResolvedResourcesJob" + # filter_tags: "RootCursorWrapper" + # filter_tags: "RootInfo" + # filter_tags: "RootItem" + # filter_tags: "RootUiTest" + # filter_tags: "RootsDragHost" + # filter_tags: "RootsFragment" + # filter_tags: "RootsListBot" + # filter_tags: "SaveFragment" + # filter_tags: "ScaleHelper" + # filter_tags: "ScopedAccessMetrics" + # filter_tags: "SearchFragment" + # filter_tags: "SearchHistoryManager" + # filter_tags: "SearchManager" + # filter_tags: "SectioningDocumentsAdapterWrapper" + # filter_tags: "SelectionMetadata" + # filter_tags: "SharedInputHandler" + # filter_tags: "SortModel" + # filter_tags: "SpacerItem" + # filter_tags: "State" + # filter_tags: "StubProvider" + # filter_tags: "TestContextResolver" + # filter_tags: "TestNotificationService" + # filter_tags: "ThemeOverlayManager" + # filter_tags: "ThumbnailLoader" + # filter_tags: "UserIdManager" + # filter_tags: "WriteableArchive" + # filter_tags: "dirlist.DragHost" + } + } +} diff --git a/src/com/android/documentsui/picker/LastAccessedProvider.java b/src/com/android/documentsui/picker/LastAccessedProvider.java index 36c00f317..3a0de08dd 100644 --- a/src/com/android/documentsui/picker/LastAccessedProvider.java +++ b/src/com/android/documentsui/picker/LastAccessedProvider.java @@ -57,6 +57,7 @@ public class LastAccessedProvider extends ContentProvider { private static final int URI_LAST_ACCESSED = 1; + public static final String METHOD_CLOSE_DATABASE = "closeDatabase"; public static final String METHOD_PURGE = "purge"; public static final String METHOD_PURGE_PACKAGE = "purgePackage"; @@ -236,6 +237,9 @@ public class LastAccessedProvider extends ContentProvider { return null; + } else if (METHOD_CLOSE_DATABASE.equals(method)) { + mHelper.close(); + return null; } else { return super.call(method, arg, extras); } diff --git a/src/com/android/documentsui/picker/PickCountRecordProvider.java b/src/com/android/documentsui/picker/PickCountRecordProvider.java index 0a8e21505..aa98ca042 100644 --- a/src/com/android/documentsui/picker/PickCountRecordProvider.java +++ b/src/com/android/documentsui/picker/PickCountRecordProvider.java @@ -25,6 +25,7 @@ import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.net.Uri; +import android.os.Bundle; import android.util.Log; public class PickCountRecordProvider extends ContentProvider { @@ -40,6 +41,8 @@ public class PickCountRecordProvider extends ContentProvider { static final String AUTHORITY = "com.android.documentsui.pickCountRecord"; + public static final String METHOD_CLOSE_DATABASE = "closeDatabase"; + static { MATCHER.addURI(AUTHORITY, "pickCountRecord/*", URI_PICK_RECORD); } @@ -148,4 +151,14 @@ public class PickCountRecordProvider extends ContentProvider { public String getType(Uri uri) { return null; } + + @Override + public Bundle call(String method, String arg, Bundle extras) { + if (METHOD_CLOSE_DATABASE.equals(method)) { + mHelper.close(); + return null; + } else { + return super.call(method, arg, extras); + } + } }
\ No newline at end of file diff --git a/src/com/android/documentsui/queries/SearchHistoryManager.java b/src/com/android/documentsui/queries/SearchHistoryManager.java index 26def876d..6ccad6a29 100644 --- a/src/com/android/documentsui/queries/SearchHistoryManager.java +++ b/src/com/android/documentsui/queries/SearchHistoryManager.java @@ -175,6 +175,13 @@ public class SearchHistoryManager { } } + /** + * Closes the database. + */ + public void closeDatabase() { + mHelper.close(); + } + private class DatabaseTask extends AsyncTask<Object, Void, Object> { private final String mKeyword; private final DATABASE_OPERATION mOperation; diff --git a/tests/Android.bp b/tests/Android.bp index d22ec4353..091f2edb3 100644 --- a/tests/Android.bp +++ b/tests/Android.bp @@ -77,8 +77,8 @@ android_library { "res", ], - min_sdk_version : "29", - target_sdk_version : "29", + min_sdk_version: "29", + target_sdk_version: "29", } android_library { @@ -110,8 +110,11 @@ android_library { "-0 .zip", ], - min_sdk_version : "29", - target_sdk_version : "29", + min_sdk_version: "29", + target_sdk_version: "29", + lint: { + baseline_filename: "lint-baseline.xml", + }, } android_test { @@ -138,6 +141,6 @@ android_test { certificate: "platform", instrumentation_for: "DocumentsUI", - min_sdk_version : "29", - target_sdk_version : "29", + min_sdk_version: "29", + target_sdk_version: "29", } diff --git a/tests/functional/com/android/documentsui/archives/WriteableArchiveTest.java b/tests/functional/com/android/documentsui/archives/WriteableArchiveTest.java index 7092d1294..da470daa3 100644 --- a/tests/functional/com/android/documentsui/archives/WriteableArchiveTest.java +++ b/tests/functional/com/android/documentsui/archives/WriteableArchiveTest.java @@ -21,9 +21,9 @@ import android.net.Uri; import android.os.ParcelFileDescriptor; import android.provider.DocumentsContract.Document; import android.test.AndroidTestCase; -import android.test.suitebuilder.annotation.MediumTest; import androidx.test.InstrumentationRegistry; +import androidx.test.filters.MediumTest; import java.io.File; import java.io.IOException; diff --git a/tests/functional/com/android/documentsui/inspector/DocumentLoaderTest.java b/tests/functional/com/android/documentsui/inspector/DocumentLoaderTest.java index 8a2b21f10..ac417c90a 100644 --- a/tests/functional/com/android/documentsui/inspector/DocumentLoaderTest.java +++ b/tests/functional/com/android/documentsui/inspector/DocumentLoaderTest.java @@ -25,8 +25,8 @@ import android.net.Uri; import android.os.Bundle; import android.os.Looper; import android.provider.DocumentsContract; -import android.test.suitebuilder.annotation.MediumTest; +import androidx.test.filters.MediumTest; import androidx.test.rule.provider.ProviderTestRule; import com.android.documentsui.InspectorProvider; diff --git a/tests/functional/com/android/documentsui/services/AbstractCopyJobTest.java b/tests/functional/com/android/documentsui/services/AbstractCopyJobTest.java index 7b2cb828c..525397bc0 100644 --- a/tests/functional/com/android/documentsui/services/AbstractCopyJobTest.java +++ b/tests/functional/com/android/documentsui/services/AbstractCopyJobTest.java @@ -23,9 +23,10 @@ import static org.junit.Assert.assertNotEquals; import android.app.Notification; import android.net.Uri; import android.provider.DocumentsContract; -import android.test.suitebuilder.annotation.MediumTest; import android.text.format.DateUtils; +import androidx.test.filters.MediumTest; + import com.android.documentsui.R; import com.android.documentsui.base.DocumentInfo; import com.android.documentsui.services.FileOperationService.OpType; diff --git a/tests/lint-baseline.xml b/tests/lint-baseline.xml new file mode 100644 index 000000000..ed87eb9c8 --- /dev/null +++ b/tests/lint-baseline.xml @@ -0,0 +1,147 @@ +<?xml version="1.0" encoding="UTF-8"?> +<issues format="6" by="lint 8.4.0-alpha01" type="baseline" client="" dependencies="true" name="" variant="all" version="8.4.0-alpha01"> + + <issue + id="NewApi" + message="Call requires API level 34 (current min is 29): `android.content.om.OverlayManager#getOverlayInfosForTarget`" + errorLine1=" when(mOverlayManager.getOverlayInfosForTarget(getEnabledTargetPackageId()," + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="packages/apps/DocumentsUI/tests/functional/com/android/documentsui/ThemeOverlayManagerTest.java" + line="85" + column="30"/> + </issue> + + <issue + id="NewApi" + message="Call requires API level 34 (current min is 29): `android.content.om.OverlayManager#getOverlayInfosForTarget`" + errorLine1=" when(mOverlayManager.getOverlayInfosForTarget(getDisabledTargetPackageId()," + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="packages/apps/DocumentsUI/tests/functional/com/android/documentsui/ThemeOverlayManagerTest.java" + line="89" + column="30"/> + </issue> + + <issue + id="NewApi" + message="Call requires API level 34 (current min is 29): `android.content.om.OverlayManager#setEnabled`" + errorLine1=" verify(mOverlayManager, times(1)).setEnabled(getOverlayPackageId(), enabled," + errorLine2=" ~~~~~~~~~~"> + <location + file="packages/apps/DocumentsUI/tests/functional/com/android/documentsui/ThemeOverlayManagerTest.java" + line="104" + column="43"/> + </issue> + + <issue + id="NewApi" + message="Call requires API level 34 (current min is 29): `android.content.om.OverlayManager#getOverlayInfosForTarget`" + errorLine1=" verify(mOverlayManager, times(1)).getOverlayInfosForTarget(getEnabledTargetPackageId()," + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="packages/apps/DocumentsUI/tests/functional/com/android/documentsui/ThemeOverlayManagerTest.java" + line="116" + column="43"/> + </issue> + + <issue + id="NewApi" + message="Call requires API level 34 (current min is 29): `android.content.om.OverlayManager#setEnabled`" + errorLine1=" verify(mOverlayManager, never()).setEnabled(getOverlayPackageId(), enabled," + errorLine2=" ~~~~~~~~~~"> + <location + file="packages/apps/DocumentsUI/tests/functional/com/android/documentsui/ThemeOverlayManagerTest.java" + line="129" + column="42"/> + </issue> + + <issue + id="NewApi" + message="Call requires API level 34 (current min is 29): `android.content.om.OverlayManager#getOverlayInfosForTarget`" + errorLine1=" assertThat(mOverlayManager.getOverlayInfosForTarget(getDisabledTargetPackageId()," + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="packages/apps/DocumentsUI/tests/functional/com/android/documentsui/ThemeOverlayManagerTest.java" + line="137" + column="36"/> + </issue> + + <issue + id="NewApi" + message="Call requires API level 34 (current min is 29): `android.content.om.OverlayInfo#isEnabled`" + errorLine1=" mUserHandle).get(0).isEnabled()).isEqualTo(!enabled);" + errorLine2=" ~~~~~~~~~"> + <location + file="packages/apps/DocumentsUI/tests/functional/com/android/documentsui/ThemeOverlayManagerTest.java" + line="138" + column="37"/> + </issue> + + <issue + id="NewApi" + message="Call requires API level 34 (current min is 29): `android.content.om.OverlayManager#setEnabled`" + errorLine1=" verify(mOverlayManager, times(1)).setEnabled(getOverlayPackageId(), enabled," + errorLine2=" ~~~~~~~~~~"> + <location + file="packages/apps/DocumentsUI/tests/functional/com/android/documentsui/ThemeOverlayManagerTest.java" + line="146" + column="43"/> + </issue> + + <issue + id="NewApi" + message="Call requires API level 34 (current min is 29): `android.content.om.OverlayManager#getOverlayInfosForTarget`" + errorLine1=" assertThat(mOverlayManager.getOverlayInfosForTarget(getEnabledTargetPackageId()," + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="packages/apps/DocumentsUI/tests/functional/com/android/documentsui/ThemeOverlayManagerTest.java" + line="154" + column="36"/> + </issue> + + <issue + id="NewApi" + message="Call requires API level 34 (current min is 29): `android.content.om.OverlayInfo#isEnabled`" + errorLine1=" mUserHandle).get(0).isEnabled()).isEqualTo(!enabled);" + errorLine2=" ~~~~~~~~~"> + <location + file="packages/apps/DocumentsUI/tests/functional/com/android/documentsui/ThemeOverlayManagerTest.java" + line="155" + column="37"/> + </issue> + + <issue + id="NewApi" + message="Call requires API level 34 (current min is 29): `android.content.om.OverlayManager#setEnabled`" + errorLine1=" verify(mOverlayManager, times(1)).setEnabled(getOverlayPackageId(), enabled," + errorLine2=" ~~~~~~~~~~"> + <location + file="packages/apps/DocumentsUI/tests/functional/com/android/documentsui/ThemeOverlayManagerTest.java" + line="163" + column="43"/> + </issue> + + <issue + id="NewApi" + message="Call requires API level 34 (current min is 29): `android.content.om.OverlayManager#getOverlayInfosForTarget`" + errorLine1=" mOverlayManager.getOverlayInfosForTarget(getEnabledTargetPackageId()," + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~"> + <location + file="packages/apps/DocumentsUI/tests/functional/com/android/documentsui/ThemeOverlayManagerTest.java" + line="192" + column="33"/> + </issue> + + <issue + id="NewApi" + message="Call requires API level 34 (current min is 29): `new android.content.om.OverlayInfo`" + errorLine1=' return new OverlayInfo(packageName, targetPackageName, null, null, "",' + errorLine2=" ~~~~~~~~~~~~~~~"> + <location + file="packages/apps/DocumentsUI/tests/functional/com/android/documentsui/ThemeOverlayManagerTest.java" + line="211" + column="16"/> + </issue> + +</issues>
\ No newline at end of file diff --git a/tests/unit/com/android/documentsui/FocusManagerTest.java b/tests/unit/com/android/documentsui/FocusManagerTest.java index 67e70005e..36637f3cb 100644 --- a/tests/unit/com/android/documentsui/FocusManagerTest.java +++ b/tests/unit/com/android/documentsui/FocusManagerTest.java @@ -17,10 +17,10 @@ package com.android.documentsui; import android.test.AndroidTestCase; -import android.test.suitebuilder.annotation.SmallTest; import androidx.recyclerview.selection.SelectionTracker; import androidx.recyclerview.widget.RecyclerView; +import androidx.test.filters.SmallTest; import com.android.documentsui.base.UserId; import com.android.documentsui.dirlist.TestData; diff --git a/tests/unit/com/android/documentsui/base/DocumentInfoTest.java b/tests/unit/com/android/documentsui/base/DocumentInfoTest.java index eba30d2e5..4e73333d8 100644 --- a/tests/unit/com/android/documentsui/base/DocumentInfoTest.java +++ b/tests/unit/com/android/documentsui/base/DocumentInfoTest.java @@ -28,8 +28,8 @@ import android.content.Context; import android.net.Uri; import android.provider.DocumentsContract; import android.test.AndroidTestCase; -import android.test.suitebuilder.annotation.SmallTest; +import androidx.test.filters.SmallTest; import androidx.test.rule.provider.ProviderTestRule; import com.android.documentsui.InspectorProvider; diff --git a/tests/unit/com/android/documentsui/dirlist/AccessibilityTest.java b/tests/unit/com/android/documentsui/dirlist/AccessibilityTest.java index 4334608c2..09b193344 100644 --- a/tests/unit/com/android/documentsui/dirlist/AccessibilityTest.java +++ b/tests/unit/com/android/documentsui/dirlist/AccessibilityTest.java @@ -18,12 +18,12 @@ package com.android.documentsui.dirlist; import android.database.Cursor; import android.test.AndroidTestCase; -import android.test.suitebuilder.annotation.SmallTest; import android.view.View; import android.widget.Space; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; import androidx.recyclerview.widget.RecyclerView; +import androidx.test.filters.SmallTest; import com.android.documentsui.TestConfigStore; import com.android.documentsui.testing.TestRecyclerView; diff --git a/tests/unit/com/android/documentsui/inspector/GpsCoordinatesTextClassifierTest.java b/tests/unit/com/android/documentsui/inspector/GpsCoordinatesTextClassifierTest.java index e25d227e7..f4e04221d 100644 --- a/tests/unit/com/android/documentsui/inspector/GpsCoordinatesTextClassifierTest.java +++ b/tests/unit/com/android/documentsui/inspector/GpsCoordinatesTextClassifierTest.java @@ -20,12 +20,12 @@ import static junit.framework.Assert.assertEquals; import android.content.Context; import android.content.pm.PackageManager; import android.os.LocaleList; -import android.test.suitebuilder.annotation.SmallTest; import android.view.textclassifier.TextClassification; import android.view.textclassifier.TextClassificationManager; import android.view.textclassifier.TextClassifier; import androidx.test.InstrumentationRegistry; +import androidx.test.filters.SmallTest; import androidx.test.runner.AndroidJUnit4; import com.android.documentsui.testing.TestPackageManager; diff --git a/tests/unit/com/android/documentsui/inspector/HeaderTextSelectorTest.java b/tests/unit/com/android/documentsui/inspector/HeaderTextSelectorTest.java index 30178cedc..28bc667ab 100644 --- a/tests/unit/com/android/documentsui/inspector/HeaderTextSelectorTest.java +++ b/tests/unit/com/android/documentsui/inspector/HeaderTextSelectorTest.java @@ -19,12 +19,12 @@ import static junit.framework.Assert.assertEquals; import static junit.framework.Assert.assertTrue; import android.content.Context; -import android.test.suitebuilder.annotation.SmallTest; import android.text.Spannable; import android.text.SpannableString; import android.widget.TextView; import androidx.test.InstrumentationRegistry; +import androidx.test.filters.SmallTest; import androidx.test.runner.AndroidJUnit4; import com.android.documentsui.inspector.HeaderTextSelector.Selector; diff --git a/tests/unit/com/android/documentsui/inspector/InspectorControllerTest.java b/tests/unit/com/android/documentsui/inspector/InspectorControllerTest.java index 9a7bad574..f3d5b591c 100644 --- a/tests/unit/com/android/documentsui/inspector/InspectorControllerTest.java +++ b/tests/unit/com/android/documentsui/inspector/InspectorControllerTest.java @@ -29,10 +29,10 @@ import android.os.Looper; import android.os.UserHandle; import android.provider.DocumentsContract; import android.provider.DocumentsContract.Document; -import android.test.suitebuilder.annotation.SmallTest; import android.view.View.OnClickListener; import androidx.annotation.Nullable; +import androidx.test.filters.SmallTest; import androidx.test.runner.AndroidJUnit4; import com.android.documentsui.InspectorProvider; diff --git a/tests/unit/com/android/documentsui/inspector/MediaViewTest.java b/tests/unit/com/android/documentsui/inspector/MediaViewTest.java index 80c3c4729..db87e42bd 100644 --- a/tests/unit/com/android/documentsui/inspector/MediaViewTest.java +++ b/tests/unit/com/android/documentsui/inspector/MediaViewTest.java @@ -19,8 +19,8 @@ import android.media.ExifInterface; import android.media.MediaMetadata; import android.os.Bundle; import android.provider.DocumentsContract; -import android.test.suitebuilder.annotation.SmallTest; +import androidx.test.filters.SmallTest; import androidx.test.runner.AndroidJUnit4; import com.android.documentsui.R; diff --git a/tests/unit/com/android/documentsui/roots/ProvidersAccessTest.java b/tests/unit/com/android/documentsui/roots/ProvidersAccessTest.java index cab664150..255c1cb10 100644 --- a/tests/unit/com/android/documentsui/roots/ProvidersAccessTest.java +++ b/tests/unit/com/android/documentsui/roots/ProvidersAccessTest.java @@ -21,9 +21,9 @@ import static com.google.common.truth.Truth.assertThat; import android.provider.DocumentsContract; import android.test.AndroidTestCase; -import android.test.suitebuilder.annotation.SmallTest; import androidx.annotation.Nullable; +import androidx.test.filters.SmallTest; import com.android.documentsui.base.Providers; import com.android.documentsui.base.RootInfo; diff --git a/trace.sh b/trace.sh new file mode 100755 index 000000000..573d92362 --- /dev/null +++ b/trace.sh @@ -0,0 +1,3 @@ +$ANDROID_BUILD_TOP/external/perfetto/tools/record_android_trace \ + -c $ANDROID_BUILD_TOP/packages/apps/DocumentsUI/perfetto_config.pbtx \ + -o /tmp/perfetto-traces/docsui-$(date +"%d-%m-%Y_%H-%M-%S").perfetto-trace |