1a74b9caa2fb6435f1c01c5e8766b89235c4e3d5akeunyoung/*
2a74b9caa2fb6435f1c01c5e8766b89235c4e3d5akeunyoung * Copyright (C) 2015 The Android Open Source Project
3a74b9caa2fb6435f1c01c5e8766b89235c4e3d5akeunyoung *
4a74b9caa2fb6435f1c01c5e8766b89235c4e3d5akeunyoung * Licensed under the Apache License, Version 2.0 (the "License");
5a74b9caa2fb6435f1c01c5e8766b89235c4e3d5akeunyoung * you may not use this file except in compliance with the License.
6a74b9caa2fb6435f1c01c5e8766b89235c4e3d5akeunyoung * You may obtain a copy of the License at
7a74b9caa2fb6435f1c01c5e8766b89235c4e3d5akeunyoung *
8a74b9caa2fb6435f1c01c5e8766b89235c4e3d5akeunyoung *      http://www.apache.org/licenses/LICENSE-2.0
9a74b9caa2fb6435f1c01c5e8766b89235c4e3d5akeunyoung *
10a74b9caa2fb6435f1c01c5e8766b89235c4e3d5akeunyoung * Unless required by applicable law or agreed to in writing, software
11a74b9caa2fb6435f1c01c5e8766b89235c4e3d5akeunyoung * distributed under the License is distributed on an "AS IS" BASIS,
12a74b9caa2fb6435f1c01c5e8766b89235c4e3d5akeunyoung * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13a74b9caa2fb6435f1c01c5e8766b89235c4e3d5akeunyoung * See the License for the specific language governing permissions and
14a74b9caa2fb6435f1c01c5e8766b89235c4e3d5akeunyoung * limitations under the License.
15a74b9caa2fb6435f1c01c5e8766b89235c4e3d5akeunyoung */
16a74b9caa2fb6435f1c01c5e8766b89235c4e3d5akeunyoung
17e54ac276796c6535558f8444d882adecd19ce2bdKeun-young Parkpackage android.car.media;
18a74b9caa2fb6435f1c01c5e8766b89235c4e3d5akeunyoung
19fe1a8f14e1ac56f095d29336e0986950d8adfc0cKeun-young Parkimport android.car.media.ICarAudioCallback;
205672e85bdf82f6a2350afb942dfe17b7c699af87Keun-young Parkimport android.media.AudioAttributes;
21c4d442f4a0d3acf90b1c7a1dd7c222a8f32a193fYao Chenimport android.media.IVolumeController;
225672e85bdf82f6a2350afb942dfe17b7c699af87Keun-young Park
235672e85bdf82f6a2350afb942dfe17b7c699af87Keun-young Park/**
24e54ac276796c6535558f8444d882adecd19ce2bdKeun-young Park * Binder interface for {@link android.car.media.CarAudioManager}.
25b1ddae96756a97006f8a7f4a323fe2538289dcb6Scott Randolph * Check {@link android.car.media.CarAudioManager} APIs for expected behavior of each call.
265672e85bdf82f6a2350afb942dfe17b7c699af87Keun-young Park *
27e54ac276796c6535558f8444d882adecd19ce2bdKeun-young Park * @hide
285672e85bdf82f6a2350afb942dfe17b7c699af87Keun-young Park */
29a74b9caa2fb6435f1c01c5e8766b89235c4e3d5akeunyounginterface ICarAudio {
30e54ac276796c6535558f8444d882adecd19ce2bdKeun-young Park    AudioAttributes getAudioAttributesForCarUsage(int carUsage) = 0;
31c4d442f4a0d3acf90b1c7a1dd7c222a8f32a193fYao Chen    void setStreamVolume(int streamType, int index, int flags) = 1;
32c4d442f4a0d3acf90b1c7a1dd7c222a8f32a193fYao Chen    void setVolumeController(IVolumeController controller) = 2;
33c4d442f4a0d3acf90b1c7a1dd7c222a8f32a193fYao Chen    int getStreamMaxVolume(int streamType) = 3;
34c4d442f4a0d3acf90b1c7a1dd7c222a8f32a193fYao Chen    int getStreamMinVolume(int streamType) = 4;
35c4d442f4a0d3acf90b1c7a1dd7c222a8f32a193fYao Chen    int getStreamVolume(int streamType) = 5;
363cb891017933140b613cfaf5b8422c112c0f32dcKeun-young Park    boolean isMediaMuted() = 6;
373cb891017933140b613cfaf5b8422c112c0f32dcKeun-young Park    boolean setMediaMute(boolean mute) = 7;
384c6834a27ccbcf42cbeef43059751752baf80ac3Keun-young Park    AudioAttributes getAudioAttributesForRadio(in String radioType) = 8;
394c6834a27ccbcf42cbeef43059751752baf80ac3Keun-young Park    AudioAttributes getAudioAttributesForExternalSource(in String externalSourceType) = 9;
404c6834a27ccbcf42cbeef43059751752baf80ac3Keun-young Park    String[] getSupportedExternalSourceTypes() = 10;
414c6834a27ccbcf42cbeef43059751752baf80ac3Keun-young Park    String[] getSupportedRadioTypes() = 11;
42fe1a8f14e1ac56f095d29336e0986950d8adfc0cKeun-young Park    String[] getParameterKeys() = 12;
43fe1a8f14e1ac56f095d29336e0986950d8adfc0cKeun-young Park    void setParameters(in String parameters) = 13;
44fe1a8f14e1ac56f095d29336e0986950d8adfc0cKeun-young Park    String getParameters(in String keys) = 14;
45fe1a8f14e1ac56f095d29336e0986950d8adfc0cKeun-young Park    void registerOnParameterChangeListener(in ICarAudioCallback callback) = 15;
46fe1a8f14e1ac56f095d29336e0986950d8adfc0cKeun-young Park    void unregisterOnParameterChangeListener(in ICarAudioCallback callback) = 16;
475672e85bdf82f6a2350afb942dfe17b7c699af87Keun-young Park}
48