Merge "Render thumbnails in DocumentsUI jank tests." into nyc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
836bd28a1b
@@ -2,8 +2,8 @@ LOCAL_PATH := $(call my-dir)
|
|||||||
include $(CLEAR_VARS)
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
LOCAL_MODULE_TAGS := tests
|
LOCAL_MODULE_TAGS := tests
|
||||||
#LOCAL_SDK_VERSION := current
|
|
||||||
|
|
||||||
|
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
|
||||||
LOCAL_SRC_FILES := $(call all-java-files-under, src) \
|
LOCAL_SRC_FILES := $(call all-java-files-under, src) \
|
||||||
$(call all-java-files-under, ../tests/src/com/android/documentsui/bots) \
|
$(call all-java-files-under, ../tests/src/com/android/documentsui/bots) \
|
||||||
../tests/src/com/android/documentsui/ActivityTest.java \
|
../tests/src/com/android/documentsui/ActivityTest.java \
|
||||||
|
|||||||
BIN
packages/DocumentsUI/perf-tests/res/raw/earth_small.jpg
Normal file
BIN
packages/DocumentsUI/perf-tests/res/raw/earth_small.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 44 KiB |
@@ -18,9 +18,11 @@ package com.android.documentsui;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.pm.ProviderInfo;
|
import android.content.pm.ProviderInfo;
|
||||||
|
import android.content.res.AssetFileDescriptor;
|
||||||
import android.database.Cursor;
|
import android.database.Cursor;
|
||||||
import android.database.MatrixCursor.RowBuilder;
|
import android.database.MatrixCursor.RowBuilder;
|
||||||
import android.database.MatrixCursor;
|
import android.database.MatrixCursor;
|
||||||
|
import android.graphics.Point;
|
||||||
import android.os.CancellationSignal;
|
import android.os.CancellationSignal;
|
||||||
import android.os.FileUtils;
|
import android.os.FileUtils;
|
||||||
import android.os.ParcelFileDescriptor;
|
import android.os.ParcelFileDescriptor;
|
||||||
@@ -31,6 +33,7 @@ import android.provider.DocumentsProvider;
|
|||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -102,7 +105,14 @@ public class StressProvider extends DocumentsProvider {
|
|||||||
children = new ArrayList<StubDocument>();
|
children = new ArrayList<StubDocument>();
|
||||||
mChildDocuments.put(STRESS_ROOT_2_DOC_ID, children);
|
mChildDocuments.put(STRESS_ROOT_2_DOC_ID, children);
|
||||||
for (int i = 0; i < STRESS_ROOT_2_ITEMS; i++) {
|
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);
|
mDocuments.put(document.id, document);
|
||||||
children.add(document);
|
children.add(document);
|
||||||
}
|
}
|
||||||
@@ -150,6 +160,14 @@ public class StressProvider extends DocumentsProvider {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@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
|
@Override
|
||||||
public ParcelFileDescriptor openDocument(String docId, String mode,
|
public ParcelFileDescriptor openDocument(String docId, String mode,
|
||||||
CancellationSignal signal)
|
CancellationSignal signal)
|
||||||
@@ -171,7 +189,8 @@ public class StressProvider extends DocumentsProvider {
|
|||||||
row.add(Document.COLUMN_DISPLAY_NAME, document.id);
|
row.add(Document.COLUMN_DISPLAY_NAME, document.id);
|
||||||
row.add(Document.COLUMN_SIZE, document.size);
|
row.add(Document.COLUMN_SIZE, document.size);
|
||||||
row.add(Document.COLUMN_MIME_TYPE, document.mimeType);
|
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);
|
row.add(Document.COLUMN_LAST_MODIFIED, document.lastModified);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -184,28 +203,32 @@ public class StressProvider extends DocumentsProvider {
|
|||||||
final String id;
|
final String id;
|
||||||
final int size;
|
final int size;
|
||||||
final long lastModified;
|
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.mimeType = mimeType;
|
||||||
this.id = id;
|
this.id = id;
|
||||||
this.size = size;
|
this.size = size;
|
||||||
this.lastModified = lastModified;
|
this.lastModified = lastModified;
|
||||||
|
this.thumbnail = thumbnail;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static StubDocument createDirectory(int index) {
|
public static StubDocument createDirectory(int index) {
|
||||||
return new StubDocument(
|
return new StubDocument(
|
||||||
DocumentsContract.Document.MIME_TYPE_DIR, createRandomId(index), 0,
|
DocumentsContract.Document.MIME_TYPE_DIR, createRandomId(index), 0,
|
||||||
createRandomTime(index));
|
createRandomTime(index), -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static StubDocument createDirectory(String id) {
|
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(
|
return new StubDocument(
|
||||||
MIME_TYPE_IMAGE, createRandomId(index), createRandomSize(index),
|
mimeType, createRandomId(index), createRandomSize(index),
|
||||||
createRandomTime(index));
|
createRandomTime(index), thumbnail);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String createRandomId(int index) {
|
private static String createRandomId(int index) {
|
||||||
|
|||||||
Reference in New Issue
Block a user