1cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik/* 2cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik * Copyright (C) 2014 The Android Open Source Project 3cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik * 4cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik * Licensed under the Apache License, Version 2.0 (the "License"); 5cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik * you may not use this file except in compliance with the License. 6cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik * You may obtain a copy of the License at 7cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik * 8cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik * http://www.apache.org/licenses/LICENSE-2.0 9cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik * 10cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik * Unless required by applicable law or agreed to in writing, software 11cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik * distributed under the License is distributed on an "AS IS" BASIS, 12cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik * See the License for the specific language governing permissions and 14cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik * limitations under the License. 15cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik */ 16cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErikpackage android.support.v4.media; 17cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik 18cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErikimport android.graphics.Bitmap; 19cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErikimport android.media.MediaDescription; 20cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErikimport android.net.Uri; 21cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErikimport android.os.Bundle; 22cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErikimport android.os.Parcel; 23cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik 24bd0822174be5562e88b213ae2970708ab974ee0fSungsoo Limclass MediaDescriptionCompatApi21 { 25cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik 26cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik public static String getMediaId(Object descriptionObj) { 27cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik return ((MediaDescription) descriptionObj).getMediaId(); 28cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik } 29cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik 30cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik public static CharSequence getTitle(Object descriptionObj) { 31cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik return ((MediaDescription) descriptionObj).getTitle(); 32cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik } 33cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik 34cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik public static CharSequence getSubtitle(Object descriptionObj) { 35cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik return ((MediaDescription) descriptionObj).getSubtitle(); 36cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik } 37cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik 38cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik public static CharSequence getDescription(Object descriptionObj) { 39cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik return ((MediaDescription) descriptionObj).getDescription(); 40cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik } 41cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik 42cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik public static Bitmap getIconBitmap(Object descriptionObj) { 43cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik return ((MediaDescription) descriptionObj).getIconBitmap(); 44cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik } 45cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik 46cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik public static Uri getIconUri(Object descriptionObj) { 47cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik return ((MediaDescription) descriptionObj).getIconUri(); 48cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik } 49cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik 50cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik public static Bundle getExtras(Object descriptionObj) { 51cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik return ((MediaDescription) descriptionObj).getExtras(); 52cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik } 53cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik 54cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik public static void writeToParcel(Object descriptionObj, Parcel dest, int flags) { 55cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik ((MediaDescription) descriptionObj).writeToParcel(dest, flags); 56cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik } 57cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik 58cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik public static Object fromParcel(Parcel in) { 59cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik return MediaDescription.CREATOR.createFromParcel(in); 60cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik } 61cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik 62bd0822174be5562e88b213ae2970708ab974ee0fSungsoo Lim static class Builder { 63cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik public static Object newInstance() { 64cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik return new MediaDescription.Builder(); 65cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik } 66cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik 67cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik 68cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik public static void setMediaId(Object builderObj, String mediaId) { 69cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik ((MediaDescription.Builder)builderObj).setMediaId(mediaId); 70cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik } 71cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik 72cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik public static void setTitle(Object builderObj, CharSequence title) { 73cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik ((MediaDescription.Builder)builderObj).setTitle(title); 74cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik } 75cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik 76cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik public static void setSubtitle(Object builderObj, CharSequence subtitle) { 77cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik ((MediaDescription.Builder)builderObj).setSubtitle(subtitle); 78cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik } 79cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik 80cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik public static void setDescription(Object builderObj, CharSequence description) { 81cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik ((MediaDescription.Builder)builderObj).setDescription(description); 82cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik } 83cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik 84cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik public static void setIconBitmap(Object builderObj, Bitmap iconBitmap) { 85cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik ((MediaDescription.Builder)builderObj).setIconBitmap(iconBitmap); 86cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik } 87cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik 88cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik public static void setIconUri(Object builderObj, Uri iconUri) { 89cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik ((MediaDescription.Builder)builderObj).setIconUri(iconUri); 90cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik } 91cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik 92cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik public static void setExtras(Object builderObj, Bundle extras) { 93cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik ((MediaDescription.Builder)builderObj).setExtras(extras); 94cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik } 95cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik 96cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik public static Object build(Object builderObj) { 97cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik return ((MediaDescription.Builder) builderObj).build(); 98cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik } 99cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik } 100cf9daf1b11f55ecb9f4008cd1c7af2c8dac990afRoboErik} 101