diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/gallery3d/data/FilterDeleteSet.java | 5 | ||||
-rw-r--r-- | src/com/android/gallery3d/data/LocalMergeAlbum.java | 13 |
2 files changed, 13 insertions, 5 deletions
diff --git a/src/com/android/gallery3d/data/FilterDeleteSet.java b/src/com/android/gallery3d/data/FilterDeleteSet.java index fc44d48c4..c76412ff8 100644 --- a/src/com/android/gallery3d/data/FilterDeleteSet.java +++ b/src/com/android/gallery3d/data/FilterDeleteSet.java @@ -63,13 +63,11 @@ public class FilterDeleteSet extends MediaSet implements ContentListener { // Deletions currently in effect, ordered by index private ArrayList<Deletion> mCurrent = new ArrayList<Deletion>(); - private int mMediaItemCount; public FilterDeleteSet(Path path, MediaSet baseSet) { super(path, INVALID_DATA_VERSION); mBaseSet = baseSet; mBaseSet.addContentListener(this); - mMediaItemCount = mBaseSet.getMediaItemCount() - mCurrent.size(); } @Override @@ -84,7 +82,7 @@ public class FilterDeleteSet extends MediaSet implements ContentListener { @Override public int getMediaItemCount() { - return mMediaItemCount; + return mBaseSet.getMediaItemCount() - mCurrent.size(); } // Gets the MediaItems whose (post-deletion) index are in the range [start, @@ -221,7 +219,6 @@ public class FilterDeleteSet extends MediaSet implements ContentListener { mCurrent = result; } - mMediaItemCount = mBaseSet.getMediaItemCount() - mCurrent.size(); mDataVersion = nextVersionNumber(); return mDataVersion; } diff --git a/src/com/android/gallery3d/data/LocalMergeAlbum.java b/src/com/android/gallery3d/data/LocalMergeAlbum.java index cbb7492cc..14c1c6e6b 100644 --- a/src/com/android/gallery3d/data/LocalMergeAlbum.java +++ b/src/com/android/gallery3d/data/LocalMergeAlbum.java @@ -24,6 +24,7 @@ import com.android.gallery3d.common.ApiHelper; import java.lang.ref.SoftReference; import java.util.ArrayList; import java.util.Comparator; +import java.util.NoSuchElementException; import java.util.SortedMap; import java.util.TreeMap; @@ -122,7 +123,17 @@ public class LocalMergeAlbum extends MediaSet implements ContentListener { // First find the nearest mark position <= start. SortedMap<Integer, int[]> head = mIndex.headMap(start + 1); - int markPos = head.lastKey(); + int markPos; + try { + markPos = head.lastKey(); + } catch (NoSuchElementException e) { + Log.e(TAG, "getMediaItem("+start+","+count+") failed"); + Log.e(TAG, "mSources: "); + for (MediaSet set : mSources) { + Log.e(TAG, "\t"+set.getPath()); + } + throw e; + } int[] subPos = head.get(markPos).clone(); MediaItem[] slot = new MediaItem[mSources.length]; |