• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2007 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 package android.media;
18 
19 import android.bluetooth.BluetoothDevice;
20 import android.content.ComponentName;
21 import android.media.AudioAttributes;
22 import android.media.AudioDeviceAttributes;
23 import android.media.AudioFocusInfo;
24 import android.media.AudioPlaybackConfiguration;
25 import android.media.AudioRecordingConfiguration;
26 import android.media.AudioRoutesInfo;
27 import android.media.IAudioFocusDispatcher;
28 import android.media.IAudioModeDispatcher;
29 import android.media.IAudioRoutesObserver;
30 import android.media.IAudioServerStateDispatcher;
31 import android.media.ICapturePresetDevicesRoleDispatcher;
32 import android.media.ICommunicationDeviceDispatcher;
33 import android.media.IPlaybackConfigDispatcher;
34 import android.media.IRecordingConfigDispatcher;
35 import android.media.IRingtonePlayer;
36 import android.media.IStrategyPreferredDevicesDispatcher;
37 import android.media.IVolumeController;
38 import android.media.IVolumeController;
39 import android.media.PlayerBase;
40 import android.media.VolumePolicy;
41 import android.media.audiopolicy.AudioPolicyConfig;
42 import android.media.audiopolicy.AudioProductStrategy;
43 import android.media.audiopolicy.AudioVolumeGroup;
44 import android.media.audiopolicy.IAudioPolicyCallback;
45 import android.media.projection.IMediaProjection;
46 import android.net.Uri;
47 import android.os.UserHandle;
48 import android.view.KeyEvent;
49 
50 /**
51  * {@hide}
52  */
53 interface IAudioService {
54     // C++ and Java methods below.
55 
56     // WARNING: When methods are inserted or deleted in this section, the transaction IDs in
57     // frameworks/native/include/audiomanager/IAudioManager.h must be updated to match the order
58     // in this file.
59     //
60     // When a method's argument list is changed, BpAudioManager's corresponding serialization code
61     // (if any) in frameworks/native/services/audiomanager/IAudioManager.cpp must be updated.
62 
trackPlayer(in PlayerBase.PlayerIdCard pic)63     int trackPlayer(in PlayerBase.PlayerIdCard pic);
64 
playerAttributes(in int piid, in AudioAttributes attr)65     oneway void playerAttributes(in int piid, in AudioAttributes attr);
66 
playerEvent(in int piid, in int event, in int deviceId)67     oneway void playerEvent(in int piid, in int event, in int deviceId);
68 
releasePlayer(in int piid)69     oneway void releasePlayer(in int piid);
70 
trackRecorder(in IBinder recorder)71     int trackRecorder(in IBinder recorder);
72 
recorderEvent(in int riid, in int event)73     oneway void recorderEvent(in int riid, in int event);
74 
releaseRecorder(in int riid)75     oneway void releaseRecorder(in int riid);
76 
playerSessionId(in int piid, in int sessionId)77     oneway void playerSessionId(in int piid, in int sessionId);
78 
79     // Java-only methods below.
80 
adjustSuggestedStreamVolume(int direction, int suggestedStreamType, int flags, String callingPackage, String caller)81     oneway void adjustSuggestedStreamVolume(int direction, int suggestedStreamType, int flags,
82             String callingPackage, String caller);
83 
adjustStreamVolume(int streamType, int direction, int flags, String callingPackage)84     void adjustStreamVolume(int streamType, int direction, int flags, String callingPackage);
85 
86     @UnsupportedAppUsage(maxTargetSdk = 30, trackingBug = 170729553)
setStreamVolume(int streamType, int index, int flags, String callingPackage)87     void setStreamVolume(int streamType, int index, int flags, String callingPackage);
88 
handleVolumeKey(in KeyEvent event, boolean isOnTv, String callingPackage, String caller)89     oneway void handleVolumeKey(in KeyEvent event, boolean isOnTv,
90             String callingPackage, String caller);
91 
isStreamMute(int streamType)92     boolean isStreamMute(int streamType);
93 
forceRemoteSubmixFullVolume(boolean startForcing, IBinder cb)94     void forceRemoteSubmixFullVolume(boolean startForcing, IBinder cb);
95 
isMasterMute()96     boolean isMasterMute();
97 
setMasterMute(boolean mute, int flags, String callingPackage, int userId)98     void setMasterMute(boolean mute, int flags, String callingPackage, int userId);
99 
100     @UnsupportedAppUsage
getStreamVolume(int streamType)101     int getStreamVolume(int streamType);
102 
getStreamMinVolume(int streamType)103     int getStreamMinVolume(int streamType);
104 
105     @UnsupportedAppUsage
getStreamMaxVolume(int streamType)106     int getStreamMaxVolume(int streamType);
107 
getAudioVolumeGroups()108     List<AudioVolumeGroup> getAudioVolumeGroups();
109 
setVolumeIndexForAttributes(in AudioAttributes aa, int index, int flags, String callingPackage)110     void setVolumeIndexForAttributes(in AudioAttributes aa, int index, int flags, String callingPackage);
111 
getVolumeIndexForAttributes(in AudioAttributes aa)112     int getVolumeIndexForAttributes(in AudioAttributes aa);
113 
getMaxVolumeIndexForAttributes(in AudioAttributes aa)114     int getMaxVolumeIndexForAttributes(in AudioAttributes aa);
115 
getMinVolumeIndexForAttributes(in AudioAttributes aa)116     int getMinVolumeIndexForAttributes(in AudioAttributes aa);
117 
getLastAudibleStreamVolume(int streamType)118     int getLastAudibleStreamVolume(int streamType);
119 
setSupportedSystemUsages(in int[] systemUsages)120     void setSupportedSystemUsages(in int[] systemUsages);
121 
getSupportedSystemUsages()122     int[] getSupportedSystemUsages();
123 
getAudioProductStrategies()124     List<AudioProductStrategy> getAudioProductStrategies();
125 
isMicrophoneMuted()126     boolean isMicrophoneMuted();
127 
setMicrophoneMute(boolean on, String callingPackage, int userId)128     void setMicrophoneMute(boolean on, String callingPackage, int userId);
129 
setMicrophoneMuteFromSwitch(boolean on)130     oneway void setMicrophoneMuteFromSwitch(boolean on);
131 
setRingerModeExternal(int ringerMode, String caller)132     void setRingerModeExternal(int ringerMode, String caller);
133 
setRingerModeInternal(int ringerMode, String caller)134     void setRingerModeInternal(int ringerMode, String caller);
135 
getRingerModeExternal()136     int getRingerModeExternal();
137 
getRingerModeInternal()138     int getRingerModeInternal();
139 
isValidRingerMode(int ringerMode)140     boolean isValidRingerMode(int ringerMode);
141 
setVibrateSetting(int vibrateType, int vibrateSetting)142     void setVibrateSetting(int vibrateType, int vibrateSetting);
143 
getVibrateSetting(int vibrateType)144     int getVibrateSetting(int vibrateType);
145 
shouldVibrate(int vibrateType)146     boolean shouldVibrate(int vibrateType);
147 
setMode(int mode, IBinder cb, String callingPackage)148     void setMode(int mode, IBinder cb, String callingPackage);
149 
getMode()150     int getMode();
151 
playSoundEffect(int effectType)152     oneway void playSoundEffect(int effectType);
153 
playSoundEffectVolume(int effectType, float volume)154     oneway void playSoundEffectVolume(int effectType, float volume);
155 
loadSoundEffects()156     boolean loadSoundEffects();
157 
unloadSoundEffects()158     oneway void unloadSoundEffects();
159 
reloadAudioSettings()160     oneway void reloadAudioSettings();
161 
getSurroundFormats()162     Map getSurroundFormats();
163 
getReportedSurroundFormats()164     List getReportedSurroundFormats();
165 
setSurroundFormatEnabled(int audioFormat, boolean enabled)166     boolean setSurroundFormatEnabled(int audioFormat, boolean enabled);
167 
isSurroundFormatEnabled(int audioFormat)168     boolean isSurroundFormatEnabled(int audioFormat);
169 
setEncodedSurroundMode(int mode)170     boolean setEncodedSurroundMode(int mode);
171 
getEncodedSurroundMode(int targetSdkVersion)172     int getEncodedSurroundMode(int targetSdkVersion);
173 
avrcpSupportsAbsoluteVolume(String address, boolean support)174     oneway void avrcpSupportsAbsoluteVolume(String address, boolean support);
175 
setSpeakerphoneOn(IBinder cb, boolean on)176     void setSpeakerphoneOn(IBinder cb, boolean on);
177 
isSpeakerphoneOn()178     boolean isSpeakerphoneOn();
179 
setBluetoothScoOn(boolean on)180     void setBluetoothScoOn(boolean on);
181 
isBluetoothScoOn()182     boolean isBluetoothScoOn();
183 
setBluetoothA2dpOn(boolean on)184     void setBluetoothA2dpOn(boolean on);
185 
isBluetoothA2dpOn()186     boolean isBluetoothA2dpOn();
187 
requestAudioFocus(in AudioAttributes aa, int durationHint, IBinder cb, IAudioFocusDispatcher fd, String clientId, String callingPackageName, int flags, IAudioPolicyCallback pcb, int sdk)188     int requestAudioFocus(in AudioAttributes aa, int durationHint, IBinder cb,
189             IAudioFocusDispatcher fd, String clientId, String callingPackageName, int flags,
190             IAudioPolicyCallback pcb, int sdk);
191 
abandonAudioFocus(IAudioFocusDispatcher fd, String clientId, in AudioAttributes aa, in String callingPackageName)192     int abandonAudioFocus(IAudioFocusDispatcher fd, String clientId, in AudioAttributes aa,
193             in String callingPackageName);
194 
unregisterAudioFocusClient(String clientId)195     void unregisterAudioFocusClient(String clientId);
196 
getCurrentAudioFocus()197     int getCurrentAudioFocus();
198 
startBluetoothSco(IBinder cb, int targetSdkVersion)199     void startBluetoothSco(IBinder cb, int targetSdkVersion);
startBluetoothScoVirtualCall(IBinder cb)200     void startBluetoothScoVirtualCall(IBinder cb);
stopBluetoothSco(IBinder cb)201     void stopBluetoothSco(IBinder cb);
202 
forceVolumeControlStream(int streamType, IBinder cb)203     void forceVolumeControlStream(int streamType, IBinder cb);
204 
setRingtonePlayer(IRingtonePlayer player)205     void setRingtonePlayer(IRingtonePlayer player);
getRingtonePlayer()206     IRingtonePlayer getRingtonePlayer();
getUiSoundsStreamType()207     int getUiSoundsStreamType();
208 
setWiredDeviceConnectionState(int type, int state, String address, String name, String caller)209     void setWiredDeviceConnectionState(int type, int state, String address, String name,
210             String caller);
211 
handleBluetoothA2dpDeviceConfigChange(in BluetoothDevice device)212     void handleBluetoothA2dpDeviceConfigChange(in BluetoothDevice device);
213 
214     @UnsupportedAppUsage
startWatchingRoutes(in IAudioRoutesObserver observer)215     AudioRoutesInfo startWatchingRoutes(in IAudioRoutesObserver observer);
216 
isCameraSoundForced()217     boolean isCameraSoundForced();
218 
setVolumeController(in IVolumeController controller)219     void setVolumeController(in IVolumeController controller);
220 
notifyVolumeControllerVisible(in IVolumeController controller, boolean visible)221     void notifyVolumeControllerVisible(in IVolumeController controller, boolean visible);
222 
isStreamAffectedByRingerMode(int streamType)223     boolean isStreamAffectedByRingerMode(int streamType);
224 
isStreamAffectedByMute(int streamType)225     boolean isStreamAffectedByMute(int streamType);
226 
disableSafeMediaVolume(String callingPackage)227     void disableSafeMediaVolume(String callingPackage);
228 
setHdmiSystemAudioSupported(boolean on)229     int setHdmiSystemAudioSupported(boolean on);
230 
isHdmiSystemAudioSupported()231     boolean isHdmiSystemAudioSupported();
232 
registerAudioPolicy(in AudioPolicyConfig policyConfig, in IAudioPolicyCallback pcb, boolean hasFocusListener, boolean isFocusPolicy, boolean isTestFocusPolicy, boolean isVolumeController, in IMediaProjection projection)233     String registerAudioPolicy(in AudioPolicyConfig policyConfig,
234             in IAudioPolicyCallback pcb, boolean hasFocusListener, boolean isFocusPolicy,
235             boolean isTestFocusPolicy,
236             boolean isVolumeController, in IMediaProjection projection);
237 
unregisterAudioPolicyAsync(in IAudioPolicyCallback pcb)238     oneway void unregisterAudioPolicyAsync(in IAudioPolicyCallback pcb);
239 
unregisterAudioPolicy(in IAudioPolicyCallback pcb)240     void unregisterAudioPolicy(in IAudioPolicyCallback pcb);
241 
addMixForPolicy(in AudioPolicyConfig policyConfig, in IAudioPolicyCallback pcb)242     int addMixForPolicy(in AudioPolicyConfig policyConfig, in IAudioPolicyCallback pcb);
243 
removeMixForPolicy(in AudioPolicyConfig policyConfig, in IAudioPolicyCallback pcb)244     int removeMixForPolicy(in AudioPolicyConfig policyConfig, in IAudioPolicyCallback pcb);
245 
setFocusPropertiesForPolicy(int duckingBehavior, in IAudioPolicyCallback pcb)246     int setFocusPropertiesForPolicy(int duckingBehavior, in IAudioPolicyCallback pcb);
247 
setVolumePolicy(in VolumePolicy policy)248     void setVolumePolicy(in VolumePolicy policy);
249 
hasRegisteredDynamicPolicy()250     boolean hasRegisteredDynamicPolicy();
251 
registerRecordingCallback(in IRecordingConfigDispatcher rcdb)252     void registerRecordingCallback(in IRecordingConfigDispatcher rcdb);
253 
unregisterRecordingCallback(in IRecordingConfigDispatcher rcdb)254     oneway void unregisterRecordingCallback(in IRecordingConfigDispatcher rcdb);
255 
getActiveRecordingConfigurations()256     List<AudioRecordingConfiguration> getActiveRecordingConfigurations();
257 
registerPlaybackCallback(in IPlaybackConfigDispatcher pcdb)258     void registerPlaybackCallback(in IPlaybackConfigDispatcher pcdb);
259 
unregisterPlaybackCallback(in IPlaybackConfigDispatcher pcdb)260     oneway void unregisterPlaybackCallback(in IPlaybackConfigDispatcher pcdb);
261 
getActivePlaybackConfigurations()262     List<AudioPlaybackConfiguration> getActivePlaybackConfigurations();
263 
disableRingtoneSync(in int userId)264     void disableRingtoneSync(in int userId);
265 
getFocusRampTimeMs(in int focusGain, in AudioAttributes attr)266     int getFocusRampTimeMs(in int focusGain, in AudioAttributes attr);
267 
dispatchFocusChange(in AudioFocusInfo afi, in int focusChange, in IAudioPolicyCallback pcb)268     int dispatchFocusChange(in AudioFocusInfo afi, in int focusChange,
269             in IAudioPolicyCallback pcb);
270 
playerHasOpPlayAudio(in int piid, in boolean hasOpPlayAudio)271     oneway void playerHasOpPlayAudio(in int piid, in boolean hasOpPlayAudio);
272 
setBluetoothHearingAidDeviceConnectionState(in BluetoothDevice device, int state, boolean suppressNoisyIntent, int musicDevice)273     void setBluetoothHearingAidDeviceConnectionState(in BluetoothDevice device,
274             int state, boolean suppressNoisyIntent, int musicDevice);
275 
setBluetoothA2dpDeviceConnectionStateSuppressNoisyIntent(in BluetoothDevice device, int state, int profile, boolean suppressNoisyIntent, int a2dpVolume)276     void setBluetoothA2dpDeviceConnectionStateSuppressNoisyIntent(in BluetoothDevice device,
277             int state, int profile, boolean suppressNoisyIntent, int a2dpVolume);
278 
setFocusRequestResultFromExtPolicy(in AudioFocusInfo afi, int requestResult, in IAudioPolicyCallback pcb)279     oneway void setFocusRequestResultFromExtPolicy(in AudioFocusInfo afi, int requestResult,
280             in IAudioPolicyCallback pcb);
281 
registerAudioServerStateDispatcher(IAudioServerStateDispatcher asd)282     void registerAudioServerStateDispatcher(IAudioServerStateDispatcher asd);
283 
unregisterAudioServerStateDispatcher(IAudioServerStateDispatcher asd)284     oneway void unregisterAudioServerStateDispatcher(IAudioServerStateDispatcher asd);
285 
isAudioServerRunning()286     boolean isAudioServerRunning();
287 
setUidDeviceAffinity(in IAudioPolicyCallback pcb, in int uid, in int[] deviceTypes, in String[] deviceAddresses)288     int setUidDeviceAffinity(in IAudioPolicyCallback pcb, in int uid, in int[] deviceTypes,
289              in String[] deviceAddresses);
290 
removeUidDeviceAffinity(in IAudioPolicyCallback pcb, in int uid)291     int removeUidDeviceAffinity(in IAudioPolicyCallback pcb, in int uid);
292 
setUserIdDeviceAffinity(in IAudioPolicyCallback pcb, in int userId, in int[] deviceTypes, in String[] deviceAddresses)293     int setUserIdDeviceAffinity(in IAudioPolicyCallback pcb, in int userId, in int[] deviceTypes,
294              in String[] deviceAddresses);
removeUserIdDeviceAffinity(in IAudioPolicyCallback pcb, in int userId)295     int removeUserIdDeviceAffinity(in IAudioPolicyCallback pcb, in int userId);
296 
hasHapticChannels(in Uri uri)297     boolean hasHapticChannels(in Uri uri);
298 
isCallScreeningModeSupported()299     boolean isCallScreeningModeSupported();
300 
setPreferredDevicesForStrategy(in int strategy, in List<AudioDeviceAttributes> device)301     int setPreferredDevicesForStrategy(in int strategy, in List<AudioDeviceAttributes> device);
302 
removePreferredDevicesForStrategy(in int strategy)303     int removePreferredDevicesForStrategy(in int strategy);
304 
getPreferredDevicesForStrategy(in int strategy)305     List<AudioDeviceAttributes> getPreferredDevicesForStrategy(in int strategy);
306 
getDevicesForAttributes(in AudioAttributes attributes)307     List<AudioDeviceAttributes> getDevicesForAttributes(in AudioAttributes attributes);
308 
setAllowedCapturePolicy(in int capturePolicy)309     int setAllowedCapturePolicy(in int capturePolicy);
310 
getAllowedCapturePolicy()311     int getAllowedCapturePolicy();
312 
registerStrategyPreferredDevicesDispatcher(IStrategyPreferredDevicesDispatcher dispatcher)313     void registerStrategyPreferredDevicesDispatcher(IStrategyPreferredDevicesDispatcher dispatcher);
314 
unregisterStrategyPreferredDevicesDispatcher( IStrategyPreferredDevicesDispatcher dispatcher)315     oneway void unregisterStrategyPreferredDevicesDispatcher(
316             IStrategyPreferredDevicesDispatcher dispatcher);
317 
setRttEnabled(in boolean rttEnabled)318     oneway void setRttEnabled(in boolean rttEnabled);
319 
setDeviceVolumeBehavior(in AudioDeviceAttributes device, in int deviceVolumeBehavior, in String pkgName)320     void setDeviceVolumeBehavior(in AudioDeviceAttributes device,
321              in int deviceVolumeBehavior, in String pkgName);
322 
getDeviceVolumeBehavior(in AudioDeviceAttributes device)323     int getDeviceVolumeBehavior(in AudioDeviceAttributes device);
324 
325     // WARNING: read warning at top of file, new methods that need to be used by native
326     // code via IAudioManager.h need to be added to the top section.
327 
setMultiAudioFocusEnabled(in boolean enabled)328     oneway void setMultiAudioFocusEnabled(in boolean enabled);
329 
setPreferredDevicesForCapturePreset( in int capturePreset, in List<AudioDeviceAttributes> devices)330     int setPreferredDevicesForCapturePreset(
331             in int capturePreset, in List<AudioDeviceAttributes> devices);
332 
clearPreferredDevicesForCapturePreset(in int capturePreset)333     int clearPreferredDevicesForCapturePreset(in int capturePreset);
334 
getPreferredDevicesForCapturePreset(in int capturePreset)335     List<AudioDeviceAttributes> getPreferredDevicesForCapturePreset(in int capturePreset);
336 
registerCapturePresetDevicesRoleDispatcher(ICapturePresetDevicesRoleDispatcher dispatcher)337     void registerCapturePresetDevicesRoleDispatcher(ICapturePresetDevicesRoleDispatcher dispatcher);
338 
unregisterCapturePresetDevicesRoleDispatcher( ICapturePresetDevicesRoleDispatcher dispatcher)339     oneway void unregisterCapturePresetDevicesRoleDispatcher(
340             ICapturePresetDevicesRoleDispatcher dispatcher);
341 
adjustStreamVolumeForUid(int streamType, int direction, int flags, in String packageName, int uid, int pid, in UserHandle userHandle, int targetSdkVersion)342     oneway void adjustStreamVolumeForUid(int streamType, int direction, int flags,
343             in String packageName, int uid, int pid, in UserHandle userHandle,
344             int targetSdkVersion);
345 
adjustSuggestedStreamVolumeForUid(int streamType, int direction, int flags, in String packageName, int uid, int pid, in UserHandle userHandle, int targetSdkVersion)346     oneway void adjustSuggestedStreamVolumeForUid(int streamType, int direction, int flags,
347             in String packageName, int uid, int pid, in UserHandle userHandle,
348             int targetSdkVersion);
349 
setStreamVolumeForUid(int streamType, int direction, int flags, in String packageName, int uid, int pid, in UserHandle userHandle, int targetSdkVersion)350     oneway void setStreamVolumeForUid(int streamType, int direction, int flags,
351             in String packageName, int uid, int pid, in UserHandle userHandle,
352             int targetSdkVersion);
353 
isMusicActive(in boolean remotely)354     boolean isMusicActive(in boolean remotely);
355 
getDevicesForStream(in int streamType)356     int getDevicesForStream(in int streamType);
357 
getAvailableCommunicationDeviceIds()358     int[] getAvailableCommunicationDeviceIds();
359 
setCommunicationDevice(IBinder cb, int portId)360     boolean setCommunicationDevice(IBinder cb, int portId);
361 
getCommunicationDevice()362     int getCommunicationDevice();
363 
registerCommunicationDeviceDispatcher(ICommunicationDeviceDispatcher dispatcher)364     void registerCommunicationDeviceDispatcher(ICommunicationDeviceDispatcher dispatcher);
365 
unregisterCommunicationDeviceDispatcher( ICommunicationDeviceDispatcher dispatcher)366     oneway void unregisterCommunicationDeviceDispatcher(
367             ICommunicationDeviceDispatcher dispatcher);
368 
areNavigationRepeatSoundEffectsEnabled()369     boolean areNavigationRepeatSoundEffectsEnabled();
370 
setNavigationRepeatSoundEffectsEnabled(boolean enabled)371     oneway void setNavigationRepeatSoundEffectsEnabled(boolean enabled);
372 
isHomeSoundEffectEnabled()373     boolean isHomeSoundEffectEnabled();
374 
setHomeSoundEffectEnabled(boolean enabled)375     oneway void setHomeSoundEffectEnabled(boolean enabled);
376 
setAdditionalOutputDeviceDelay(in AudioDeviceAttributes device, long delayMillis)377     boolean setAdditionalOutputDeviceDelay(in AudioDeviceAttributes device, long delayMillis);
378 
getAdditionalOutputDeviceDelay(in AudioDeviceAttributes device)379     long getAdditionalOutputDeviceDelay(in AudioDeviceAttributes device);
380 
getMaxAdditionalOutputDeviceDelay(in AudioDeviceAttributes device)381     long getMaxAdditionalOutputDeviceDelay(in AudioDeviceAttributes device);
382 
requestAudioFocusForTest(in AudioAttributes aa, int durationHint, IBinder cb, in IAudioFocusDispatcher fd, in String clientId, in String callingPackageName, int uid, int sdk)383     int requestAudioFocusForTest(in AudioAttributes aa, int durationHint, IBinder cb,
384             in IAudioFocusDispatcher fd, in String clientId, in String callingPackageName,
385             int uid, int sdk);
386 
abandonAudioFocusForTest(in IAudioFocusDispatcher fd, in String clientId, in AudioAttributes aa, in String callingPackageName)387     int abandonAudioFocusForTest(in IAudioFocusDispatcher fd, in String clientId,
388             in AudioAttributes aa, in String callingPackageName);
389 
getFadeOutDurationOnFocusLossMillis(in AudioAttributes aa)390     long getFadeOutDurationOnFocusLossMillis(in AudioAttributes aa);
391 
registerModeDispatcher(IAudioModeDispatcher dispatcher)392     void registerModeDispatcher(IAudioModeDispatcher dispatcher);
393 
unregisterModeDispatcher(IAudioModeDispatcher dispatcher)394     oneway void unregisterModeDispatcher(IAudioModeDispatcher dispatcher);
395 }
396