summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/attention/AttentionManagerService.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/attention/AttentionManagerService.java b/services/core/java/com/android/server/attention/AttentionManagerService.java
index 68cfc23699ce..f566080b3fca 100644
--- a/services/core/java/com/android/server/attention/AttentionManagerService.java
+++ b/services/core/java/com/android/server/attention/AttentionManagerService.java
@@ -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;