diff options
| author | 2020-08-20 20:13:45 +0000 | |
|---|---|---|
| committer | 2020-08-20 20:13:45 +0000 | |
| commit | 1c40a034f39f3bac8bd0ef2445cf10262e19570c (patch) | |
| tree | b3d467adef2e9b943c2ba021aff7a68c9eea7ca1 | |
| parent | 8db9b5ada842aca6744b5ff52f2d283bddcdac9e (diff) | |
| parent | 541749bf7e14460b0d21a6416b14d962b2cf63dd (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.java | 8 |
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); } |