blob: 067dc5cf2200375a72c76dbfb4d037558c13c6b0 [file] [log] [blame]
Jean-Michel Trivi0008a482016-12-26 15:58:24 -08001/*
2 * Copyright (C) 2016 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17#ifndef ANDROID_IAUDIOMANAGER_H
18#define ANDROID_IAUDIOMANAGER_H
19
20#include <utils/Errors.h>
21#include <binder/IInterface.h>
22#include <hardware/power.h>
23#include <system/audio.h>
24
25namespace android {
26
27// ----------------------------------------------------------------------------
28
29class IAudioManager : public IInterface
30{
31public:
32 // These transaction IDs must be kept in sync with the method order from
33 // IAudioService.aidl.
34 enum {
35 // transaction IDs for the unsupported methods are commented out
36 /*
37 ADJUSTSUGGESTEDSTREAMVOLUME = IBinder::FIRST_CALL_TRANSACTION,
38 ADJUSTSTREAMVOLUME = IBinder::FIRST_CALL_TRANSACTION + 1,
39 SETSTREAMVOLUME = IBinder::FIRST_CALL_TRANSACTION + 2,
40 ISSTREAMMUTE = IBinder::FIRST_CALL_TRANSACTION + 3,
41 FORCEREMOTESUBMIXFULLVOLUME = IBinder::FIRST_CALL_TRANSACTION + 4,
42 ISMASTERMUTE = IBinder::FIRST_CALL_TRANSACTION + 5,
43 SETMASTERMUTE = IBinder::FIRST_CALL_TRANSACTION + 6,
44 GETSTREAMVOLUME = IBinder::FIRST_CALL_TRANSACTION + 7,
45 GETSTREAMMINVOLUME = IBinder::FIRST_CALL_TRANSACTION + 8,
46 GETSTREAMMAXVOLUME = IBinder::FIRST_CALL_TRANSACTION + 9,
47 GETLASTAUDIBLESTREAMVOLUME = IBinder::FIRST_CALL_TRANSACTION + 10,
48 SETMICROPHONEMUTE = IBinder::FIRST_CALL_TRANSACTION + 11,
49 SETRINGERMODEEXTERNAL = IBinder::FIRST_CALL_TRANSACTION + 12,
50 SETRINGERMODEINTERNAL = IBinder::FIRST_CALL_TRANSACTION + 13,
51 GETRINGERMODEEXTERNAL = IBinder::FIRST_CALL_TRANSACTION + 14,
52 GETRINGERMODEINTERNAL = IBinder::FIRST_CALL_TRANSACTION + 15,
53 ISVALIDRINGERMODE = IBinder::FIRST_CALL_TRANSACTION + 16,
54 SETVIBRATESETTING = IBinder::FIRST_CALL_TRANSACTION + 17,
55 GETVIBRATESETTING = IBinder::FIRST_CALL_TRANSACTION + 18,
56 SHOULDVIBRATE = IBinder::FIRST_CALL_TRANSACTION + 19,
57 SETMODE = IBinder::FIRST_CALL_TRANSACTION + 20,
58 GETMODE = IBinder::FIRST_CALL_TRANSACTION + 21,
59 PLAYSOUNDEFFECT = IBinder::FIRST_CALL_TRANSACTION + 22,
60 PLAYSOUNDEFFECTVOLUME = IBinder::FIRST_CALL_TRANSACTION + 23,
61 LOADSOUNDEFFECTS = IBinder::FIRST_CALL_TRANSACTION + 24,
62 UNLOADSOUNDEFFECTS = IBinder::FIRST_CALL_TRANSACTION + 25,
63 RELOADAUDIOSETTINGS = IBinder::FIRST_CALL_TRANSACTION + 26,
64 AVRCPSUPPORTSABSOLUTEVOLUME = IBinder::FIRST_CALL_TRANSACTION + 27,
65 SETSPEAKERPHONEON = IBinder::FIRST_CALL_TRANSACTION + 28,
66 ISSPEAKERPHONEON = IBinder::FIRST_CALL_TRANSACTION + 29,
67 SETBLUETOOTHSCOON = IBinder::FIRST_CALL_TRANSACTION + 30,
68 ISBLUETOOTHSCOON = IBinder::FIRST_CALL_TRANSACTION + 31,
69 SETBLUETOOTHA2DPON = IBinder::FIRST_CALL_TRANSACTION + 32,
70 ISBLUETOOTHA2DPON = IBinder::FIRST_CALL_TRANSACTION + 33,
71 REQUESTAUDIOFOCUS = IBinder::FIRST_CALL_TRANSACTION + 34,
72 ABANDONAUDIOFOCUS = IBinder::FIRST_CALL_TRANSACTION + 35,
73 UNREGISTERAUDIOFOCUSCLIENT = IBinder::FIRST_CALL_TRANSACTION + 36,
74 GETCURRENTAUDIOFOCUS = IBinder::FIRST_CALL_TRANSACTION + 37,
75 STARTBLUETOOTHSCO = IBinder::FIRST_CALL_TRANSACTION + 38,
76 STARTBLUETOOTHSCOVIRTUALCALL = IBinder::FIRST_CALL_TRANSACTION + 39,
77 STOPBLUETOOTHSCO = IBinder::FIRST_CALL_TRANSACTION + 40,
78 FORCEVOLUMECONTROLSTREAM = IBinder::FIRST_CALL_TRANSACTION + 41,
79 SETRINGTONEPLAYER = IBinder::FIRST_CALL_TRANSACTION + 42,
80 GETRINGTONEPLAYER = IBinder::FIRST_CALL_TRANSACTION + 43,
81 GETUISOUNDSSTREAMTYPE = IBinder::FIRST_CALL_TRANSACTION + 44,
82 SETWIREDDEVICECONNECTIONSTATE = IBinder::FIRST_CALL_TRANSACTION + 45,
83 SETBLUETOOTHA2DPDEVICECONNECTIONSTATE = IBinder::FIRST_CALL_TRANSACTION + 46,
84 HANDLEBLUETOOTHA2DPDEVICECONFIGCHANGE = IBinder::FIRST_CALL_TRANSACTION + 47,
85 STARTWATCHINGROUTES = IBinder::FIRST_CALL_TRANSACTION + 48,
86 ISCAMERASOUNDFORCED = IBinder::FIRST_CALL_TRANSACTION + 49,
87 SETVOLUMECONTROLLER = IBinder::FIRST_CALL_TRANSACTION + 50,
88 NOTIFYVOLUMECONTROLLERVISIBLE = IBinder::FIRST_CALL_TRANSACTION + 51,
89 ISSTREAMAFFECTEDBYRINGERMODE = IBinder::FIRST_CALL_TRANSACTION + 52,
90 ISSTREAMAFFECTEDBYMUTE = IBinder::FIRST_CALL_TRANSACTION + 53,
91 DISABLESAFEMEDIAVOLUME = IBinder::FIRST_CALL_TRANSACTION + 54,
92 SETHDMISYSTEMAUDIOSUPPORTED = IBinder::FIRST_CALL_TRANSACTION + 55,
93 ISHDMISYSTEMAUDIOSUPPORTED = IBinder::FIRST_CALL_TRANSACTION + 56,
94 REGISTERAUDIOPOLICY = IBinder::FIRST_CALL_TRANSACTION + 57,
95 UNREGISTERAUDIOPOLICYASYNC = IBinder::FIRST_CALL_TRANSACTION + 58,
96 SETFOCUSPROPERTIESFORPOLICY = IBinder::FIRST_CALL_TRANSACTION + 59,
97 SETVOLUMEPOLICY = IBinder::FIRST_CALL_TRANSACTION + 60,
98 REGISTERRECORDINGCALLBACK = IBinder::FIRST_CALL_TRANSACTION + 61,
99 UNREGISTERRECORDINGCALLBACK = IBinder::FIRST_CALL_TRANSACTION + 62,
100 GETACTIVERECORDINGCONFIGURATIONS = IBinder::FIRST_CALL_TRANSACTION + 63,
101 REGISTERPLAYBACKCALLBACK = IBinder::FIRST_CALL_TRANSACTION + 64,
102 UNREGISTERPLAYBACKCALLBACK = IBinder::FIRST_CALL_TRANSACTION + 65,
103 GETACTIVEPLAYBACKCONFIGURATIONS = IBinder::FIRST_CALL_TRANSACTION + 66,
104 */
105
106 TRACK_PLAYER = IBinder::FIRST_CALL_TRANSACTION + 67,
107 PLAYER_ATTRIBUTES = IBinder::FIRST_CALL_TRANSACTION + 68,
108 PLAYER_EVENT = IBinder::FIRST_CALL_TRANSACTION + 69,
109 RELEASE_PLAYER = IBinder::FIRST_CALL_TRANSACTION + 70,
110
Robin Lee07249012017-01-24 11:16:54 +0000111 /*
112 DISABLE_RINGTONE_SYNC = IBinder::FIRST_CALL_TRANSACTION + 71,
Pavlin Radoslavovde9689f2018-01-19 17:45:42 -0800113 GET_FOCUS_RAMP_TIME_MS = IBinder::FIRST_CALL_TRANSACTION + 72,
114 DISPATCH_FOCUS_CHANGE = IBinder::FIRST_CALL_TRANSACTION + 73,
115 PLAYER_HAS_OP_PLAY_AUDIO = IBinder::FIRST_CALL_TRANSACTION + 74,
116 SET_BLUETOOTH_A2DP_DEVICE_CONNECTION_STATE_SUPPRESS_NOISY_INTENT
117 = IBinder::FIRST_CALL_TRANSACTION + 75,
Robin Lee07249012017-01-24 11:16:54 +0000118 */
Jean-Michel Trivi0008a482016-12-26 15:58:24 -0800119 };
120
121 DECLARE_META_INTERFACE(AudioManager)
122
123 // The parcels created by these methods must be kept in sync with the
124 // corresponding methods from IAudioService.aidl and objects it imports.
Jean-Michel Trivi63189322017-01-05 18:05:28 -0800125 virtual audio_unique_id_t trackPlayer(player_type_t playerType, audio_usage_t usage,
126 audio_content_type_t content, const sp<IBinder>& player) = 0;
127 /*oneway*/ virtual status_t playerAttributes(audio_unique_id_t piid, audio_usage_t usage,
128 audio_content_type_t content)= 0;
129 /*oneway*/ virtual status_t playerEvent(audio_unique_id_t piid, player_state_t event) = 0;
130 /*oneway*/ virtual status_t releasePlayer(audio_unique_id_t piid) = 0;
Jean-Michel Trivi0008a482016-12-26 15:58:24 -0800131};
132
133// ----------------------------------------------------------------------------
134
135}; // namespace android
136
137#endif // ANDROID_IAUDIOMANAGER_H