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

Commit 6fa5bdd1 authored by Jean-Michel Trivi's avatar Jean-Michel Trivi Committed by Android (Google) Code Review
Browse files

Merge "AudioService: RttEnabled as atomic boolean" into main

parents c3fc404a 9424d953
Loading
Loading
Loading
Loading
+17 −12
Original line number Diff line number Diff line
@@ -1269,8 +1269,7 @@ public class AudioService extends IAudioService.Stub
        }
    };
    @GuardedBy("mSettingsLock")
    private boolean mRttEnabled = false;
    private AtomicBoolean mRttEnabled = new AtomicBoolean(false);
    private AtomicBoolean mMasterMute = new AtomicBoolean(false);
@@ -2091,13 +2090,13 @@ public class AudioService extends IAudioService.Stub
        // Restore setParameters and other queued setters.
        mRestorableParameters.restoreAll();
        synchronized (mSettingsLock) {
        final int forDock = mDockAudioMediaEnabled ?
                AudioSystem.FORCE_DIGITAL_DOCK : AudioSystem.FORCE_NONE;
        mDeviceBroker.setForceUse_Async(AudioSystem.FOR_DOCK, forDock, "onAudioServerDied");
        sendEncodedSurroundMode(mContentResolver, "onAudioServerDied");
        sendEnabledSurroundFormats(mContentResolver, true);
            AudioSystem.setRttEnabled(mRttEnabled);
        AudioSystem.setRttEnabled(mRttEnabled.get());
        synchronized (mSettingsLock) {
            resetAssistantServicesUidsLocked();
        }
@@ -3234,9 +3233,10 @@ public class AudioService extends IAudioService.Stub
            sendEnabledSurroundFormats(cr, true);
            updateAssistantUIdLocked(/* forceUpdate= */ true);
            resetActiveAssistantUidsLocked();
            AudioSystem.setRttEnabled(mRttEnabled);
        }
        AudioSystem.setRttEnabled(mRttEnabled.get());
        mMuteAffectedStreams = mSettings.getSystemIntForUser(cr,
                System.MUTE_STREAMS_AFFECTED, AudioSystem.DEFAULT_MUTE_STREAMS_AFFECTED,
                UserHandle.USER_CURRENT);
@@ -6836,7 +6836,7 @@ public class AudioService extends IAudioService.Stub
        return false;
    }
    /** @see AudioManager#setRttEnabled() */
    /** @see AudioManager#setRttEnabled(boolean)  */
    @Override
    public void setRttEnabled(boolean rttEnabled) {
        if (mContext.checkCallingOrSelfPermission(
@@ -6846,8 +6846,8 @@ public class AudioService extends IAudioService.Stub
                    + Binder.getCallingPid() + ", uid=" + Binder.getCallingUid());
            return;
        }
        synchronized (mSettingsLock) {
            mRttEnabled = rttEnabled;
        synchronized (this) {
            mRttEnabled.set(rttEnabled);
            final long identity = Binder.clearCallingIdentity();
            try {
                AudioSystem.setRttEnabled(rttEnabled);
@@ -6857,6 +6857,11 @@ public class AudioService extends IAudioService.Stub
        }
    }
    @VisibleForTesting(visibility = PACKAGE)
    protected boolean isRttEnabled() {
        return mRttEnabled.get();
    }
    /** @see AudioManager#adjustSuggestedStreamVolumeForUid(int, int, int, String, int, int, int) */
    @Override
    public void adjustSuggestedStreamVolumeForUid(int streamType, int direction, int flags,
+12 −0
Original line number Diff line number Diff line
@@ -259,4 +259,16 @@ public class AudioServiceTest {
                inputGainIndex,
                mAudioService.getInputGainIndex(ada));
    }

    @Test
    public void testRttEnabled() throws Exception {
        Log.i(TAG, "running testRttEnabled");
        Assert.assertNotNull(mAudioService);

        mAudioService.setRttEnabled(true);
        Assert.assertTrue(mAudioService.isRttEnabled());

        mAudioService.setRttEnabled(false);
        Assert.assertFalse(mAudioService.isRttEnabled());
    }
}