diff options
Diffstat (limited to 'src/com/android/gallery3d/app/AlbumSetDataAdapter.java')
-rw-r--r-- | src/com/android/gallery3d/app/AlbumSetDataAdapter.java | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/com/android/gallery3d/app/AlbumSetDataAdapter.java b/src/com/android/gallery3d/app/AlbumSetDataAdapter.java index 8322d2b19..6a8e7022e 100644 --- a/src/com/android/gallery3d/app/AlbumSetDataAdapter.java +++ b/src/com/android/gallery3d/app/AlbumSetDataAdapter.java @@ -16,6 +16,9 @@ package com.android.gallery3d.app; +import android.os.Handler; +import android.os.Message; + import com.android.gallery3d.common.Utils; import com.android.gallery3d.data.ContentListener; import com.android.gallery3d.data.DataManager; @@ -25,9 +28,6 @@ import com.android.gallery3d.data.MediaSet; import com.android.gallery3d.ui.AlbumSetView; import com.android.gallery3d.ui.SynchronizedHandler; -import android.os.Handler; -import android.os.Message; - import java.util.ArrayList; import java.util.Arrays; import java.util.concurrent.Callable; @@ -70,7 +70,7 @@ public class AlbumSetDataAdapter implements AlbumSetView.Model { private final Handler mMainHandler; - private MySourceListener mSourceListener = new MySourceListener(); + private final MySourceListener mSourceListener = new MySourceListener(); public AlbumSetDataAdapter(GalleryActivity activity, MediaSet albumSet, int cacheSize) { mSource = Utils.checkNotNull(albumSet); @@ -260,8 +260,7 @@ public class AlbumSetDataAdapter implements AlbumSetView.Model { @Override public UpdateInfo call() throws Exception { int index = getInvalidIndex(mVersion); - if (index == INDEX_NONE - && mSourceVersion == mVersion) return null; + if (index == INDEX_NONE && mSourceVersion == mVersion) return null; UpdateInfo info = new UpdateInfo(); info.version = mSourceVersion; info.index = index; @@ -271,13 +270,16 @@ public class AlbumSetDataAdapter implements AlbumSetView.Model { } private class UpdateContent implements Callable<Void> { - private UpdateInfo mUpdateInfo; + private final UpdateInfo mUpdateInfo; public UpdateContent(UpdateInfo info) { mUpdateInfo = info; } public Void call() { + // Avoid notifying listeners of status change after pause + // Otherwise gallery will be in inconsistent state after resume. + if (mReloadTask == null) return null; UpdateInfo info = mUpdateInfo; mSourceVersion = info.version; if (mSize != info.size) { |