Loading packages/MediaComponents/src/com/android/media/MediaMetadata2Impl.java +24 −10 Original line number Diff line number Diff line Loading @@ -38,16 +38,11 @@ import java.util.Set; public class MediaMetadata2Impl implements MediaMetadata2Provider { private static final String TAG = "MediaMetadata2"; /** * A {@link Bundle} extra. * @hide */ public static final String METADATA_KEY_EXTRA = "android.media.metadata.EXTRA"; static final int METADATA_TYPE_LONG = 0; static final int METADATA_TYPE_TEXT = 1; static final int METADATA_TYPE_BITMAP = 2; static final int METADATA_TYPE_RATING = 3; static final int METADATA_TYPE_FLOAT = 4; static final ArrayMap<String, Integer> METADATA_KEYS_TYPE; static { Loading Loading @@ -83,6 +78,8 @@ public class MediaMetadata2Impl implements MediaMetadata2Provider { METADATA_KEYS_TYPE.put(METADATA_KEY_MEDIA_URI, METADATA_TYPE_TEXT); METADATA_KEYS_TYPE.put(METADATA_KEY_ADVERTISEMENT, METADATA_TYPE_LONG); METADATA_KEYS_TYPE.put(METADATA_KEY_DOWNLOAD_STATUS, METADATA_TYPE_LONG); METADATA_KEYS_TYPE.put(METADATA_KEY_RADIO_FREQUENCY, METADATA_TYPE_FLOAT); METADATA_KEYS_TYPE.put(METADATA_KEY_RADIO_CALLSIGN, METADATA_TYPE_TEXT); } private static final @TextKey Loading Loading @@ -166,6 +163,11 @@ public class MediaMetadata2Impl implements MediaMetadata2Provider { return rating; } @Override public float getFloat_impl(@FloatKey String key) { return mBundle.getFloat(key); } @Override public Bitmap getBitmap_impl(@BitmapKey String key) { Bitmap bmp = null; Loading @@ -179,9 +181,9 @@ public class MediaMetadata2Impl implements MediaMetadata2Provider { } @Override public Bundle getExtra_impl() { public Bundle getExtras_impl() { try { return mBundle.getBundle(METADATA_KEY_EXTRA); return mBundle.getBundle(METADATA_KEY_EXTRAS); } catch (Exception e) { // ignore, value was not an bundle Log.w(TAG, "Failed to retrieve an extra"); Loading Loading @@ -305,8 +307,20 @@ public class MediaMetadata2Impl implements MediaMetadata2Provider { } @Override public Builder setExtra_impl(Bundle bundle) { mBundle.putBundle(METADATA_KEY_EXTRA, bundle); public Builder putFloat_impl(@FloatKey String key, float value) { if (METADATA_KEYS_TYPE.containsKey(key)) { if (METADATA_KEYS_TYPE.get(key) != METADATA_TYPE_FLOAT) { throw new IllegalArgumentException("The " + key + " key cannot be used to put a float"); } } mBundle.putFloat(key, value); return mInstance; } @Override public Builder setExtras_impl(Bundle bundle) { mBundle.putBundle(METADATA_KEY_EXTRAS, bundle); return mInstance; } Loading packages/MediaComponents/test/src/android/media/MediaMetadata2Test.java +4 −4 Original line number Diff line number Diff line Loading @@ -42,20 +42,20 @@ public class MediaMetadata2Test { @Test public void testBuilder() { final Bundle extra = new Bundle(); extra.putString("MediaMetadata2Test", "testBuilder"); final Bundle extras = new Bundle(); extras.putString("MediaMetadata2Test", "testBuilder"); final String title = "title"; final long discNumber = 10; final Rating2 rating = Rating2.newThumbRating(mContext, true); MediaMetadata2.Builder builder = new Builder(mContext); builder.setExtra(extra); builder.setExtras(extras); builder.putString(MediaMetadata2.METADATA_KEY_DISPLAY_TITLE, title); builder.putLong(MediaMetadata2.METADATA_KEY_DISC_NUMBER, discNumber); builder.putRating(MediaMetadata2.METADATA_KEY_USER_RATING, rating); MediaMetadata2 metadata = builder.build(); assertTrue(TestUtils.equals(extra, metadata.getExtra())); assertTrue(TestUtils.equals(extras, metadata.getExtras())); assertEquals(title, metadata.getString(MediaMetadata2.METADATA_KEY_DISPLAY_TITLE)); assertEquals(discNumber, metadata.getLong(MediaMetadata2.METADATA_KEY_DISC_NUMBER)); assertEquals(rating, metadata.getRating(MediaMetadata2.METADATA_KEY_USER_RATING)); Loading Loading
packages/MediaComponents/src/com/android/media/MediaMetadata2Impl.java +24 −10 Original line number Diff line number Diff line Loading @@ -38,16 +38,11 @@ import java.util.Set; public class MediaMetadata2Impl implements MediaMetadata2Provider { private static final String TAG = "MediaMetadata2"; /** * A {@link Bundle} extra. * @hide */ public static final String METADATA_KEY_EXTRA = "android.media.metadata.EXTRA"; static final int METADATA_TYPE_LONG = 0; static final int METADATA_TYPE_TEXT = 1; static final int METADATA_TYPE_BITMAP = 2; static final int METADATA_TYPE_RATING = 3; static final int METADATA_TYPE_FLOAT = 4; static final ArrayMap<String, Integer> METADATA_KEYS_TYPE; static { Loading Loading @@ -83,6 +78,8 @@ public class MediaMetadata2Impl implements MediaMetadata2Provider { METADATA_KEYS_TYPE.put(METADATA_KEY_MEDIA_URI, METADATA_TYPE_TEXT); METADATA_KEYS_TYPE.put(METADATA_KEY_ADVERTISEMENT, METADATA_TYPE_LONG); METADATA_KEYS_TYPE.put(METADATA_KEY_DOWNLOAD_STATUS, METADATA_TYPE_LONG); METADATA_KEYS_TYPE.put(METADATA_KEY_RADIO_FREQUENCY, METADATA_TYPE_FLOAT); METADATA_KEYS_TYPE.put(METADATA_KEY_RADIO_CALLSIGN, METADATA_TYPE_TEXT); } private static final @TextKey Loading Loading @@ -166,6 +163,11 @@ public class MediaMetadata2Impl implements MediaMetadata2Provider { return rating; } @Override public float getFloat_impl(@FloatKey String key) { return mBundle.getFloat(key); } @Override public Bitmap getBitmap_impl(@BitmapKey String key) { Bitmap bmp = null; Loading @@ -179,9 +181,9 @@ public class MediaMetadata2Impl implements MediaMetadata2Provider { } @Override public Bundle getExtra_impl() { public Bundle getExtras_impl() { try { return mBundle.getBundle(METADATA_KEY_EXTRA); return mBundle.getBundle(METADATA_KEY_EXTRAS); } catch (Exception e) { // ignore, value was not an bundle Log.w(TAG, "Failed to retrieve an extra"); Loading Loading @@ -305,8 +307,20 @@ public class MediaMetadata2Impl implements MediaMetadata2Provider { } @Override public Builder setExtra_impl(Bundle bundle) { mBundle.putBundle(METADATA_KEY_EXTRA, bundle); public Builder putFloat_impl(@FloatKey String key, float value) { if (METADATA_KEYS_TYPE.containsKey(key)) { if (METADATA_KEYS_TYPE.get(key) != METADATA_TYPE_FLOAT) { throw new IllegalArgumentException("The " + key + " key cannot be used to put a float"); } } mBundle.putFloat(key, value); return mInstance; } @Override public Builder setExtras_impl(Bundle bundle) { mBundle.putBundle(METADATA_KEY_EXTRAS, bundle); return mInstance; } Loading
packages/MediaComponents/test/src/android/media/MediaMetadata2Test.java +4 −4 Original line number Diff line number Diff line Loading @@ -42,20 +42,20 @@ public class MediaMetadata2Test { @Test public void testBuilder() { final Bundle extra = new Bundle(); extra.putString("MediaMetadata2Test", "testBuilder"); final Bundle extras = new Bundle(); extras.putString("MediaMetadata2Test", "testBuilder"); final String title = "title"; final long discNumber = 10; final Rating2 rating = Rating2.newThumbRating(mContext, true); MediaMetadata2.Builder builder = new Builder(mContext); builder.setExtra(extra); builder.setExtras(extras); builder.putString(MediaMetadata2.METADATA_KEY_DISPLAY_TITLE, title); builder.putLong(MediaMetadata2.METADATA_KEY_DISC_NUMBER, discNumber); builder.putRating(MediaMetadata2.METADATA_KEY_USER_RATING, rating); MediaMetadata2 metadata = builder.build(); assertTrue(TestUtils.equals(extra, metadata.getExtra())); assertTrue(TestUtils.equals(extras, metadata.getExtras())); assertEquals(title, metadata.getString(MediaMetadata2.METADATA_KEY_DISPLAY_TITLE)); assertEquals(discNumber, metadata.getLong(MediaMetadata2.METADATA_KEY_DISC_NUMBER)); assertEquals(rating, metadata.getRating(MediaMetadata2.METADATA_KEY_USER_RATING)); Loading