1ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik/* Copyright 2014, The Android Open Source Project 2ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik ** 3ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik ** Licensed under the Apache License, Version 2.0 (the "License"); 4ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik ** you may not use this file except in compliance with the License. 5ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik ** You may obtain a copy of the License at 6ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik ** 7ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik ** http://www.apache.org/licenses/LICENSE-2.0 8ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik ** 9ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik ** Unless required by applicable law or agreed to in writing, software 10ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik ** distributed under the License is distributed on an "AS IS" BASIS, 11ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik ** See the License for the specific language governing permissions and 13ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik ** limitations under the License. 14ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik */ 15ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik 16ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErikpackage android.media.session; 17ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik 189db9bf7034d7dcdf596dc22d521b18975d0dd2b9RoboErikimport android.media.AudioAttributes; 19ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErikimport android.os.Parcel; 20ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErikimport android.os.Parcelable; 21ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik 22ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik/** 23ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik * Convenience class for passing information about the audio configuration of a 24d2b8c947ddfc6349a3ae6c3968b422b9cf50d7edRoboErik * session. The public implementation is {@link MediaController.PlaybackInfo}. 25ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik * 26ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik * @hide 27ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik */ 28ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErikpublic class ParcelableVolumeInfo implements Parcelable { 29ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik public int volumeType; 309db9bf7034d7dcdf596dc22d521b18975d0dd2b9RoboErik public AudioAttributes audioAttrs; 31ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik public int controlType; 32ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik public int maxVolume; 33ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik public int currentVolume; 34ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik 359db9bf7034d7dcdf596dc22d521b18975d0dd2b9RoboErik public ParcelableVolumeInfo(int volumeType, AudioAttributes audioAttrs, int controlType, 369db9bf7034d7dcdf596dc22d521b18975d0dd2b9RoboErik int maxVolume, 37ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik int currentVolume) { 38ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik this.volumeType = volumeType; 399db9bf7034d7dcdf596dc22d521b18975d0dd2b9RoboErik this.audioAttrs = audioAttrs; 40ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik this.controlType = controlType; 41ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik this.maxVolume = maxVolume; 42ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik this.currentVolume = currentVolume; 43ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik } 44ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik 45ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik public ParcelableVolumeInfo(Parcel from) { 46ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik volumeType = from.readInt(); 47ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik controlType = from.readInt(); 48ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik maxVolume = from.readInt(); 49ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik currentVolume = from.readInt(); 509db9bf7034d7dcdf596dc22d521b18975d0dd2b9RoboErik audioAttrs = AudioAttributes.CREATOR.createFromParcel(from); 51ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik } 52ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik 53ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik @Override 54ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik public int describeContents() { 55ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik return 0; 56ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik } 57ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik 58ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik @Override 59ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik public void writeToParcel(Parcel dest, int flags) { 60ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik dest.writeInt(volumeType); 61ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik dest.writeInt(controlType); 62ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik dest.writeInt(maxVolume); 63ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik dest.writeInt(currentVolume); 649db9bf7034d7dcdf596dc22d521b18975d0dd2b9RoboErik audioAttrs.writeToParcel(dest, flags); 65ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik } 66ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik 67ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik 68ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik public static final Parcelable.Creator<ParcelableVolumeInfo> CREATOR 69ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik = new Parcelable.Creator<ParcelableVolumeInfo>() { 70ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik @Override 71ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik public ParcelableVolumeInfo createFromParcel(Parcel in) { 72ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik return new ParcelableVolumeInfo(in); 73ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik } 74ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik 75ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik @Override 76ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik public ParcelableVolumeInfo[] newArray(int size) { 77ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik return new ParcelableVolumeInfo[size]; 78ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik } 79ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik }; 80ef3c9e9b057a5aac2d0d012e8e6385660478e203RoboErik} 81