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

Commit 2e424133 authored by Evan Severson's avatar Evan Severson
Browse files

Fix setting camera op restriction on reboot

In SensorPrivacyService we set the camera state to what was read on the
microphone's persisted value.

Test: atest SensorPrivacyServiceMockingTest
Fixes: 201793410
Change-Id: If5cbd2b6cd2c8e155b8a56e0692a0379d188ffce
parent a2a8104c
Loading
Loading
Loading
Loading
+7 −6
Original line number Diff line number Diff line
@@ -39,6 +39,7 @@ import static android.hardware.SensorPrivacyManager.Sources.OTHER;
import static android.hardware.SensorPrivacyManager.Sources.QS_TILE;
import static android.hardware.SensorPrivacyManager.Sources.SETTINGS;
import static android.hardware.SensorPrivacyManager.Sources.SHELL;
import static android.os.UserHandle.USER_NULL;
import static android.os.UserHandle.USER_SYSTEM;
import static android.service.SensorPrivacyIndividualEnabledSensorProto.UNKNOWN;

@@ -195,7 +196,7 @@ public final class SensorPrivacyService extends SystemService {
    private EmergencyCallHelper mEmergencyCallHelper;
    private KeyguardManager mKeyguardManager;

    private int mCurrentUser = -1;
    private int mCurrentUser = USER_NULL;

    public SensorPrivacyService(Context context) {
        super(context);
@@ -228,9 +229,9 @@ public final class SensorPrivacyService extends SystemService {

    @Override
    public void onUserStarting(TargetUser user) {
        if (mCurrentUser == -1) {
        if (mCurrentUser == USER_NULL) {
            mCurrentUser = user.getUserIdentifier();
            mSensorPrivacyServiceImpl.userSwitching(-1, user.getUserIdentifier());
            mSensorPrivacyServiceImpl.userSwitching(USER_NULL, user.getUserIdentifier());
        }
    }

@@ -1294,13 +1295,13 @@ public final class SensorPrivacyService extends SystemService {
                micState = isIndividualSensorPrivacyEnabledLocked(to, MICROPHONE);
                camState = isIndividualSensorPrivacyEnabledLocked(to, CAMERA);
            }
            if (prevMicState != micState) {
            if (from == USER_NULL || prevMicState != micState) {
                mHandler.onUserGlobalSensorPrivacyChanged(MICROPHONE, micState);
                setGlobalRestriction(MICROPHONE, micState);
            }
            if (prevCamState != camState) {
            if (from == USER_NULL || prevCamState != camState) {
                mHandler.onUserGlobalSensorPrivacyChanged(CAMERA, camState);
                setGlobalRestriction(CAMERA, micState);
                setGlobalRestriction(CAMERA, camState);
            }
        }

+7 −0
Original line number Diff line number Diff line
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<sensor-privacy persistence-version="1" version="1">
    <user id="0" enabled="false">
        <individual-sensor-privacy sensor="1" enabled="true" />
        <individual-sensor-privacy sensor="2" enabled="true" />
    </user>
</sensor-privacy>
+7 −0
Original line number Diff line number Diff line
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<sensor-privacy persistence-version="1" version="1">
    <user id="0" enabled="false">
        <individual-sensor-privacy sensor="1" enabled="true" />
        <individual-sensor-privacy sensor="2" enabled="false" />
    </user>
</sensor-privacy>
+7 −0
Original line number Diff line number Diff line
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<sensor-privacy persistence-version="1" version="1">
    <user id="0" enabled="false">
        <individual-sensor-privacy sensor="1" enabled="false" />
        <individual-sensor-privacy sensor="2" enabled="true" />
    </user>
</sensor-privacy>
+7 −0
Original line number Diff line number Diff line
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<sensor-privacy persistence-version="1" version="1">
    <user id="0" enabled="false">
        <individual-sensor-privacy sensor="1" enabled="false" />
        <individual-sensor-privacy sensor="2" enabled="false" />
    </user>
</sensor-privacy>
Loading