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

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

Issue 2853793003: Revert of Photo Picker Dialog: Use sandboxed utility process for decoding images. (Closed)
Patch Set: Created 3 years, 8 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/PickerCategoryView.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerCategoryView.java b/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerCategoryView.java
index 9ed19c9448c644d4709ae6189320f179331f6070..6c73972eadb3c87da1d3b42c7a18259e2ac6809e 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerCategoryView.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerCategoryView.java
@@ -20,7 +20,6 @@
import org.chromium.chrome.browser.widget.selection.SelectionDelegate;
import org.chromium.ui.PhotoPickerListener;
-import java.util.Arrays;
import java.util.List;
/**
@@ -28,8 +27,7 @@
* the photo picker, for example the RecyclerView and the bitmap caches.
*/
public class PickerCategoryView extends RelativeLayout
- implements FileEnumWorkerTask.FilesEnumeratedCallback, RecyclerView.RecyclerListener,
- DecoderServiceHost.ServiceReadyCallback, OnMenuItemClickListener {
+ implements FileEnumWorkerTask.FilesEnumeratedCallback, OnMenuItemClickListener {
// The dialog that owns us.
private PhotoPickerDialog mDialog;
@@ -47,9 +45,6 @@
// The callback to notify the listener of decisions reached in the picker.
private PhotoPickerListener mListener;
-
- // The host class for the decoding service.
- private DecoderServiceHost mDecoderServiceHost;
// The RecyclerView showing the images.
private RecyclerView mRecyclerView;
@@ -76,9 +71,6 @@
// A worker task for asynchronously enumerating files off the main thread.
private FileEnumWorkerTask mWorkerTask;
- // Whether the connection to the service has been established.
- private boolean mServiceReady;
-
public PickerCategoryView(Context context) {
super(context);
postConstruction(context);
@@ -91,11 +83,6 @@
@SuppressWarnings("unchecked") // mSelectableListLayout
private void postConstruction(Context context) {
mContext = context;
-
- mDecoderServiceHost = new DecoderServiceHost(this);
- mDecoderServiceHost.bind(mContext);
-
- enumerateBitmaps();
mSelectionDelegate = new SelectionDelegate<PickerBitmap>();
@@ -120,21 +107,18 @@
mRecyclerView.addItemDecoration(new GridSpacingItemDecoration(mColumns, mPadding));
// TODO(finnur): Implement caching.
- }
-
- /**
- * Severs the connection to the decoding utility process and cancels any outstanding requests.
+ // TODO(finnur): Remove this once the decoder service is in place.
+ prepareBitmaps();
+ }
+
+ /**
+ * Cancels any outstanding requests.
*/
public void onDialogDismissed() {
if (mWorkerTask != null) {
mWorkerTask.cancel(true);
mWorkerTask = null;
}
-
- if (mDecoderServiceHost != null) {
- mDecoderServiceHost.unbind(mContext);
- mDecoderServiceHost = null;
- }
}
/**
@@ -157,25 +141,8 @@
@Override
public void filesEnumeratedCallback(List<PickerBitmap> files) {
mPickerBitmaps = files;
- processBitmaps();
- }
-
- // DecoderServiceHost.ServiceReadyCallback:
-
- @Override
- public void serviceReady() {
- mServiceReady = true;
- processBitmaps();
- }
-
- // RecyclerView.RecyclerListener:
-
- @Override
- public void onViewRecycled(RecyclerView.ViewHolder holder) {
- PickerBitmapViewHolder bitmapHolder = (PickerBitmapViewHolder) holder;
- String filePath = bitmapHolder.getFilePath();
- if (filePath != null) {
- getDecoderServiceHost().cancelDecodeImage(filePath);
+ if (files != null && files.size() > 0) {
+ mPickerAdapter.notifyDataSetChanged();
}
}
@@ -195,16 +162,6 @@
return false;
}
- /**
- * Start loading of bitmaps, once files have been enumerated and service is
- * ready to decode.
- */
- private void processBitmaps() {
- if (mServiceReady && mPickerBitmaps != null) {
- mPickerAdapter.notifyDataSetChanged();
- }
- }
-
// Simple accessors:
public int getImageSize() {
@@ -217,10 +174,6 @@
public List<PickerBitmap> getPickerBitmaps() {
return mPickerBitmaps;
- }
-
- public DecoderServiceHost getDecoderServiceHost() {
- return mDecoderServiceHost;
}
public boolean isMultiSelectAllowed() {
@@ -259,15 +212,14 @@
}
/**
- * Asynchronously enumerates bitmaps on disk.
- */
- private void enumerateBitmaps() {
+ * Prepares bitmaps for loading.
+ */
+ private void prepareBitmaps() {
if (mWorkerTask != null) {
mWorkerTask.cancel(true);
}
- mWorkerTask =
- new FileEnumWorkerTask(this, new MimeTypeFileFilter(Arrays.asList("image/*")));
+ mWorkerTask = new FileEnumWorkerTask(this, new MimeTypeFileFilter("image/*"));
mWorkerTask.execute();
}

Powered by Google App Engine
This is Rietveld 408576698