resolve merge conflicts of 56a2b52937 to nyc-dev am: d7dcc3e227 am: 34377e0357 am: 68cce397b3
am: 4453c3cda2
Change-Id: Ic48643564a3685bc602c66901c9761b741b148a5
This commit is contained in:
@@ -71,6 +71,7 @@ import android.content.pm.PackageManager;
|
|||||||
import android.content.pm.PackageManager.NameNotFoundException;
|
import android.content.pm.PackageManager.NameNotFoundException;
|
||||||
import android.content.pm.PackageManagerInternal;
|
import android.content.pm.PackageManagerInternal;
|
||||||
import android.content.pm.ParceledListSlice;
|
import android.content.pm.ParceledListSlice;
|
||||||
|
import android.content.pm.PermissionInfo;
|
||||||
import android.content.pm.ResolveInfo;
|
import android.content.pm.ResolveInfo;
|
||||||
import android.content.pm.ServiceInfo;
|
import android.content.pm.ServiceInfo;
|
||||||
import android.content.pm.UserInfo;
|
import android.content.pm.UserInfo;
|
||||||
@@ -123,6 +124,7 @@ import android.telephony.TelephonyManager;
|
|||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.ArrayMap;
|
import android.util.ArrayMap;
|
||||||
import android.util.ArraySet;
|
import android.util.ArraySet;
|
||||||
|
import android.util.EventLog;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.util.Pair;
|
import android.util.Pair;
|
||||||
import android.util.Slog;
|
import android.util.Slog;
|
||||||
@@ -8626,6 +8628,10 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
|
|||||||
< android.os.Build.VERSION_CODES.M) {
|
< android.os.Build.VERSION_CODES.M) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
if (!isRuntimePermission(permission)) {
|
||||||
|
EventLog.writeEvent(0x534e4554, "62623498", user.getIdentifier(), "");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
final PackageManager packageManager = mContext.getPackageManager();
|
final PackageManager packageManager = mContext.getPackageManager();
|
||||||
switch (grantState) {
|
switch (grantState) {
|
||||||
case DevicePolicyManager.PERMISSION_GRANT_STATE_GRANTED: {
|
case DevicePolicyManager.PERMISSION_GRANT_STATE_GRANTED: {
|
||||||
@@ -8651,12 +8657,21 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
|
|||||||
return true;
|
return true;
|
||||||
} catch (SecurityException se) {
|
} catch (SecurityException se) {
|
||||||
return false;
|
return false;
|
||||||
|
} catch (NameNotFoundException e) {
|
||||||
|
return false;
|
||||||
} finally {
|
} finally {
|
||||||
mInjector.binderRestoreCallingIdentity(ident);
|
mInjector.binderRestoreCallingIdentity(ident);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isRuntimePermission(String permissionName) throws NameNotFoundException {
|
||||||
|
final PackageManager packageManager = mContext.getPackageManager();
|
||||||
|
PermissionInfo permissionInfo = packageManager.getPermissionInfo(permissionName, 0);
|
||||||
|
return (permissionInfo.protectionLevel & PermissionInfo.PROTECTION_MASK_BASE)
|
||||||
|
== PermissionInfo.PROTECTION_DANGEROUS;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getPermissionGrantState(ComponentName admin, String packageName,
|
public int getPermissionGrantState(ComponentName admin, String packageName,
|
||||||
String permission) throws RemoteException {
|
String permission) throws RemoteException {
|
||||||
|
|||||||
Reference in New Issue
Block a user