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

Commit 94bf39c9 authored by android-build-team Robot's avatar android-build-team Robot
Browse files

release-request-e7acb21b-1563-43e3-8840-63c103b127b9-for-git_oc-mr1-release-43...

release-request-e7acb21b-1563-43e3-8840-63c103b127b9-for-git_oc-mr1-release-4327239 snap-temp-L63900000101147407

Change-Id: Ie6d5771c25173d4627e29081e5cd0a21827fd9b0
parents a6b610c0 1b0ca089
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -17,5 +17,5 @@
<resources>
    <!-- Bounds [left top right bottom] on screen for picture-in-picture (PIP) windows,
         when the PIP menu is shown with settings. -->
    <string translatable="false" name="pip_settings_bounds">"778 54 1258 324"</string>
    <string translatable="false" name="pip_settings_bounds">"778 756 1258 1026"</string>
</resources>
+15 −0
Original line number Diff line number Diff line
@@ -99,6 +99,7 @@ import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.PackageManagerInternal;
import android.content.pm.ParceledListSlice;
import android.content.pm.PermissionInfo;
import android.content.pm.ResolveInfo;
import android.content.pm.ServiceInfo;
import android.content.pm.StringParceledListSlice;
@@ -152,6 +153,7 @@ import android.telephony.TelephonyManager;
import android.text.TextUtils;
import android.util.ArrayMap;
import android.util.ArraySet;
import android.util.EventLog;
import android.util.Log;
import android.util.Pair;
import android.util.Slog;
@@ -9590,6 +9592,10 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
                        < android.os.Build.VERSION_CODES.M) {
                    return false;
                }
                if (!isRuntimePermission(permission)) {
                    EventLog.writeEvent(0x534e4554, "62623498", user.getIdentifier(), "");
                    return false;
                }
                final PackageManager packageManager = mInjector.getPackageManager();
                switch (grantState) {
                    case DevicePolicyManager.PERMISSION_GRANT_STATE_GRANTED: {
@@ -9616,6 +9622,8 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
                return true;
            } catch (SecurityException se) {
                return false;
            } catch (NameNotFoundException e) {
                return false;
            } finally {
                mInjector.binderRestoreCallingIdentity(ident);
            }
@@ -9665,6 +9673,13 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
        }
    }

    public boolean isRuntimePermission(String permissionName) throws NameNotFoundException {
        final PackageManager packageManager = mInjector.getPackageManager();
        PermissionInfo permissionInfo = packageManager.getPermissionInfo(permissionName, 0);
        return (permissionInfo.protectionLevel & PermissionInfo.PROTECTION_MASK_BASE)
                == PermissionInfo.PROTECTION_DANGEROUS;
    }

    @Override
    public boolean isProvisioningAllowed(String action, String packageName) {
        Preconditions.checkNotNull(packageName);