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

Commit 541749bf authored by Philip P. Moltmann's avatar Philip P. Moltmann Committed by Automerger Merge Worker
Browse files

Special case location provider camera accesses and show them as am: 64c801d3

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12404752

Change-Id: Icb339fc1f78897a8283dd8c864899e627c848fea
parents 984f90a3 64c801d3
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -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 ArrayMap<Integer, Set<Callback>> mCallbacksByCode = new ArrayMap<>();
@@ -106,6 +108,7 @@ public class AppOpsControllerImpl implements AppOpsController,
            mCallbacksByCode.put(OPS[i], new ArraySet<>());
        }
        mAudioManager = audioManager;
        mLocationManager = context.getSystemService(LocationManager.class);
        dumpManager.registerDumpable(TAG, this);
    }

@@ -310,6 +313,11 @@ public class AppOpsControllerImpl implements AppOpsController,
            return true;
        }

        if (appOpCode == AppOpsManager.OP_CAMERA && mLocationManager.isProviderPackage(
                packageName)) {
            return true;
        }

        return isUserSensitive(appOpCode, uid, packageName);
    }