summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/data
diff options
context:
space:
mode:
authorqimengp <qimengp@codeaurora.org>2016-08-23 16:41:25 +0800
committerGerrit - the friendly Code Review server <code-review@localhost>2016-09-08 19:43:18 -0700
commitca50adf5ee2f973c3eb99799abfce19aeacf0159 (patch)
tree7cd3566c58ba96e75491400c978163b4e6416558 /src/com/android/camera/data
parent050fe78517519b689ce5adff1cf2c074bcbd186e (diff)
downloadandroid_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.java15
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.