Merge "Skip permission check for system ui." into tm-dev am: 94cfda78af am: 74d3528e34
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17513858 Change-Id: I78f4b3e05d8dc06a7ebf04c4cd051a7d79c83d0d Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -29,6 +29,7 @@ import static android.app.AppOpsManager.OP_RECORD_AUDIO;
|
||||
import static android.content.Intent.EXTRA_PACKAGE_NAME;
|
||||
import static android.content.Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS;
|
||||
import static android.content.Intent.FLAG_ACTIVITY_NO_USER_ACTION;
|
||||
import static android.content.pm.PackageManager.MATCH_SYSTEM_ONLY;
|
||||
import static android.content.pm.PackageManager.PERMISSION_GRANTED;
|
||||
import static android.hardware.SensorPrivacyManager.EXTRA_ALL_SENSORS;
|
||||
import static android.hardware.SensorPrivacyManager.EXTRA_SENSOR;
|
||||
@@ -77,6 +78,7 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.PackageManagerInternal;
|
||||
import android.content.res.Configuration;
|
||||
import android.graphics.drawable.Icon;
|
||||
import android.hardware.ISensorPrivacyListener;
|
||||
@@ -155,6 +157,7 @@ public final class SensorPrivacyService extends SystemService {
|
||||
private final AppOpsManager mAppOpsManager;
|
||||
private final AppOpsManagerInternal mAppOpsManagerInternal;
|
||||
private final TelephonyManager mTelephonyManager;
|
||||
private final PackageManagerInternal mPackageManagerInternal;
|
||||
|
||||
private CameraPrivacyLightController mCameraPrivacyLightController;
|
||||
|
||||
@@ -178,6 +181,7 @@ public final class SensorPrivacyService extends SystemService {
|
||||
mActivityManagerInternal = getLocalService(ActivityManagerInternal.class);
|
||||
mActivityTaskManager = context.getSystemService(ActivityTaskManager.class);
|
||||
mTelephonyManager = context.getSystemService(TelephonyManager.class);
|
||||
mPackageManagerInternal = getLocalService(PackageManagerInternal.class);
|
||||
mSensorPrivacyServiceImpl = new SensorPrivacyServiceImpl();
|
||||
}
|
||||
|
||||
@@ -828,6 +832,12 @@ public final class SensorPrivacyService extends SystemService {
|
||||
* sensor privacy.
|
||||
*/
|
||||
private void enforceObserveSensorPrivacyPermission() {
|
||||
String systemUIPackage = mContext.getString(R.string.config_systemUi);
|
||||
if (Binder.getCallingUid() == mPackageManagerInternal
|
||||
.getPackageUid(systemUIPackage, MATCH_SYSTEM_ONLY, UserHandle.USER_SYSTEM)) {
|
||||
// b/221782106, possible race condition with role grant might bootloop device.
|
||||
return;
|
||||
}
|
||||
enforcePermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY,
|
||||
"Observing sensor privacy changes requires the following permission: "
|
||||
+ android.Manifest.permission.OBSERVE_SENSOR_PRIVACY);
|
||||
|
||||
Reference in New Issue
Block a user