124fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown/* 224fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown * Copyright (C) 2014 The Android Open Source Project 324fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown * 424fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown * Licensed under the Apache License, Version 2.0 (the "License"); 524fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown * you may not use this file except in compliance with the License. 624fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown * You may obtain a copy of the License at 724fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown * 824fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown * http://www.apache.org/licenses/LICENSE-2.0 924fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown * 1024fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown * Unless required by applicable law or agreed to in writing, software 1124fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown * distributed under the License is distributed on an "AS IS" BASIS, 1224fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1324fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown * See the License for the specific language governing permissions and 1424fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown * limitations under the License. 1524fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown */ 1624fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown 1724fa6c0dd42df057729e1a258388183f94da7f82Jeff Brownpackage android.support.v4.media; 1824fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown 1924fa6c0dd42df057729e1a258388183f94da7f82Jeff Brownimport android.graphics.Bitmap; 2024fa6c0dd42df057729e1a258388183f94da7f82Jeff Brownimport android.media.MediaMetadata; 2124fa6c0dd42df057729e1a258388183f94da7f82Jeff Brownimport android.media.Rating; 22fef15ea991ce111e43b165ad5f12dccd6be9f1f2Jae Seoimport android.os.Parcel; 2324fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown 2424fa6c0dd42df057729e1a258388183f94da7f82Jeff Brownimport java.util.Set; 2524fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown 2624fa6c0dd42df057729e1a258388183f94da7f82Jeff Brownclass MediaMetadataCompatApi21 { 2724fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown public static Set<String> keySet(Object metadataObj) { 2824fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown return ((MediaMetadata)metadataObj).keySet(); 2924fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown } 3024fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown 3124fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown public static Bitmap getBitmap(Object metadataObj, String key) { 3224fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown return ((MediaMetadata)metadataObj).getBitmap(key); 3324fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown } 3424fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown 3524fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown public static long getLong(Object metadataObj, String key) { 3624fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown return ((MediaMetadata)metadataObj).getLong(key); 3724fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown } 3824fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown 3924fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown public static Object getRating(Object metadataObj, String key) { 4024fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown return ((MediaMetadata)metadataObj).getRating(key); 4124fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown } 4224fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown 43515adbf30b9a0c7c1b71450086fa022b1061487aErik Pasternak public static CharSequence getText(Object metadataObj, String key) { 44515adbf30b9a0c7c1b71450086fa022b1061487aErik Pasternak return ((MediaMetadata) metadataObj).getText(key); 4524fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown } 4624fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown 47fef15ea991ce111e43b165ad5f12dccd6be9f1f2Jae Seo public static void writeToParcel(Object metadataObj, Parcel dest, int flags) { 48fef15ea991ce111e43b165ad5f12dccd6be9f1f2Jae Seo ((MediaMetadata) metadataObj).writeToParcel(dest, flags); 49fef15ea991ce111e43b165ad5f12dccd6be9f1f2Jae Seo } 50fef15ea991ce111e43b165ad5f12dccd6be9f1f2Jae Seo 51fef15ea991ce111e43b165ad5f12dccd6be9f1f2Jae Seo public static Object createFromParcel(Parcel in) { 52fef15ea991ce111e43b165ad5f12dccd6be9f1f2Jae Seo return MediaMetadata.CREATOR.createFromParcel(in); 53fef15ea991ce111e43b165ad5f12dccd6be9f1f2Jae Seo } 54fef15ea991ce111e43b165ad5f12dccd6be9f1f2Jae Seo 5524fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown public static class Builder { 5624fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown public static Object newInstance() { 5724fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown return new MediaMetadata.Builder(); 5824fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown } 5924fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown 6024fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown public static void putBitmap(Object builderObj, String key, Bitmap value) { 6124fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown ((MediaMetadata.Builder)builderObj).putBitmap(key, value); 6224fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown } 6324fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown 6424fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown public static void putLong(Object builderObj, String key, long value) { 6524fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown ((MediaMetadata.Builder)builderObj).putLong(key, value); 6624fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown } 6724fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown 6824fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown public static void putRating(Object builderObj, String key, Object ratingObj) { 6924fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown ((MediaMetadata.Builder)builderObj).putRating(key, (Rating)ratingObj); 7024fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown } 7124fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown 72515adbf30b9a0c7c1b71450086fa022b1061487aErik Pasternak public static void putText(Object builderObj, String key, CharSequence value) { 73515adbf30b9a0c7c1b71450086fa022b1061487aErik Pasternak ((MediaMetadata.Builder) builderObj).putText(key, value); 74515adbf30b9a0c7c1b71450086fa022b1061487aErik Pasternak } 75515adbf30b9a0c7c1b71450086fa022b1061487aErik Pasternak 7624fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown public static void putString(Object builderObj, String key, String value) { 77515adbf30b9a0c7c1b71450086fa022b1061487aErik Pasternak ((MediaMetadata.Builder) builderObj).putString(key, value); 7824fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown } 7924fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown 8024fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown public static Object build(Object builderObj) { 8124fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown return ((MediaMetadata.Builder)builderObj).build(); 8224fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown } 8324fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown } 8424fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown} 85