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