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; 2224fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown 2324fa6c0dd42df057729e1a258388183f94da7f82Jeff Brownimport java.util.Set; 2424fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown 2524fa6c0dd42df057729e1a258388183f94da7f82Jeff Brownclass MediaMetadataCompatApi21 { 2624fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown public static Set<String> keySet(Object metadataObj) { 2724fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown return ((MediaMetadata)metadataObj).keySet(); 2824fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown } 2924fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown 3024fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown public static Bitmap getBitmap(Object metadataObj, String key) { 3124fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown return ((MediaMetadata)metadataObj).getBitmap(key); 3224fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown } 3324fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown 3424fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown public static long getLong(Object metadataObj, String key) { 3524fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown return ((MediaMetadata)metadataObj).getLong(key); 3624fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown } 3724fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown 3824fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown public static Object getRating(Object metadataObj, String key) { 3924fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown return ((MediaMetadata)metadataObj).getRating(key); 4024fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown } 4124fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown 42515adbf30b9a0c7c1b71450086fa022b1061487aErik Pasternak public static CharSequence getText(Object metadataObj, String key) { 43515adbf30b9a0c7c1b71450086fa022b1061487aErik Pasternak return ((MediaMetadata) metadataObj).getText(key); 4424fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown } 4524fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown 4624fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown public static class Builder { 4724fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown public static Object newInstance() { 4824fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown return new MediaMetadata.Builder(); 4924fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown } 5024fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown 5124fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown public static void putBitmap(Object builderObj, String key, Bitmap value) { 5224fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown ((MediaMetadata.Builder)builderObj).putBitmap(key, value); 5324fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown } 5424fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown 5524fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown public static void putLong(Object builderObj, String key, long value) { 5624fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown ((MediaMetadata.Builder)builderObj).putLong(key, value); 5724fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown } 5824fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown 5924fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown public static void putRating(Object builderObj, String key, Object ratingObj) { 6024fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown ((MediaMetadata.Builder)builderObj).putRating(key, (Rating)ratingObj); 6124fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown } 6224fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown 63515adbf30b9a0c7c1b71450086fa022b1061487aErik Pasternak public static void putText(Object builderObj, String key, CharSequence value) { 64515adbf30b9a0c7c1b71450086fa022b1061487aErik Pasternak ((MediaMetadata.Builder) builderObj).putText(key, value); 65515adbf30b9a0c7c1b71450086fa022b1061487aErik Pasternak } 66515adbf30b9a0c7c1b71450086fa022b1061487aErik Pasternak 6724fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown public static void putString(Object builderObj, String key, String value) { 68515adbf30b9a0c7c1b71450086fa022b1061487aErik Pasternak ((MediaMetadata.Builder) builderObj).putString(key, value); 6924fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown } 7024fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown 7124fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown public static Object build(Object builderObj) { 7224fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown return ((MediaMetadata.Builder)builderObj).build(); 7324fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown } 7424fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown } 7524fa6c0dd42df057729e1a258388183f94da7f82Jeff Brown} 76