summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBobby Georgescu <georgescu@google.com>2012-10-01 11:34:36 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2012-10-01 11:34:36 -0700
commit4dd7d6aef36ad5f37127444659b976e751ad3188 (patch)
treef7b2aedad758f8c53f8754af5e5b3d9173d1df98
parent506be7fdd56119e6507121d95b867814ef7c1e84 (diff)
parentd87c8624a7ae477a6dea86d63866ade04f8d7e7c (diff)
downloadandroid_packages_apps_Gallery2-4dd7d6aef36ad5f37127444659b976e751ad3188.tar.gz
android_packages_apps_Gallery2-4dd7d6aef36ad5f37127444659b976e751ad3188.tar.bz2
android_packages_apps_Gallery2-4dd7d6aef36ad5f37127444659b976e751ad3188.zip
am d87c8624: More logs for gallery crash error, remove a potential cause
* commit 'd87c8624a7ae477a6dea86d63866ade04f8d7e7c': More logs for gallery crash error, remove a potential cause
-rw-r--r--src/com/android/gallery3d/data/FilterDeleteSet.java5
-rw-r--r--src/com/android/gallery3d/data/LocalMergeAlbum.java13
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];