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

Commit c903ac37 authored by Abel Tesfaye's avatar Abel Tesfaye
Browse files

Fail early in AttentionManagerService if camera lock is enabled

Test: locally with flame

Bug: 177462182
Change-Id: I6a35f2324523afc5b8c0c87dc93bb31a703935a4
parent 9b28cb67
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ import android.content.ServiceConnection;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.content.pm.ServiceInfo;
import android.hardware.SensorPrivacyManager;
import android.os.Binder;
import android.os.Handler;
import android.os.IBinder;
@@ -115,6 +116,7 @@ public class AttentionManagerService extends SystemService {
    private static String sTestAttentionServicePackage;
    private final Context mContext;
    private final PowerManager mPowerManager;
    private final SensorPrivacyManager mPrivacyManager;
    private final Object mLock;
    @GuardedBy("mLock")
    @VisibleForTesting
@@ -146,6 +148,7 @@ public class AttentionManagerService extends SystemService {
        mPowerManager = powerManager;
        mLock = lock;
        mAttentionHandler = handler;
        mPrivacyManager = SensorPrivacyManager.getInstance(context);
    }

    @Override
@@ -249,6 +252,11 @@ public class AttentionManagerService extends SystemService {
            return false;
        }

        if (mPrivacyManager.isSensorPrivacyEnabled(SensorPrivacyManager.Sensors.CAMERA)) {
            Slog.w(LOG_TAG, "Camera is locked by a toggle.");
            return false;
        }

        // don't allow attention check in screen off state
        if (!mPowerManager.isInteractive()) {
            return false;