1632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn/*
2632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn * Copyright (C) 2012 The Android Open Source Project
3632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn *
4632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn * Licensed under the Apache License, Version 2.0 (the "License");
5632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn * you may not use this file except in compliance with the License.
6632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn * You may obtain a copy of the License at
7632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn *
8632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn *      http://www.apache.org/licenses/LICENSE-2.0
9632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn *
10632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn * Unless required by applicable law or agreed to in writing, software
11632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn * distributed under the License is distributed on an "AS IS" BASIS,
12632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn * See the License for the specific language governing permissions and
14632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn * limitations under the License.
15632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn */
16632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn
17632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackbornpackage android.media;
18632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn
19632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackbornimport android.os.Parcel;
20632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackbornimport android.os.Parcelable;
21632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackbornimport android.text.TextUtils;
22632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn
23632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn/**
24632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn * Information available from AudioService about the current routes.
25632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn * @hide
26632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn */
27632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackbornpublic class AudioRoutesInfo implements Parcelable {
286156017c2217d0fbbbb03434986250ec6bbd69d8John Spurlock    public static final int MAIN_SPEAKER = 0;
296156017c2217d0fbbbb03434986250ec6bbd69d8John Spurlock    public static final int MAIN_HEADSET = 1<<0;
306156017c2217d0fbbbb03434986250ec6bbd69d8John Spurlock    public static final int MAIN_HEADPHONES = 1<<1;
316156017c2217d0fbbbb03434986250ec6bbd69d8John Spurlock    public static final int MAIN_DOCK_SPEAKERS = 1<<2;
326156017c2217d0fbbbb03434986250ec6bbd69d8John Spurlock    public static final int MAIN_HDMI = 1<<3;
336156017c2217d0fbbbb03434986250ec6bbd69d8John Spurlock    public static final int MAIN_USB = 1<<4;
34632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn
356156017c2217d0fbbbb03434986250ec6bbd69d8John Spurlock    public CharSequence bluetoothName;
366156017c2217d0fbbbb03434986250ec6bbd69d8John Spurlock    public int mainType = MAIN_SPEAKER;
37632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn
38632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn    public AudioRoutesInfo() {
39632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn    }
40632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn
41632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn    public AudioRoutesInfo(AudioRoutesInfo o) {
426156017c2217d0fbbbb03434986250ec6bbd69d8John Spurlock        bluetoothName = o.bluetoothName;
436156017c2217d0fbbbb03434986250ec6bbd69d8John Spurlock        mainType = o.mainType;
44632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn    }
45632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn
46632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn    AudioRoutesInfo(Parcel src) {
476156017c2217d0fbbbb03434986250ec6bbd69d8John Spurlock        bluetoothName = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(src);
486156017c2217d0fbbbb03434986250ec6bbd69d8John Spurlock        mainType = src.readInt();
49632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn    }
50632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn
51632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn    @Override
52632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn    public int describeContents() {
53632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn        return 0;
54632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn    }
55632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn
56632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn    @Override
57632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn    public void writeToParcel(Parcel dest, int flags) {
586156017c2217d0fbbbb03434986250ec6bbd69d8John Spurlock        TextUtils.writeToParcel(bluetoothName, dest, flags);
596156017c2217d0fbbbb03434986250ec6bbd69d8John Spurlock        dest.writeInt(mainType);
60632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn    }
61632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn
62632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn    public static final Parcelable.Creator<AudioRoutesInfo> CREATOR
63632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn            = new Parcelable.Creator<AudioRoutesInfo>() {
64632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn        public AudioRoutesInfo createFromParcel(Parcel in) {
65632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn            return new AudioRoutesInfo(in);
66632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn        }
67632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn
68632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn        public AudioRoutesInfo[] newArray(int size) {
69632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn            return new AudioRoutesInfo[size];
70632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn        }
71632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn    };
72632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn}
73