Don't set REVOKED_COMPAT for modern apps.
Otherwise the permission will be revoked in restorePermissionState(), even if it's not a legacy app. Fixes: 142615915 Fixes: 142680771 Test: atest PermissionTest Test: atest PermissionFlagsTest Test: atest SplitPermissionTest Change-Id: I7e222054ca66c2dff252240f5a6016f5e02c2ade
This commit is contained in:
@@ -68,6 +68,7 @@ import android.hardware.camera2.CameraDevice.CAMERA_AUDIO_RESTRICTION;
|
||||
import android.net.Uri;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Binder;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.IBinder;
|
||||
@@ -1398,6 +1399,12 @@ public class AppOpsService extends IAppOpsService.Stub {
|
||||
}
|
||||
|
||||
private void updatePermissionRevokedCompat(int uid, int switchCode, int mode) {
|
||||
PackageManagerInternal packageManagerInternal = LocalServices.getService(
|
||||
PackageManagerInternal.class);
|
||||
if (packageManagerInternal.getUidTargetSdkVersion(uid) >= Build.VERSION_CODES.M) {
|
||||
return;
|
||||
}
|
||||
|
||||
PackageManager packageManager = mContext.getPackageManager();
|
||||
String[] packageNames = packageManager.getPackagesForUid(uid);
|
||||
if (ArrayUtils.isEmpty(packageNames)) {
|
||||
|
||||
Reference in New Issue
Block a user