fix Gallery crashes with empty PTP device
bug:11152999
Change-Id: I70e4787dc46c0e948712ea4530b8110c36603dfa
diff --git a/src/com/android/gallery3d/ingest/MtpDeviceIndex.java b/src/com/android/gallery3d/ingest/MtpDeviceIndex.java
index d30f94a..fed851e 100644
--- a/src/com/android/gallery3d/ingest/MtpDeviceIndex.java
+++ b/src/com/android/gallery3d/ingest/MtpDeviceIndex.java
@@ -267,6 +267,9 @@
break;
}
}
+ if (mBuckets.length == 0 || mUnifiedLookupIndex.length == 0) {
+ return -1;
+ }
int mappedPos = mBuckets[bucketNumber].unifiedStartIndex
+ position - mBuckets[bucketNumber].itemsStartIndex;
if (order == SortOrder.Descending) {
@@ -283,6 +286,9 @@
return bucket.itemsStartIndex + position - 1 - bucket.unifiedStartIndex;
} else {
int zeroIndex = mUnifiedLookupIndex.length - 1 - position;
+ if (mBuckets.length == 0 || mUnifiedLookupIndex.length == 0) {
+ return -1;
+ }
DateBucket bucket = mBuckets[mUnifiedLookupIndex[zeroIndex]];
if (bucket.unifiedEndIndex == zeroIndex) zeroIndex--;
return mMtpObjects.length - 1 - bucket.itemsStartIndex