Loading core/api/test-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -2084,6 +2084,7 @@ package android.media { method @NonNull public android.media.VolumePolicy getVolumePolicy(); method public boolean hasRegisteredDynamicPolicy(); method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public boolean isCsdEnabled(); method @FlaggedApi("android.media.audio.audio_focus_desktop") public boolean isMultiAudioFocusEnabled(); method @RequiresPermission(android.Manifest.permission.CALL_AUDIO_INTERCEPTION) public boolean isPstnCallAudioInterceptable(); method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public boolean isVolumeControlUsingVolumeGroups(); method public void permissionUpdateBarrier(); Loading media/java/android/media/AudioManager.java +21 −3 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import static android.companion.virtual.VirtualDeviceParams.DEVICE_POLICY_CUSTOM import static android.companion.virtual.VirtualDeviceParams.POLICY_TYPE_AUDIO; import static android.content.Context.DEVICE_ID_DEFAULT; import static android.media.audio.Flags.FLAG_ASSISTANT_VOLUME_CONTROL; import static android.media.audio.Flags.FLAG_AUDIO_FOCUS_DESKTOP; import static android.media.audio.Flags.FLAG_DEPRECATE_STREAM_BT_SCO; import static android.media.audio.Flags.FLAG_FOCUS_EXCLUSIVE_WITH_RECORDING; import static android.media.audio.Flags.FLAG_FOCUS_FREEZE_TEST_API; Loading Loading @@ -9102,9 +9103,11 @@ public class AudioManager { } } /** @hide * TODO: make this a @SystemApi */ /** * @hide * Configures whether multi-audio focus is enabled or not. * @param enabled whether multi-audio focus is enabled or not. */ @RequiresPermission(Manifest.permission.MODIFY_AUDIO_ROUTING) public void setMultiAudioFocusEnabled(boolean enabled) { try { Loading @@ -9114,6 +9117,21 @@ public class AudioManager { } } /** * @hide * Queries whether multi-audio focus is enabled or not. * @return true if multi-audio focus is enabled, false otherwise */ @FlaggedApi(FLAG_AUDIO_FOCUS_DESKTOP) @TestApi public boolean isMultiAudioFocusEnabled() { try { return getService().isMultiAudioFocusEnabled(); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } } /** * Retrieves the Hardware A/V synchronization ID corresponding to the given audio session ID. Loading media/java/android/media/IAudioService.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -538,6 +538,8 @@ interface IAudioService { @EnforcePermission("MODIFY_AUDIO_ROUTING") oneway void setMultiAudioFocusEnabled(in boolean enabled); boolean isMultiAudioFocusEnabled(); int setPreferredDevicesForCapturePreset( in int capturePreset, in List<AudioDeviceAttributes> devices); Loading services/core/java/com/android/server/audio/AudioService.java +12 −0 Original line number Diff line number Diff line Loading @@ -15683,6 +15683,18 @@ public class AudioService extends IAudioService.Stub } } /** * Queries whether multi-audio focus is enabled or not. * @return true if multi-audio focus is enabled, false otherwise * @see AudioManager#isMultiAudioFocusEnabled() */ public boolean isMultiAudioFocusEnabled() { if (mMediaFocusControl != null) { return mMediaFocusControl.getMultiAudioFocusEnabled(); } return false; } /** * @hide * Sets an additional audio output device delay in milliseconds. Loading
core/api/test-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -2084,6 +2084,7 @@ package android.media { method @NonNull public android.media.VolumePolicy getVolumePolicy(); method public boolean hasRegisteredDynamicPolicy(); method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public boolean isCsdEnabled(); method @FlaggedApi("android.media.audio.audio_focus_desktop") public boolean isMultiAudioFocusEnabled(); method @RequiresPermission(android.Manifest.permission.CALL_AUDIO_INTERCEPTION) public boolean isPstnCallAudioInterceptable(); method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public boolean isVolumeControlUsingVolumeGroups(); method public void permissionUpdateBarrier(); Loading
media/java/android/media/AudioManager.java +21 −3 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import static android.companion.virtual.VirtualDeviceParams.DEVICE_POLICY_CUSTOM import static android.companion.virtual.VirtualDeviceParams.POLICY_TYPE_AUDIO; import static android.content.Context.DEVICE_ID_DEFAULT; import static android.media.audio.Flags.FLAG_ASSISTANT_VOLUME_CONTROL; import static android.media.audio.Flags.FLAG_AUDIO_FOCUS_DESKTOP; import static android.media.audio.Flags.FLAG_DEPRECATE_STREAM_BT_SCO; import static android.media.audio.Flags.FLAG_FOCUS_EXCLUSIVE_WITH_RECORDING; import static android.media.audio.Flags.FLAG_FOCUS_FREEZE_TEST_API; Loading Loading @@ -9102,9 +9103,11 @@ public class AudioManager { } } /** @hide * TODO: make this a @SystemApi */ /** * @hide * Configures whether multi-audio focus is enabled or not. * @param enabled whether multi-audio focus is enabled or not. */ @RequiresPermission(Manifest.permission.MODIFY_AUDIO_ROUTING) public void setMultiAudioFocusEnabled(boolean enabled) { try { Loading @@ -9114,6 +9117,21 @@ public class AudioManager { } } /** * @hide * Queries whether multi-audio focus is enabled or not. * @return true if multi-audio focus is enabled, false otherwise */ @FlaggedApi(FLAG_AUDIO_FOCUS_DESKTOP) @TestApi public boolean isMultiAudioFocusEnabled() { try { return getService().isMultiAudioFocusEnabled(); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } } /** * Retrieves the Hardware A/V synchronization ID corresponding to the given audio session ID. Loading
media/java/android/media/IAudioService.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -538,6 +538,8 @@ interface IAudioService { @EnforcePermission("MODIFY_AUDIO_ROUTING") oneway void setMultiAudioFocusEnabled(in boolean enabled); boolean isMultiAudioFocusEnabled(); int setPreferredDevicesForCapturePreset( in int capturePreset, in List<AudioDeviceAttributes> devices); Loading
services/core/java/com/android/server/audio/AudioService.java +12 −0 Original line number Diff line number Diff line Loading @@ -15683,6 +15683,18 @@ public class AudioService extends IAudioService.Stub } } /** * Queries whether multi-audio focus is enabled or not. * @return true if multi-audio focus is enabled, false otherwise * @see AudioManager#isMultiAudioFocusEnabled() */ public boolean isMultiAudioFocusEnabled() { if (mMediaFocusControl != null) { return mMediaFocusControl.getMultiAudioFocusEnabled(); } return false; } /** * @hide * Sets an additional audio output device delay in milliseconds.