summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Philip P. Moltmann <moltmann@google.com> 2020-08-20 20:13:45 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2020-08-20 20:13:45 +0000
commit1c40a034f39f3bac8bd0ef2445cf10262e19570c (patch)
treeb3d467adef2e9b943c2ba021aff7a68c9eea7ca1
parent8db9b5ada842aca6744b5ff52f2d283bddcdac9e (diff)
parent541749bf7e14460b0d21a6416b14d962b2cf63dd (diff)
Special case location provider camera accesses and show them as am: 64c801d344 am: 541749bf7e
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12404752 Change-Id: I79c1e80efbc791527b8270ab820e6de9d06c98e0
-rw-r--r--packages/SystemUI/src/com/android/systemui/appops/AppOpsControllerImpl.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/appops/AppOpsControllerImpl.java b/packages/SystemUI/src/com/android/systemui/appops/AppOpsControllerImpl.java
index 23b0e0596994..d14919da973d 100644
--- a/packages/SystemUI/src/com/android/systemui/appops/AppOpsControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/appops/AppOpsControllerImpl.java
@@ -19,6 +19,7 @@ package com.android.systemui.appops;
import android.app.AppOpsManager;
import android.content.Context;
import android.content.pm.PackageManager;
+import android.location.LocationManager;
import android.media.AudioManager;
import android.media.AudioRecordingConfiguration;
import android.os.Handler;
@@ -66,6 +67,7 @@ public class AppOpsControllerImpl implements AppOpsController,
private final AppOpsManager mAppOps;
private final AudioManager mAudioManager;
+ private final LocationManager mLocationManager;
private H mBGHandler;
private final List<AppOpsController.Callback> mCallbacks = new ArrayList<>();
private final SparseArray<Set<Callback>> mCallbacksByCode = new SparseArray<>();
@@ -107,6 +109,7 @@ public class AppOpsControllerImpl implements AppOpsController,
mCallbacksByCode.put(OPS[i], new ArraySet<>());
}
mAudioManager = audioManager;
+ mLocationManager = context.getSystemService(LocationManager.class);
dumpManager.registerDumpable(TAG, this);
}
@@ -311,6 +314,11 @@ public class AppOpsControllerImpl implements AppOpsController,
return true;
}
+ if (appOpCode == AppOpsManager.OP_CAMERA && mLocationManager.isProviderPackage(
+ packageName)) {
+ return true;
+ }
+
return isUserSensitive(appOpCode, uid, packageName);
}