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

Commit ef4d2a0c authored by Pavel Grafov's avatar Pavel Grafov Committed by Android (Google) Code Review
Browse files

Merge "Clean up active_admin_cleanup flag" into main

parents 1427b5b5 47f73a90
Loading
Loading
Loading
Loading
+0 −24
Original line number Diff line number Diff line
@@ -73,9 +73,6 @@ import java.util.stream.Collectors;

class ActiveAdmin {

    private final int userId;
    public final boolean isPermissionBased;

    private static final String TAG_DISABLE_KEYGUARD_FEATURES = "disable-keyguard-features";
    private static final String TAG_TEST_ONLY_ADMIN = "test-only-admin";
    private static final String TAG_DISABLE_CAMERA = "disable-camera";
@@ -364,23 +361,8 @@ class ActiveAdmin {
    private static final int PROVISIONING_CONTEXT_LENGTH_LIMIT = 1000;

    ActiveAdmin(DeviceAdminInfo info, boolean isParent) {
        this.userId = -1;
        this.info = info;
        this.isParent = isParent;
        this.isPermissionBased = false;
    }

    ActiveAdmin(int userId, boolean permissionBased) {
        if (Flags.activeAdminCleanup()) {
            throw new UnsupportedOperationException("permission based admin no longer supported");
        }
        if (permissionBased == false) {
            throw new IllegalArgumentException("Can only pass true for permissionBased admin");
        }
        this.userId = userId;
        this.isPermissionBased = permissionBased;
        this.isParent = false;
        this.info = null;
    }

    ActiveAdmin getParentActiveAdmin() {
@@ -397,16 +379,10 @@ class ActiveAdmin {
    }

    int getUid() {
        if (isPermissionBased) {
            return -1;
        }
        return info.getActivityInfo().applicationInfo.uid;
    }

    public UserHandle getUserHandle() {
        if (isPermissionBased) {
            return UserHandle.of(userId);
        }
        return UserHandle.of(UserHandle.getUserId(info.getActivityInfo().applicationInfo.uid));
    }

+0 −31
Original line number Diff line number Diff line
@@ -21,7 +21,6 @@ import android.annotation.Nullable;
import android.annotation.UserIdInt;
import android.app.admin.DeviceAdminInfo;
import android.app.admin.DevicePolicyManager;
import android.app.admin.flags.Flags;
import android.content.ComponentName;
import android.os.FileUtils;
import android.os.PersistableBundle;
@@ -125,24 +124,6 @@ class DevicePolicyData {
    final ArrayList<ActiveAdmin> mAdminList = new ArrayList<>();
    final ArrayList<ComponentName> mRemovingAdmins = new ArrayList<>();

    /**
     * @deprecated Do not use. Policies set by permission holders must go into DevicePolicyEngine.
     */
    @Deprecated
    ActiveAdmin mPermissionBasedAdmin;

    // Create or get the permission-based admin. The permission-based admin will not have a
    // DeviceAdminInfo or ComponentName.
    ActiveAdmin createOrGetPermissionBasedAdmin(int userId) {
        if (Flags.activeAdminCleanup()) {
            throw new UnsupportedOperationException("permission based admin no longer supported");
        }
        if (mPermissionBasedAdmin == null) {
            mPermissionBasedAdmin = new ActiveAdmin(userId, /* permissionBased= */ true);
        }
        return mPermissionBasedAdmin;
    }

    // TODO(b/35385311): Keep track of metadata in TrustedCertificateStore instead.
    final ArraySet<String> mAcceptedCaCertificates = new ArraySet<>();

@@ -282,12 +263,6 @@ class DevicePolicyData {
                }
            }

            if (!Flags.activeAdminCleanup() && policyData.mPermissionBasedAdmin != null) {
                out.startTag(null, "permission-based-admin");
                policyData.mPermissionBasedAdmin.writeToXml(out);
                out.endTag(null, "permission-based-admin");
            }

            if (policyData.mPasswordOwner >= 0) {
                out.startTag(null, "password-owner");
                out.attributeInt(null, "value", policyData.mPasswordOwner);
@@ -495,7 +470,6 @@ class DevicePolicyData {
            policy.mLockTaskPackages.clear();
            policy.mAdminList.clear();
            policy.mAdminMap.clear();
            policy.mPermissionBasedAdmin = null;
            policy.mAffiliationIds.clear();
            policy.mOwnerInstalledCaCerts.clear();
            policy.mUserControlDisabledPackages = null;
@@ -523,11 +497,6 @@ class DevicePolicyData {
                    } catch (RuntimeException e) {
                        Slogf.w(TAG, e, "Failed loading admin %s", name);
                    }
                } else if (!Flags.activeAdminCleanup() && "permission-based-admin".equals(tag)) {

                    ActiveAdmin ap = new ActiveAdmin(policy.mUserId, /* permissionBased= */ true);
                    ap.readFromXml(parser, /* overwritePolicies= */ false);
                    policy.mPermissionBasedAdmin = ap;
                } else if ("delegation".equals(tag)) {
                    // Parse delegation info.
                    final String delegatePackage = parser.getAttributeValue(null,
+50 −146

File changed.

Preview size limit exceeded, changes collapsed.

+13 −42

File changed.

Preview size limit exceeded, changes collapsed.