diff options
| author | 2021-03-24 01:52:13 -0700 | |
|---|---|---|
| committer | 2021-03-24 15:31:33 -0700 | |
| commit | 3ab94db67aadd1a2c2afb2bed4e840ec902fa1bf (patch) | |
| tree | 5ff2dcd86056bd93a0e1b1db400d52a32f32b729 | |
| parent | f4315edf430f51514ce37c554b3f1bc01951d10f (diff) | |
Refactor Global Mic Disable
This CL changes the setting propagation of the user microphone
privacy setting to imply if CHRE can access the microphone, as
opposed to piping down the raw setting.
Bug: 183416485
Test: Toggle the setting, verify that the setting change notification
is handled as expected, toggle the microphone privacy setting to
verify correct behavior.
Change-Id: I1cbbe6cc6312ed91eba15759836e588b4cd70cad
| -rw-r--r-- | services/core/java/com/android/server/location/contexthub/ContextHubService.java | 2 | ||||
| -rw-r--r-- | services/core/java/com/android/server/location/contexthub/IContextHubWrapper.java | 7 |
2 files changed, 6 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/location/contexthub/ContextHubService.java b/services/core/java/com/android/server/location/contexthub/ContextHubService.java index f173fc7386ba..c3b45892ec5a 100644 --- a/services/core/java/com/android/server/location/contexthub/ContextHubService.java +++ b/services/core/java/com/android/server/location/contexthub/ContextHubService.java @@ -298,7 +298,7 @@ public class ContextHubService extends IContextHubService.Stub { mSensorPrivacyManagerInternal.addSensorPrivacyListenerForAllUsers( SensorPrivacyManager.Sensors.MICROPHONE, (userId, enabled) -> { if (userId == getCurrentUserId()) { - Log.d(TAG, "User: " + userId + " enabled: " + enabled); + Log.d(TAG, "User: " + userId + "mic privacy: " + enabled); sendMicrophoneDisableSettingUpdate(enabled); } }); diff --git a/services/core/java/com/android/server/location/contexthub/IContextHubWrapper.java b/services/core/java/com/android/server/location/contexthub/IContextHubWrapper.java index 3245fdfaebd6..7be47a4e52a8 100644 --- a/services/core/java/com/android/server/location/contexthub/IContextHubWrapper.java +++ b/services/core/java/com/android/server/location/contexthub/IContextHubWrapper.java @@ -324,8 +324,11 @@ public abstract class IContextHubWrapper { } public void onMicrophoneDisableSettingChanged(boolean enabled) { - sendSettingChanged(android.hardware.contexthub.V1_2.Setting.GLOBAL_MIC_DISABLE, - enabled ? SettingValue.ENABLED : SettingValue.DISABLED); + // The SensorPrivacyManager reports if microphone privacy was enabled, + // which translates to microphone access being disabled (and vice-versa). + // With this in mind, we flip the argument before piping it to CHRE. + sendSettingChanged(android.hardware.contexthub.V1_2.Setting.MICROPHONE, + enabled ? SettingValue.DISABLED : SettingValue.ENABLED); } private void sendSettingChanged(byte setting, byte newValue) { |