Special case location provider camera accesses and show them as
indicators Bug: 162547999 Test: Made location provider access camera and saw privacy chip Change-Id: I5960fdff38b38a0bd8f4d9c9826639cc89a94603
This commit is contained in:
@@ -19,6 +19,7 @@ package com.android.systemui.appops;
|
|||||||
import android.app.AppOpsManager;
|
import android.app.AppOpsManager;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
|
import android.location.LocationManager;
|
||||||
import android.media.AudioManager;
|
import android.media.AudioManager;
|
||||||
import android.media.AudioRecordingConfiguration;
|
import android.media.AudioRecordingConfiguration;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
@@ -66,6 +67,7 @@ public class AppOpsControllerImpl implements AppOpsController,
|
|||||||
|
|
||||||
private final AppOpsManager mAppOps;
|
private final AppOpsManager mAppOps;
|
||||||
private final AudioManager mAudioManager;
|
private final AudioManager mAudioManager;
|
||||||
|
private final LocationManager mLocationManager;
|
||||||
private H mBGHandler;
|
private H mBGHandler;
|
||||||
private final List<AppOpsController.Callback> mCallbacks = new ArrayList<>();
|
private final List<AppOpsController.Callback> mCallbacks = new ArrayList<>();
|
||||||
private final ArrayMap<Integer, Set<Callback>> mCallbacksByCode = new ArrayMap<>();
|
private final ArrayMap<Integer, Set<Callback>> mCallbacksByCode = new ArrayMap<>();
|
||||||
@@ -106,6 +108,7 @@ public class AppOpsControllerImpl implements AppOpsController,
|
|||||||
mCallbacksByCode.put(OPS[i], new ArraySet<>());
|
mCallbacksByCode.put(OPS[i], new ArraySet<>());
|
||||||
}
|
}
|
||||||
mAudioManager = audioManager;
|
mAudioManager = audioManager;
|
||||||
|
mLocationManager = context.getSystemService(LocationManager.class);
|
||||||
dumpManager.registerDumpable(TAG, this);
|
dumpManager.registerDumpable(TAG, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -310,6 +313,11 @@ public class AppOpsControllerImpl implements AppOpsController,
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (appOpCode == AppOpsManager.OP_CAMERA && mLocationManager.isProviderPackage(
|
||||||
|
packageName)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
return isUserSensitive(appOpCode, uid, packageName);
|
return isUserSensitive(appOpCode, uid, packageName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user