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
This commit is contained in:
karthik bharadwaj
2021-03-24 01:52:13 -07:00
parent f4315edf43
commit 3ab94db67a
2 changed files with 6 additions and 3 deletions

View File

@@ -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);
}
});

View File

@@ -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) {