diff options
author | 2016-03-29 17:46:53 +0900 | |
---|---|---|
committer | 2016-03-30 13:54:44 +0900 | |
commit | f3121f464256d5e821b2e77bbf17ddec938a70e2 (patch) | |
tree | c340ce2c9729d9b181bb8b6d4cf55121fd1e1806 | |
parent | 7a24a3da4e0c4f456dd3f1d828c05f36d3f78cbb (diff) |
Render thumbnails in DocumentsUI jank tests.
Bug: 27383277
Change-Id: I0b5f267d7dc6c6c426b68f261c470f4ae46367a4
-rw-r--r-- | perf-tests/Android.mk | 2 | ||||
-rw-r--r-- | perf-tests/res/raw/earth_small.jpg | bin | 0 -> 44514 bytes | |||
-rw-r--r-- | perf-tests/src/com/android/documentsui/StressProvider.java | 39 |
3 files changed, 32 insertions, 9 deletions
diff --git a/perf-tests/Android.mk b/perf-tests/Android.mk index 919fc5609..5ebf85f74 100644 --- a/perf-tests/Android.mk +++ b/perf-tests/Android.mk @@ -2,8 +2,8 @@ LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE_TAGS := tests -#LOCAL_SDK_VERSION := current +LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res LOCAL_SRC_FILES := $(call all-java-files-under, src) \ $(call all-java-files-under, ../tests/src/com/android/documentsui/bots) \ ../tests/src/com/android/documentsui/ActivityTest.java \ diff --git a/perf-tests/res/raw/earth_small.jpg b/perf-tests/res/raw/earth_small.jpg Binary files differnew file mode 100644 index 000000000..dd2da3e90 --- /dev/null +++ b/perf-tests/res/raw/earth_small.jpg diff --git a/perf-tests/src/com/android/documentsui/StressProvider.java b/perf-tests/src/com/android/documentsui/StressProvider.java index 6147a7187..f9b06f804 100644 --- a/perf-tests/src/com/android/documentsui/StressProvider.java +++ b/perf-tests/src/com/android/documentsui/StressProvider.java @@ -18,9 +18,11 @@ package com.android.documentsui; import android.content.Context; import android.content.pm.ProviderInfo; +import android.content.res.AssetFileDescriptor; import android.database.Cursor; import android.database.MatrixCursor.RowBuilder; import android.database.MatrixCursor; +import android.graphics.Point; import android.os.CancellationSignal; import android.os.FileUtils; import android.os.ParcelFileDescriptor; @@ -31,6 +33,7 @@ import android.provider.DocumentsProvider; import java.io.File; import java.io.FileNotFoundException; +import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -102,7 +105,14 @@ public class StressProvider extends DocumentsProvider { children = new ArrayList<StubDocument>(); mChildDocuments.put(STRESS_ROOT_2_DOC_ID, children); for (int i = 0; i < STRESS_ROOT_2_ITEMS; i++) { - document = StubDocument.createFile(STRESS_ROOT_1_ITEMS + i); + try { + document = StubDocument.createFile( + getContext(), MIME_TYPE_IMAGE, + com.android.documentsui.perftests.R.raw.earth_small, + STRESS_ROOT_1_ITEMS + i); + } catch (IOException e) { + return false; + } mDocuments.put(document.id, document); children.add(document); } @@ -151,6 +161,14 @@ public class StressProvider extends DocumentsProvider { } @Override + public AssetFileDescriptor openDocumentThumbnail(String docId, Point sizeHint, + CancellationSignal signal) + throws FileNotFoundException { + final StubDocument document = mDocuments.get(docId); + return getContext().getResources().openRawResourceFd(document.thumbnail); + } + + @Override public ParcelFileDescriptor openDocument(String docId, String mode, CancellationSignal signal) throws FileNotFoundException { @@ -171,7 +189,8 @@ public class StressProvider extends DocumentsProvider { row.add(Document.COLUMN_DISPLAY_NAME, document.id); row.add(Document.COLUMN_SIZE, document.size); row.add(Document.COLUMN_MIME_TYPE, document.mimeType); - row.add(Document.COLUMN_FLAGS, 0); + row.add(Document.COLUMN_FLAGS, + document.thumbnail != -1 ? Document.FLAG_SUPPORTS_THUMBNAIL : 0); row.add(Document.COLUMN_LAST_MODIFIED, document.lastModified); } @@ -184,28 +203,32 @@ public class StressProvider extends DocumentsProvider { final String id; final int size; final long lastModified; + final int thumbnail; - private StubDocument(String mimeType, String id, int size, long lastModified) { + private StubDocument(String mimeType, String id, int size, long lastModified, + int thumbnail) { this.mimeType = mimeType; this.id = id; this.size = size; this.lastModified = lastModified; + this.thumbnail = thumbnail; } public static StubDocument createDirectory(int index) { return new StubDocument( DocumentsContract.Document.MIME_TYPE_DIR, createRandomId(index), 0, - createRandomTime(index)); + createRandomTime(index), -1); } public static StubDocument createDirectory(String id) { - return new StubDocument(DocumentsContract.Document.MIME_TYPE_DIR, id, 0, 0); + return new StubDocument(DocumentsContract.Document.MIME_TYPE_DIR, id, 0, 0, -1); } - public static StubDocument createFile(int index) { + public static StubDocument createFile(Context context, String mimeType, int thumbnail, + int index) throws IOException { return new StubDocument( - MIME_TYPE_IMAGE, createRandomId(index), createRandomSize(index), - createRandomTime(index)); + mimeType, createRandomId(index), createRandomSize(index), + createRandomTime(index), thumbnail); } private static String createRandomId(int index) { |