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