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

Commit 0cded9d3 authored by Tony Mak's avatar Tony Mak Committed by android-build-merger
Browse files

New settings key and policy transparency for managed profile settings am: c820cc5f am: aded4dbf

am: 3c399a68

* commit '3c399a68':
  New settings key and policy transparency for managed profile settings

Change-Id: I943f08261feae6673f48980f7c9ea9c9419c21d7
parents 59175f63 3c399a68
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -6151,6 +6151,14 @@ public final class Settings {
         */
        public static final int VR_DISPLAY_MODE_OFF = 1;

        /**
         * Whether parent user can access remote contact in managed profile.
         *
         * @hide
         */
        public static final String MANAGED_PROFILE_CONTACT_REMOTE_SEARCH =
                "managed_profile_contact_remote_search";

        /**
         * This are the settings to be backed up.
         *
+39 −0
Original line number Diff line number Diff line
@@ -272,6 +272,29 @@ public class RestrictedLockUtils {
        return null;
    }

    /**
     * @param context
     * @param userId user id of a managed profile.
     * @return is remote contacts search disallowed.
     */
    public static EnforcedAdmin checkIfRemoteContactSearchDisallowed(Context context, int userId) {
        DevicePolicyManager dpm = (DevicePolicyManager) context.getSystemService(
                Context.DEVICE_POLICY_SERVICE);
        if (dpm == null) {
            return null;
        }
        EnforcedAdmin admin = getProfileOwner(context, userId);
        if (admin == null) {
            return null;
        }
        UserHandle userHandle = UserHandle.of(userId);
        if (dpm.getCrossProfileContactsSearchDisabled(userHandle)
                && dpm.getCrossProfileCallerIdDisabled(userHandle)) {
            return admin;
        }
        return null;
    }

    public static EnforcedAdmin checkIfAccessibilityServiceDisallowed(Context context,
            String packageName, int userId) {
        DevicePolicyManager dpm = (DevicePolicyManager) context.getSystemService(
@@ -536,6 +559,22 @@ public class RestrictedLockUtils {
        return null;
    }

    private static EnforcedAdmin getProfileOwner(Context context, int userId) {
        if (userId == UserHandle.USER_NULL) {
            return null;
        }
        final DevicePolicyManager dpm = (DevicePolicyManager) context.getSystemService(
                Context.DEVICE_POLICY_SERVICE);
        if (dpm == null) {
            return null;
        }
        ComponentName adminComponent = dpm.getProfileOwnerAsUser(userId);
        if (adminComponent != null) {
            return new EnforcedAdmin(adminComponent, userId);
        }
        return null;
    }

    /**
     * Set the menu item as disabled by admin by adding a restricted padlock at the end of the
     * text and set the click listener which will send an intent to show the admin support details