Merge "AudioManager: flag focus test APIs" into main
diff --git a/core/api/test-current.txt b/core/api/test-current.txt
index 6cda015..3c6e3e6 100644
--- a/core/api/test-current.txt
+++ b/core/api/test-current.txt
@@ -1794,8 +1794,8 @@
public class AudioManager {
method @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public int abandonAudioFocusForTest(@NonNull android.media.AudioFocusRequest, @NonNull String);
- method @RequiresPermission("Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED") public boolean enterAudioFocusFreezeForTest(@NonNull java.util.List<java.lang.Integer>);
- method @RequiresPermission("Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED") public boolean exitAudioFocusFreezeForTest();
+ method @FlaggedApi("com.android.media.audio.flags.focus_freeze_test_api") @RequiresPermission("Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED") public boolean enterAudioFocusFreezeForTest(@NonNull java.util.List<java.lang.Integer>);
+ method @FlaggedApi("com.android.media.audio.flags.focus_freeze_test_api") @RequiresPermission("Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED") public boolean exitAudioFocusFreezeForTest();
method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public void forceComputeCsdOnAllDevices(boolean);
method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public void forceUseFrameworkMel(boolean);
method @NonNull @RequiresPermission(android.Manifest.permission.CALL_AUDIO_INTERCEPTION) public android.media.AudioRecord getCallDownlinkExtractionAudioRecord(@NonNull android.media.AudioFormat);
@@ -1803,9 +1803,9 @@
method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public float getCsd();
method @Nullable public static android.media.AudioDeviceInfo getDeviceInfoFromType(int);
method @IntRange(from=0) @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public long getFadeOutDurationOnFocusLossMillis(@NonNull android.media.AudioAttributes);
- method @NonNull @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public java.util.List<java.lang.Integer> getFocusDuckedUidsForTest();
- method @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public long getFocusFadeOutDurationForTest();
- method @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public long getFocusUnmuteDelayAfterFadeOutForTest();
+ method @FlaggedApi("com.android.media.audio.flags.focus_freeze_test_api") @NonNull @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public java.util.List<java.lang.Integer> getFocusDuckedUidsForTest();
+ method @FlaggedApi("com.android.media.audio.flags.focus_freeze_test_api") @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public long getFocusFadeOutDurationForTest();
+ method @FlaggedApi("com.android.media.audio.flags.focus_freeze_test_api") @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public long getFocusUnmuteDelayAfterFadeOutForTest();
method @Nullable public static android.media.AudioHalVersionInfo getHalVersion();
method public static final int[] getPublicStreamTypes();
method @NonNull public java.util.List<java.lang.Integer> getReportedSurroundFormats();
diff --git a/media/java/android/media/AudioManager.java b/media/java/android/media/AudioManager.java
index 9ad5c3e..eea6357 100644
--- a/media/java/android/media/AudioManager.java
+++ b/media/java/android/media/AudioManager.java
@@ -21,9 +21,11 @@
import static android.content.Context.DEVICE_ID_DEFAULT;
import static com.android.media.audio.flags.Flags.autoPublicVolumeApiHardening;
+import static com.android.media.audio.flags.Flags.FLAG_FOCUS_FREEZE_TEST_API;
import android.Manifest;
import android.annotation.CallbackExecutor;
+import android.annotation.FlaggedApi;
import android.annotation.IntDef;
import android.annotation.IntRange;
import android.annotation.NonNull;
@@ -4751,6 +4753,7 @@
* @return the list of UIDs, can be empty when no app is being ducked.
*/
@TestApi
+ @FlaggedApi(FLAG_FOCUS_FREEZE_TEST_API)
@RequiresPermission("android.permission.QUERY_AUDIO_STATE")
public @NonNull List<Integer> getFocusDuckedUidsForTest() {
try {
@@ -4766,6 +4769,7 @@
* @return the fade out duration in ms
*/
@TestApi
+ @FlaggedApi(FLAG_FOCUS_FREEZE_TEST_API)
@RequiresPermission("android.permission.QUERY_AUDIO_STATE")
public long getFocusFadeOutDurationForTest() {
try {
@@ -4782,6 +4786,7 @@
* @return the time gap after a fade-out completion on focus loss, and fade-in start in ms.
*/
@TestApi
+ @FlaggedApi(FLAG_FOCUS_FREEZE_TEST_API)
@RequiresPermission("android.permission.QUERY_AUDIO_STATE")
public long getFocusUnmuteDelayAfterFadeOutForTest() {
try {
@@ -4808,6 +4813,7 @@
* in a proper state with a predictable behavior for audio focus management.
*/
@TestApi
+ @FlaggedApi(FLAG_FOCUS_FREEZE_TEST_API)
@RequiresPermission("Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED")
public boolean enterAudioFocusFreezeForTest(@NonNull List<Integer> exemptedUids) {
Objects.requireNonNull(exemptedUids);
@@ -4826,6 +4832,7 @@
* such as the freeze already having ended, or not started.
*/
@TestApi
+ @FlaggedApi(FLAG_FOCUS_FREEZE_TEST_API)
@RequiresPermission("Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED")
public boolean exitAudioFocusFreezeForTest() {
try {