Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 68557edf authored by Phil Yan's avatar Phil Yan Committed by Phil Yan
Browse files

Add build config symbol for multi audio focus

Define a new symbol for multi audio focus and default the value to
false. In MediaFocusControl, when
Settings.System.MULTI_AUDIO_FOCUS_ENABLED is not set, default to the
build default value.

Bug: 404907583
Bug: 416963897
Test: atest AudioFocusTest
Flag: android.media.audio.audio_focus_desktop
Change-Id: Ic5436ef6623042723531977e74606f89f609d686
parent ce59d0ef
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -2392,6 +2392,9 @@
    <!-- Flag indicating if ringer mode affects alarm stream -->
    <bool name="config_audio_ringer_mode_affects_alarm_stream">false</bool>

    <!-- The default value for whether multi audio focus is enabled -->
    <bool name="config_multi_audio_focus_enabled_default">false</bool>

    <!-- The default value for whether head tracking for
         spatial audio is enabled for a newly connected audio device -->
    <bool name="config_spatial_audio_head_tracking_enabled_default">false</bool>
+1 −0
Original line number Diff line number Diff line
@@ -291,6 +291,7 @@
  <java-symbol type="integer" name="config_audio_ring_vol_steps" />
  <java-symbol type="integer" name="config_audio_alarm_min_vol" />
  <java-symbol type="bool" name="config_audio_ringer_mode_affects_alarm_stream" />
  <java-symbol type="bool" name="config_multi_audio_focus_enabled_default" />
  <java-symbol type="bool" name="config_spatial_audio_head_tracking_enabled_default" />
  <java-symbol type="bool" name="config_avoidGfxAccel" />
  <java-symbol type="bool" name="config_bluetooth_address_validation" />
+10 −1
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.server.audio;

import static android.media.audiopolicy.Flags.enableFadeManagerConfiguration;
import static android.media.audio.Flags.audioFocusDesktop;

import android.annotation.NonNull;
import android.annotation.Nullable;
@@ -110,8 +111,16 @@ public class MediaFocusControl implements PlayerFocusEnforcer {
        mAppOps = (AppOpsManager)mContext.getSystemService(Context.APP_OPS_SERVICE);
        mFocusEnforcer = pfe;
        final ContentResolver cr = mContext.getContentResolver();

        boolean multiAudioFocusEnabledDefault =
                audioFocusDesktop()
                        && mContext.getResources()
                                .getBoolean(
                                        com.android.internal.R.bool
                                                .config_multi_audio_focus_enabled_default);
        mMultiAudioFocusEnabled = Settings.System.getIntForUser(cr,
                Settings.System.MULTI_AUDIO_FOCUS_ENABLED, 0, cr.getUserId()) != 0;
                Settings.System.MULTI_AUDIO_FOCUS_ENABLED,
                multiAudioFocusEnabledDefault ? 1 : 0, cr.getUserId()) != 0;
        initFocusThreading();
    }