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