summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2016-03-24 02:55:11 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2016-03-24 02:55:11 -0700
commitd18fac1915e2de0878ef2056533495865144eb3d (patch)
tree227bd2b824257760a59f43aa02a51e0c3af2028a /src
parent5c7b01b940a6813b0b4c76662d4742fce9fd2b99 (diff)
parentb7f894b19b83e9a91fa76dec002fff4125d514f3 (diff)
downloadandroid_packages_apps_Gallery2-d18fac1915e2de0878ef2056533495865144eb3d.tar.gz
android_packages_apps_Gallery2-d18fac1915e2de0878ef2056533495865144eb3d.tar.bz2
android_packages_apps_Gallery2-d18fac1915e2de0878ef2056533495865144eb3d.zip
Merge "Gallery2: Add judgement to avoid IndexOutOfBoundsException." into android_ui.lnx.1.2-dev
Diffstat (limited to 'src')
-rw-r--r--src/com/android/gallery3d/data/ClusterAlbumSet.java21
1 files changed, 12 insertions, 9 deletions
diff --git a/src/com/android/gallery3d/data/ClusterAlbumSet.java b/src/com/android/gallery3d/data/ClusterAlbumSet.java
index 97d5fbe13..4046a1595 100644
--- a/src/com/android/gallery3d/data/ClusterAlbumSet.java
+++ b/src/com/android/gallery3d/data/ClusterAlbumSet.java
@@ -232,15 +232,18 @@ public class ClusterAlbumSet extends MediaSet implements ContentListener {
int endAlbum = findTimelineAlbumIndex(start + count - 1);
int s;
int lCount;
- s = mAlbums.get(startAlbum).getTotalMediaItemCount() - (mAlbumItemCountList.get(startAlbum) - start);
- for (int i = startAlbum; i <= endAlbum && i < mAlbums.size(); ++i) {
- int albumCount = mAlbums.get(i).getTotalMediaItemCount();
- lCount = Math.min(albumCount - s, count);
- ArrayList<MediaItem> items = mAlbums.get(i).getMediaItem(s, lCount);
- if (items != null)
- mediaItems.addAll(items);
- count -= lCount;
- s = 0;
+ if (mAlbums.size() > 0 && mAlbumItemCountList.size() > 0) {
+ s = mAlbums.get(startAlbum).getTotalMediaItemCount() -
+ (mAlbumItemCountList.get(startAlbum) - start);
+ for (int i = startAlbum; i <= endAlbum && i < mAlbums.size(); ++i) {
+ int albumCount = mAlbums.get(i).getTotalMediaItemCount();
+ lCount = Math.min(albumCount - s, count);
+ ArrayList<MediaItem> items = mAlbums.get(i).getMediaItem(s, lCount);
+ if (items != null)
+ mediaItems.addAll(items);
+ count -= lCount;
+ s = 0;
+ }
}
return mediaItems;
}