diff options
| author | Marco Nelissen <marcone@google.com> | 2015-02-17 14:31:33 -0800 |
|---|---|---|
| committer | Marco Nelissen <marcone@google.com> | 2015-02-17 14:35:37 -0800 |
| commit | 0e24cb7fb5b2b1941d8340cbe577dbfcb624ccdb (patch) | |
| tree | 4f0952179fe9ef7218eb64d6d8b7fe6e01b2b5c9 /core/java/android | |
| parent | dbb32faf33c95b245d75c0dc8d4578a011378f78 (diff) | |
Fix NPE
Path can be null if sd card was ejected, and we shouldn't make a thumbnail
in that case.
Bug: 19380821
Change-Id: Iee69effdd321622de026ad7b57c74cf9da81a176
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/provider/MediaStore.java | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/core/java/android/provider/MediaStore.java b/core/java/android/provider/MediaStore.java index 736ec548542d..5afbd6dfc576 100644 --- a/core/java/android/provider/MediaStore.java +++ b/core/java/android/provider/MediaStore.java @@ -638,7 +638,6 @@ public final class MediaStore { static Bitmap getThumbnail(ContentResolver cr, long origId, long groupId, int kind, BitmapFactory.Options options, Uri baseUri, boolean isVideo) { Bitmap bitmap = null; - String filePath = null; // Log.v(TAG, "getThumbnail: origId="+origId+", kind="+kind+", isVideo="+isVideo); // If the magic is non-zero, we simply return thumbnail if it does exist. // querying MediaProvider and simply return thumbnail. @@ -710,18 +709,18 @@ public final class MediaStore { Uri uri = Uri.parse( baseUri.buildUpon().appendPath(String.valueOf(origId)) .toString().replaceFirst("thumbnails", "media")); - if (filePath == null) { - if (c != null) c.close(); - c = cr.query(uri, PROJECTION, null, null, null); - if (c == null || !c.moveToFirst()) { - return null; - } - filePath = c.getString(1); + if (c != null) c.close(); + c = cr.query(uri, PROJECTION, null, null, null); + if (c == null || !c.moveToFirst()) { + return null; } - if (isVideo) { - bitmap = ThumbnailUtils.createVideoThumbnail(filePath, kind); - } else { - bitmap = ThumbnailUtils.createImageThumbnail(filePath, kind); + String filePath = c.getString(1); + if (filePath != null) { + if (isVideo) { + bitmap = ThumbnailUtils.createVideoThumbnail(filePath, kind); + } else { + bitmap = ThumbnailUtils.createImageThumbnail(filePath, kind); + } } } } catch (SQLiteException ex) { |
