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 */
16package android.support.v4.media;
17
18import android.graphics.Bitmap;
19import android.media.MediaDescription;
20import android.net.Uri;
21import android.os.Bundle;
22import android.os.Parcel;
23import android.support.annotation.RequiresApi;
24
25@RequiresApi(21)
26class MediaDescriptionCompatApi21 {
27
28    public static String getMediaId(Object descriptionObj) {
29        return ((MediaDescription) descriptionObj).getMediaId();
30    }
31
32    public static CharSequence getTitle(Object descriptionObj) {
33        return ((MediaDescription) descriptionObj).getTitle();
34    }
35
36    public static CharSequence getSubtitle(Object descriptionObj) {
37        return ((MediaDescription) descriptionObj).getSubtitle();
38    }
39
40    public static CharSequence getDescription(Object descriptionObj) {
41        return ((MediaDescription) descriptionObj).getDescription();
42    }
43
44    public static Bitmap getIconBitmap(Object descriptionObj) {
45        return ((MediaDescription) descriptionObj).getIconBitmap();
46    }
47
48    public static Uri getIconUri(Object descriptionObj) {
49        return ((MediaDescription) descriptionObj).getIconUri();
50    }
51
52    public static Bundle getExtras(Object descriptionObj) {
53        return ((MediaDescription) descriptionObj).getExtras();
54    }
55
56    public static void writeToParcel(Object descriptionObj, Parcel dest, int flags) {
57        ((MediaDescription) descriptionObj).writeToParcel(dest, flags);
58    }
59
60    public static Object fromParcel(Parcel in) {
61        return MediaDescription.CREATOR.createFromParcel(in);
62    }
63
64    static class Builder {
65        public static Object newInstance() {
66            return new MediaDescription.Builder();
67        }
68
69
70        public static void setMediaId(Object builderObj, String mediaId) {
71            ((MediaDescription.Builder)builderObj).setMediaId(mediaId);
72        }
73
74        public static void setTitle(Object builderObj, CharSequence title) {
75            ((MediaDescription.Builder)builderObj).setTitle(title);
76        }
77
78        public static void setSubtitle(Object builderObj, CharSequence subtitle) {
79            ((MediaDescription.Builder)builderObj).setSubtitle(subtitle);
80        }
81
82        public static void setDescription(Object builderObj, CharSequence description) {
83            ((MediaDescription.Builder)builderObj).setDescription(description);
84        }
85
86        public static void setIconBitmap(Object builderObj, Bitmap iconBitmap) {
87            ((MediaDescription.Builder)builderObj).setIconBitmap(iconBitmap);
88        }
89
90        public static void setIconUri(Object builderObj, Uri iconUri) {
91            ((MediaDescription.Builder)builderObj).setIconUri(iconUri);
92        }
93
94        public static void setExtras(Object builderObj, Bundle extras) {
95            ((MediaDescription.Builder)builderObj).setExtras(extras);
96        }
97
98        public static Object build(Object builderObj) {
99            return ((MediaDescription.Builder) builderObj).build();
100        }
101    }
102}
103