summaryrefslogtreecommitdiffstats
path: root/src/com/android/providers/media
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/providers/media')
-rw-r--r--src/com/android/providers/media/MediaProvider.java38
1 files changed, 37 insertions, 1 deletions
diff --git a/src/com/android/providers/media/MediaProvider.java b/src/com/android/providers/media/MediaProvider.java
index 388997fc..89575098 100644
--- a/src/com/android/providers/media/MediaProvider.java
+++ b/src/com/android/providers/media/MediaProvider.java
@@ -1888,6 +1888,18 @@ public class MediaProvider extends ContentProvider {
+ " AND datetaken<date_modified*5;");
}
+ if (fromVersion < 701) {
+ db.execSQL("CREATE TABLE IF NOT EXISTS bookmarks (" +
+ " _id INTEGER PRIMARY KEY," +
+ " _data TEXT," +
+ " _display_name TEXT," +
+ " position INTEGER," +
+ " date_added INTEGER," +
+ " mime_type TEXT," +
+ " media_type TEXT" +
+ ");");
+ }
+
if (fromVersion < 800) {
// Delete albums and artists, then clear the modification time on songs, which
// will cause the media scanner to rescan everything, rebuilding the artist and
@@ -2672,7 +2684,13 @@ public class MediaProvider extends ContentProvider {
case MTP_OBJECT_REFERENCES:
int handle = Integer.parseInt(uri.getPathSegments().get(2));
return getObjectReferences(helper, db, handle);
-
+ case MEDIA_BOOKMARK:
+ qb.setTables("bookmarks");
+ break;
+ case MEDIA_BOOKMARK_ID:
+ qb.setTables("bookmarks");
+ qb.appendWhere("_id = " + uri.getPathSegments().get(2));
+ break;
default:
throw new IllegalStateException("Unknown URL: " + uri.toString());
}
@@ -3666,6 +3684,13 @@ public class MediaProvider extends ContentProvider {
}
break;
+ case MEDIA_BOOKMARK:
+ rowId = db.insert("bookmarks", "mime_type", initialValues);
+ if (rowId > 0) {
+ newUri = ContentUris.withAppendedId(uri, rowId);
+ }
+ break;
+
default:
throw new UnsupportedOperationException("Invalid URI " + uri);
}
@@ -3998,6 +4023,13 @@ public class MediaProvider extends ContentProvider {
out.table = "files";
break;
+ case MEDIA_BOOKMARK_ID:
+ where = "_id=" + uri.getPathSegments().get(2);
+ // fall through
+ case MEDIA_BOOKMARK:
+ out.table = "bookmarks";
+ break;
+
default:
throw new UnsupportedOperationException(
"Unknown or unsupported URL: " + uri.toString());
@@ -5631,6 +5663,8 @@ public class MediaProvider extends ContentProvider {
// UsbReceiver calls insert() and delete() with this URI to tell us
// when MTP is connected and disconnected
private static final int MTP_CONNECTED = 705;
+ private static final int MEDIA_BOOKMARK = 1101;
+ private static final int MEDIA_BOOKMARK_ID = 1102;
private static final UriMatcher URI_MATCHER =
new UriMatcher(UriMatcher.NO_MATCH);
@@ -5729,6 +5763,8 @@ public class MediaProvider extends ContentProvider {
// used by the music app's search activity
URI_MATCHER.addURI("media", "*/audio/search/fancy", AUDIO_SEARCH_FANCY);
URI_MATCHER.addURI("media", "*/audio/search/fancy/*", AUDIO_SEARCH_FANCY);
+ URI_MATCHER.addURI("media", "*/bookmark", MEDIA_BOOKMARK);
+ URI_MATCHER.addURI("media", "*/bookmark/#", MEDIA_BOOKMARK_ID);
}
private static String getVolumeName(Uri uri) {