summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/data/UriSource.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/gallery3d/data/UriSource.java')
-rw-r--r--src/com/android/gallery3d/data/UriSource.java32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/com/android/gallery3d/data/UriSource.java b/src/com/android/gallery3d/data/UriSource.java
index f66bacd7b..624747166 100644
--- a/src/com/android/gallery3d/data/UriSource.java
+++ b/src/com/android/gallery3d/data/UriSource.java
@@ -21,6 +21,7 @@ import android.net.Uri;
import android.webkit.MimeTypeMap;
import com.android.gallery3d.app.GalleryApp;
+import com.android.gallery3d.util.MediaSetUtils;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
@@ -35,6 +36,22 @@ class UriSource extends MediaSource {
private GalleryApp mApplication;
+ //Array of accepted Uri paths
+ private static final String[] ALLOWED_URIS = {
+ "content://downloads/all_downloads/"
+ };
+
+ private static boolean checkIfUriStringAllowed(String uri){
+ boolean ret = false;
+ for(String u : ALLOWED_URIS) {
+ if (uri.startsWith(u)){
+ ret = true;
+ break;
+ }
+ }
+ return ret;
+ }
+
public UriSource(GalleryApp context) {
super("uri");
mApplication = context;
@@ -71,6 +88,21 @@ class UriSource extends MediaSource {
}
@Override
+ public Path getDefaultSetOf(Path item) {
+ MediaObject object = mApplication.getDataManager().getMediaObject(item);
+ if (object instanceof UriImage) {
+ //Check if Uri path is for an item that should appear
+ //in the downloads folder (checks against ALLOWED_URIS).
+ String uri = ((UriImage)object).getContentUri().toString();
+ if(!checkIfUriStringAllowed(uri))
+ return null;
+ return Path.fromString("/local/all").getChild(
+ MediaSetUtils.DOWNLOAD_BUCKET_ID);
+ }
+ return null;
+ }
+
+ @Override
public Path findPathByUri(Uri uri, String type) {
String mimeType = getMimeType(uri);