Loading services/core/java/com/android/server/audio/AudioService.java +17 −12 Original line number Diff line number Diff line Loading @@ -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); Loading Loading @@ -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(); } Loading Loading @@ -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); Loading Loading @@ -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( Loading @@ -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); Loading @@ -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, Loading services/tests/servicestests/src/com/android/server/audio/AudioServiceTest.java +12 −0 Original line number Diff line number Diff line Loading @@ -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()); } } Loading
services/core/java/com/android/server/audio/AudioService.java +17 −12 Original line number Diff line number Diff line Loading @@ -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); Loading Loading @@ -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(); } Loading Loading @@ -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); Loading Loading @@ -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( Loading @@ -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); Loading @@ -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, Loading
services/tests/servicestests/src/com/android/server/audio/AudioServiceTest.java +12 −0 Original line number Diff line number Diff line Loading @@ -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()); } }