diff options
author | Chih-Chung Chang <chihchung@google.com> | 2011-10-26 17:05:06 +0800 |
---|---|---|
committer | Chih-Chung Chang <chihchung@google.com> | 2011-10-26 17:05:06 +0800 |
commit | 80efb2ecfb09db1ac0915b13a91165d06bfbee74 (patch) | |
tree | 3d40b29b61c52ad5cef7114647bed0f9196f9acd /src/com/android/camera/Storage.java | |
parent | b8bd7ee0f8b0c3e0381ae6364bbeca4f28bdf7a4 (diff) | |
download | packages_apps_LegacyCamera-80efb2ecfb09db1ac0915b13a91165d06bfbee74.zip packages_apps_LegacyCamera-80efb2ecfb09db1ac0915b13a91165d06bfbee74.tar.gz packages_apps_LegacyCamera-80efb2ecfb09db1ac0915b13a91165d06bfbee74.tar.bz2 |
Fix 5489985: Handle the exception when the external volume has not been added to MediaProvider.
Change-Id: I5bb9e59d5b1dae4c3980f624d38194fbb514d7fa
Diffstat (limited to 'src/com/android/camera/Storage.java')
-rw-r--r-- | src/com/android/camera/Storage.java | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/com/android/camera/Storage.java b/src/com/android/camera/Storage.java index 564c088..38a6d48 100644 --- a/src/com/android/camera/Storage.java +++ b/src/com/android/camera/Storage.java @@ -84,10 +84,16 @@ public class Storage { values.put(ImageColumns.LONGITUDE, location.getLongitude()); } - Uri uri = resolver.insert(Images.Media.EXTERNAL_CONTENT_URI, values); - if (uri == null) { - Log.e(TAG, "Failed to write MediaStore"); - return null; + Uri uri = null; + try { + uri = resolver.insert(Images.Media.EXTERNAL_CONTENT_URI, values); + } catch (Throwable th) { + // This can happen when the external volume is already mounted, but + // MediaScanner has not notify MediaProvider to add that volume. + // The picture is still safe and MediaScanner will find it and + // insert it into MediaProvider. The only problem is that the user + // cannot click the thumbnail to review the picture. + Log.e(TAG, "Failed to write MediaStore" + th); } return uri; } |