diff options
author | qimengp <qimengp@codeaurora.org> | 2016-08-23 16:41:25 +0800 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2016-09-08 19:43:18 -0700 |
commit | ca50adf5ee2f973c3eb99799abfce19aeacf0159 (patch) | |
tree | 7cd3566c58ba96e75491400c978163b4e6416558 /src/com/android/camera/data | |
parent | 050fe78517519b689ce5adff1cf2c074bcbd186e (diff) | |
download | android_packages_apps_Snap-ca50adf5ee2f973c3eb99799abfce19aeacf0159.tar.gz android_packages_apps_Snap-ca50adf5ee2f973c3eb99799abfce19aeacf0159.tar.bz2 android_packages_apps_Snap-ca50adf5ee2f973c3eb99799abfce19aeacf0159.zip |
SnapdragonCamera: Fix can't launch gallery after switch storage
Camera can't query media URI successfully when we switch storage path.
Because camera use a static final field to hold storage path name which
is only initialized once and will not change any more, even if camera
use a static method to initialize this field.
By replacing this static final field with a static method can avoid
this issue, as static method will get real time value.
Change-Id: I49c2d81afe0e872483b4ab353c94746165c5a294
Diffstat (limited to 'src/com/android/camera/data')
-rwxr-xr-x[-rw-r--r--] | src/com/android/camera/data/CameraDataAdapter.java | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/com/android/camera/data/CameraDataAdapter.java b/src/com/android/camera/data/CameraDataAdapter.java index 4643d03bf..4b810a0fa 100644..100755 --- a/src/com/android/camera/data/CameraDataAdapter.java +++ b/src/com/android/camera/data/CameraDataAdapter.java @@ -42,7 +42,6 @@ public class CameraDataAdapter implements LocalDataAdapter { private static final String TAG = "CAM_CameraDataAdapter"; private static final int DEFAULT_DECODE_SIZE = 1600; - private static final String[] CAMERA_PATH = { Storage.DIRECTORY + "/%" ,SDCard.instance().getDirectory() + "/%"}; private LocalDataList mImages; @@ -137,7 +136,7 @@ public class CameraDataAdapter implements LocalDataAdapter { Cursor c = cr.query(uri, LocalMediaData.VideoData.QUERY_PROJECTION, MediaStore.Video.Media.DATA + " like ? or " + - MediaStore.Video.Media.DATA + " like ? ", CAMERA_PATH, + MediaStore.Video.Media.DATA + " like ? ", getCameraPath(), LocalMediaData.VideoData.QUERY_ORDER); if (c == null || !c.moveToFirst()) { return; @@ -164,7 +163,7 @@ public class CameraDataAdapter implements LocalDataAdapter { Cursor c = cr.query(uri, LocalMediaData.PhotoData.QUERY_PROJECTION, MediaStore.Images.Media.DATA + " like ? or " + - MediaStore.Images.Media.DATA + " like ? ", CAMERA_PATH, + MediaStore.Images.Media.DATA + " like ? ", getCameraPath(), LocalMediaData.PhotoData.QUERY_ORDER); if (c == null || !c.moveToFirst()) { return; @@ -272,6 +271,12 @@ public class CameraDataAdapter implements LocalDataAdapter { } } + private static String[] getCameraPath() { + String[] cameraPath = + {Storage.DIRECTORY + "/%", SDCard.instance().getDirectory() + "/%"}; + return cameraPath; + } + private class QueryTask extends AsyncTask<ContentResolver, Void, LocalDataList> { /** @@ -289,7 +294,7 @@ public class CameraDataAdapter implements LocalDataAdapter { LocalMediaData.PhotoData.CONTENT_URI, LocalMediaData.PhotoData.QUERY_PROJECTION, MediaStore.Images.Media.DATA + " like ? or " + - MediaStore.Images.Media.DATA + " like ? ", CAMERA_PATH, + MediaStore.Images.Media.DATA + " like ? ", getCameraPath(), LocalMediaData.PhotoData.QUERY_ORDER); if (c != null && c.moveToFirst()) { // build up the list. @@ -319,7 +324,7 @@ public class CameraDataAdapter implements LocalDataAdapter { LocalMediaData.VideoData.CONTENT_URI, LocalMediaData.VideoData.QUERY_PROJECTION, MediaStore.Video.Media.DATA + " like ? or " + - MediaStore.Video.Media.DATA + " like ? ", CAMERA_PATH, + MediaStore.Video.Media.DATA + " like ? ", getCameraPath(), LocalMediaData.VideoData.QUERY_ORDER); if (c != null && c.moveToFirst()) { // build up the list. |