diff options
| author | zdi <zdi@codeaurora.org> | 2016-03-23 12:34:19 +0800 |
|---|---|---|
| committer | zdi <zdi@codeaurora.org> | 2016-03-23 12:36:23 +0800 |
| commit | b7f894b19b83e9a91fa76dec002fff4125d514f3 (patch) | |
| tree | 17dc0069f27875e196e4d5e3c3cee5e6e6c9ca57 /src | |
| parent | 2c07233db1d15bc5cae3dc899cd1982693b7377b (diff) | |
| download | android_packages_apps_Gallery2-b7f894b19b83e9a91fa76dec002fff4125d514f3.tar.gz android_packages_apps_Gallery2-b7f894b19b83e9a91fa76dec002fff4125d514f3.tar.bz2 android_packages_apps_Gallery2-b7f894b19b83e9a91fa76dec002fff4125d514f3.zip | |
Gallery2: Add judgement to avoid IndexOutOfBoundsException.
Add judgement to avoid IndexOutOfBoundsException in ClusterAlbumSet.
Change-Id: I23965bc4b8a2eb6ce31c2327ea85581a8fe93f61
CRs-Fixed: 990061
Diffstat (limited to 'src')
| -rw-r--r-- | src/com/android/gallery3d/data/ClusterAlbumSet.java | 21 |
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; } |
