diff options
| author | Bobby Georgescu <georgescu@google.com> | 2013-01-29 21:38:34 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-01-29 21:38:34 +0000 |
| commit | 2da455143a4cb59d289f24c23b8f93c29da14fd0 (patch) | |
| tree | 10d4e7c647748b29a0762f18d0b0ac9ebbfdc320 /src | |
| parent | 7bbdf56b74ec0ba029b1fc5f0d96cf8e8c1e7618 (diff) | |
| parent | c216dce5c35b6176147b42a041ca85fa2dcca2a4 (diff) | |
| download | android_packages_apps_Gallery2-2da455143a4cb59d289f24c23b8f93c29da14fd0.tar.gz android_packages_apps_Gallery2-2da455143a4cb59d289f24c23b8f93c29da14fd0.tar.bz2 android_packages_apps_Gallery2-2da455143a4cb59d289f24c23b8f93c29da14fd0.zip | |
Merge "Importer: when view is reused for same image, don't reload" into gb-ub-photos-bryce
Diffstat (limited to 'src')
| -rw-r--r-- | src/com/android/gallery3d/ingest/adapter/MtpAdapter.java | 15 | ||||
| -rw-r--r-- | src/com/android/gallery3d/ingest/ui/MtpThumbnailTileView.java | 12 |
2 files changed, 24 insertions, 3 deletions
diff --git a/src/com/android/gallery3d/ingest/adapter/MtpAdapter.java b/src/com/android/gallery3d/ingest/adapter/MtpAdapter.java index 3cf0df2cf..611d880db 100644 --- a/src/com/android/gallery3d/ingest/adapter/MtpAdapter.java +++ b/src/com/android/gallery3d/ingest/adapter/MtpAdapter.java @@ -40,6 +40,7 @@ public class MtpAdapter extends BaseAdapter implements SectionIndexer { private MtpDeviceIndex mModel; private SortOrder mSortOrder = SortOrder.Descending; private LayoutInflater mInflater; + private int mGeneration = 0; public MtpAdapter(Activity context) { super(); @@ -53,6 +54,18 @@ public class MtpAdapter extends BaseAdapter implements SectionIndexer { notifyDataSetChanged(); } + @Override + public void notifyDataSetChanged() { + mGeneration++; + super.notifyDataSetChanged(); + } + + @Override + public void notifyDataSetInvalidated() { + mGeneration++; + super.notifyDataSetInvalidated(); + } + public boolean deviceConnected() { return (mModel != null) && (mModel.getDevice() != null); } @@ -121,7 +134,7 @@ public class MtpAdapter extends BaseAdapter implements SectionIndexer { } else { imageView = (MtpThumbnailTileView) convertView; } - imageView.setMtpDeviceAndObjectInfo(mModel.getDevice(), (MtpObjectInfo)getItem(position)); + imageView.setMtpDeviceAndObjectInfo(mModel.getDevice(), (MtpObjectInfo)getItem(position), mGeneration); return imageView; } else { DateTileView dateTile; diff --git a/src/com/android/gallery3d/ingest/ui/MtpThumbnailTileView.java b/src/com/android/gallery3d/ingest/ui/MtpThumbnailTileView.java index ddba6af91..2aeda73db 100644 --- a/src/com/android/gallery3d/ingest/ui/MtpThumbnailTileView.java +++ b/src/com/android/gallery3d/ingest/ui/MtpThumbnailTileView.java @@ -35,6 +35,8 @@ public class MtpThumbnailTileView extends ImageView implements Checkable { private Paint mForegroundPaint; private boolean mIsChecked; + private int mObjectHandle; + private int mGeneration; private void init() { mForegroundPaint = new Paint(); @@ -92,13 +94,19 @@ public class MtpThumbnailTileView extends ImageView implements Checkable { private LoadThumbnailTask mTask; - public void setMtpDeviceAndObjectInfo(MtpDevice device, MtpObjectInfo object) { + public void setMtpDeviceAndObjectInfo(MtpDevice device, MtpObjectInfo object, int gen) { + int handle = object.getObjectHandle(); + if (handle == mObjectHandle && gen == mGeneration) { + return; + } animate().cancel(); if (mTask != null) { mTask.cancel(true); } + mGeneration = gen; + mObjectHandle = handle; Bitmap thumbnail = MtpBitmapCache.getInstanceForDevice(device) - .get(object.getObjectHandle()); + .get(handle); if (thumbnail != null) { setAlpha(1f); setImageBitmap(thumbnail); |
