summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author karthik bharadwaj <karthikmb@google.com> 2021-03-24 01:52:13 -0700
committer karthik bharadwaj <karthikmb@google.com> 2021-03-24 15:31:33 -0700
commit3ab94db67aadd1a2c2afb2bed4e840ec902fa1bf (patch)
tree5ff2dcd86056bd93a0e1b1db400d52a32f32b729
parentf4315edf430f51514ce37c554b3f1bc01951d10f (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.java2
-rw-r--r--services/core/java/com/android/server/location/contexthub/IContextHubWrapper.java7
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) {