Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3482)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerBitmapViewHolder.java

Issue 2915863002: Photo Picker dialog: Add UMA statistics. (Closed)
Patch Set: Address feedback from Mark Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerBitmapViewHolder.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerBitmapViewHolder.java b/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerBitmapViewHolder.java
index 4dd088612ecefcb055fc6b7fd9d9bd4ead8d5e9f..bcd8e3473cc0ef15c45de5806c8214aba28be87e 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerBitmapViewHolder.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerBitmapViewHolder.java
@@ -7,12 +7,15 @@ package org.chromium.chrome.browser.photo_picker;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.os.AsyncTask;
+import android.os.SystemClock;
import android.support.v7.widget.RecyclerView.ViewHolder;
import android.text.TextUtils;
+import org.chromium.base.metrics.RecordHistogram;
import org.chromium.chrome.R;
import java.util.List;
+import java.util.concurrent.TimeUnit;
/**
* Holds on to a {@link PickerBitmapView} that displays information about a picker bitmap.
@@ -69,8 +72,10 @@ public class PickerBitmapViewHolder
* Display a single item from |position| in the PickerCategoryView.
* @param categoryView The PickerCategoryView to use to fetch the image.
* @param position The position of the item to fetch.
+ * @return The decoding action required to display the item.
*/
- public void displayItem(PickerCategoryView categoryView, int position) {
+ public @PickerAdapter.DecodeActions int displayItem(
+ PickerCategoryView categoryView, int position) {
mCategoryView = categoryView;
List<PickerBitmap> pickerBitmaps = mCategoryView.getPickerBitmaps();
@@ -79,27 +84,33 @@ public class PickerBitmapViewHolder
if (mBitmapDetails.type() == PickerBitmap.CAMERA
|| mBitmapDetails.type() == PickerBitmap.GALLERY) {
mItemView.initialize(mBitmapDetails, null, false);
- return;
+ return PickerAdapter.NO_ACTION;
}
String filePath = mBitmapDetails.getFilePath();
Bitmap original = mCategoryView.getHighResBitmaps().get(filePath);
if (original != null) {
mItemView.initialize(mBitmapDetails, original, false);
- return;
+ return PickerAdapter.FROM_CACHE;
}
int size = mCategoryView.getImageSize();
Bitmap placeholder = mCategoryView.getLowResBitmaps().get(filePath);
if (placeholder != null) {
// For performance stats see http://crbug.com/719919.
+ long begin = SystemClock.elapsedRealtime();
placeholder = BitmapUtils.scale(placeholder, size, false);
+ long scaleTime = SystemClock.elapsedRealtime() - begin;
+ RecordHistogram.recordTimesHistogram(
+ "Android.PhotoPicker.UpscaleLowResBitmap", scaleTime, TimeUnit.MILLISECONDS);
+
mItemView.initialize(mBitmapDetails, placeholder, true);
} else {
mItemView.initialize(mBitmapDetails, null, true);
}
mCategoryView.getDecoderServiceHost().decodeImage(filePath, size, this);
+ return PickerAdapter.DECODE;
}
/**

Powered by Google App Engine
This is Rietveld 408576698