diff options
author | lihai <lihai@codeaurora.org> | 2015-11-25 17:16:17 +0800 |
---|---|---|
committer | Linux Build Service Account <lnxbuild@localhost> | 2016-08-24 08:08:15 -0600 |
commit | eb71d264b945af99b7750b9baf8262199f44a6a8 (patch) | |
tree | 8f2d58abd2ace6f70b1ad03274ec89fc15794efb /src/com/android/providers | |
parent | c2bd3084efad9f5f421e4224914d883f212901b3 (diff) | |
download | android_packages_providers_MediaProvider-eb71d264b945af99b7750b9baf8262199f44a6a8.tar.gz android_packages_providers_MediaProvider-eb71d264b945af99b7750b9baf8262199f44a6a8.tar.bz2 android_packages_providers_MediaProvider-eb71d264b945af99b7750b9baf8262199f44a6a8.zip |
MediaProvider: support streaming bookmark
Add bookmarks table and bookmark URI.
Change-Id: I108ce3eacc181f60343c7cd6b3ec5688c0b8c78e
CRs-Fixed: 1031467
Diffstat (limited to 'src/com/android/providers')
-rw-r--r-- | src/com/android/providers/media/MediaProvider.java | 38 |
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) { |