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 { 28632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn static final int MAIN_SPEAKER = 0; 29632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn static final int MAIN_HEADSET = 1<<0; 30632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn static final int MAIN_HEADPHONES = 1<<1; 31632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn static final int MAIN_DOCK_SPEAKERS = 1<<2; 32632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn static final int MAIN_HDMI = 1<<3; 33632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn 34632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn CharSequence mBluetoothName; 35632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn int mMainType = MAIN_SPEAKER; 36632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn 37632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn public AudioRoutesInfo() { 38632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn } 39632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn 40632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn public AudioRoutesInfo(AudioRoutesInfo o) { 41632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn mBluetoothName = o.mBluetoothName; 42632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn mMainType = o.mMainType; 43632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn } 44632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn 45632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn AudioRoutesInfo(Parcel src) { 46632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn mBluetoothName = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(src); 47632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn mMainType = src.readInt(); 48632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn } 49632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn 50632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn @Override 51632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn public int describeContents() { 52632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn return 0; 53632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn } 54632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn 55632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn @Override 56632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn public void writeToParcel(Parcel dest, int flags) { 57632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn TextUtils.writeToParcel(mBluetoothName, dest, flags); 58632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn dest.writeInt(mMainType); 59632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn } 60632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn 61632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn public static final Parcelable.Creator<AudioRoutesInfo> CREATOR 62632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn = new Parcelable.Creator<AudioRoutesInfo>() { 63632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn public AudioRoutesInfo createFromParcel(Parcel in) { 64632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn return new AudioRoutesInfo(in); 65632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn } 66632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn 67632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn public AudioRoutesInfo[] newArray(int size) { 68632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn return new AudioRoutesInfo[size]; 69632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn } 70632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn }; 71632ca417f0a33e3fa9ccece531afa2db3f0d4a30Dianne Hackborn} 72