blob: f5ea259cce44b17fdc996d1c355b80c878516755 [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
111 };
112
113 DECLARE_META_INTERFACE(AudioManager)
114
115 // The parcels created by these methods must be kept in sync with the
116 // corresponding methods from IAudioService.aidl and objects it imports.
117 virtual audio_unique_id_t trackPlayer(int playerType, int usage, int content) = 0;
118 /*oneway*/ virtual status_t playerAttributes(audio_unique_id_t piid, int usage, int content)= 0;
119 /*oneway*/ virtual status_t playerEvent(int piid, int event) = 0;
120 /*oneway*/ virtual status_t releasePlayer(int piid) = 0;
121};
122
123// ----------------------------------------------------------------------------
124
125}; // namespace android
126
127#endif // ANDROID_IAUDIOMANAGER_H