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