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

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

Merge "Clean up fully rolled out HeadlessDeviceOwnerProvisioningFixEnabled" into main

parents 6a3688cc 7d6246b1
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -603,7 +603,7 @@ package android.app.admin {
    method @Deprecated public int getDeviceOwnerType(@NonNull android.content.ComponentName);
    method @Nullable public String getDevicePolicyManagementRoleHolderUpdaterPackage();
    method @NonNull public java.util.Set<java.lang.String> getDisallowedSystemApps(@NonNull android.content.ComponentName, int, @NonNull String);
    method @FlaggedApi("android.app.admin.flags.headless_device_owner_provisioning_fix_enabled") @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public int getHeadlessDeviceOwnerMode();
    method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public int getHeadlessDeviceOwnerMode();
    method public long getLastBugReportRequestTime();
    method public long getLastNetworkLogRetrievalTime();
    method public long getLastSecurityLogRetrievalTime();
+0 −5
Original line number Diff line number Diff line
@@ -56,7 +56,6 @@ import static android.Manifest.permission.SET_TIME_ZONE;
import static android.app.admin.DeviceAdminInfo.HEADLESS_DEVICE_OWNER_MODE_UNSUPPORTED;
import static android.app.admin.flags.Flags.FLAG_DEVICE_THEFT_API_ENABLED;
import static android.app.admin.flags.Flags.FLAG_DEVICE_POLICY_SIZE_TRACKING_ENABLED;
import static android.app.admin.flags.Flags.FLAG_HEADLESS_DEVICE_OWNER_PROVISIONING_FIX_ENABLED;
import static android.app.admin.flags.Flags.onboardingBugreportV2Enabled;
import static android.app.admin.flags.Flags.onboardingConsentlessBugreports;
import static android.app.admin.flags.Flags.FLAG_IS_MTE_POLICY_ENFORCED;
@@ -17843,13 +17842,9 @@ public class DevicePolicyManager {
     * @hide
     */
    @TestApi
    @FlaggedApi(FLAG_HEADLESS_DEVICE_OWNER_PROVISIONING_FIX_ENABLED)
    @RequiresPermission(permission.MANAGE_PROFILE_AND_DEVICE_OWNERS)
    @DeviceAdminInfo.HeadlessDeviceOwnerMode
    public int getHeadlessDeviceOwnerMode() {
        if (!Flags.headlessDeviceOwnerProvisioningFixEnabled()) {
            return HEADLESS_DEVICE_OWNER_MODE_UNSUPPORTED;
        }
        if (mService != null) {
            try {
                return mService.getHeadlessDeviceOwnerMode(mContext.getPackageName());
+0 −10
Original line number Diff line number Diff line
@@ -209,16 +209,6 @@ flag {
  bug: "295301164"
}

flag {
  name: "headless_device_owner_provisioning_fix_enabled"
  namespace: "enterprise"
  description: "Fix provisioning for single-user headless DO"
  bug: "289515470"
  metadata {
    purpose: PURPOSE_BUGFIX
  }
}

flag {
  name: "dmrh_set_app_restrictions"
  namespace: "enterprise"
+7 −21
Original line number Diff line number Diff line
@@ -17360,17 +17360,10 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
            @Nullable ComponentName componentName, @UserIdInt int callingUserId) {
        synchronized (getLockObject()) {
            int deviceOwnerUserId = -1;
            if (Flags.headlessDeviceOwnerProvisioningFixEnabled()) {
            deviceOwnerUserId = mInjector.userManagerIsHeadlessSystemUserMode()
                    && getHeadlessDeviceOwnerModeForDeviceAdmin(componentName, callingUserId)
                    == HEADLESS_DEVICE_OWNER_MODE_AFFILIATED
                    ? UserHandle.USER_SYSTEM : callingUserId;
            } else {
                deviceOwnerUserId = mInjector.userManagerIsHeadlessSystemUserMode()
                        && getHeadlessDeviceOwnerModeForDeviceOwner()
                        == HEADLESS_DEVICE_OWNER_MODE_AFFILIATED
                        ? UserHandle.USER_SYSTEM : callingUserId;
            }
            Slogf.i(LOG_TAG, "Calling user %d, device owner will be set on user %d",
                    callingUserId, deviceOwnerUserId);
            // hasIncompatibleAccountsOrNonAdb doesn't matter since the caller is not adb.
@@ -22010,16 +22003,9 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
        final long identity = Binder.clearCallingIdentity();
        try {
            boolean isSingleUserMode;
            if (Flags.headlessDeviceOwnerProvisioningFixEnabled()) {
            int headlessDeviceOwnerMode = getHeadlessDeviceOwnerModeForDeviceAdmin(
                    deviceAdmin, caller.getUserId());
                isSingleUserMode =
                        headlessDeviceOwnerMode == HEADLESS_DEVICE_OWNER_MODE_SINGLE_USER;
            } else {
                isSingleUserMode =
                        getHeadlessDeviceOwnerModeForDeviceOwner()
                                == HEADLESS_DEVICE_OWNER_MODE_SINGLE_USER;
            }
            isSingleUserMode = headlessDeviceOwnerMode == HEADLESS_DEVICE_OWNER_MODE_SINGLE_USER;
            if (Flags.headlessSingleMinTargetSdk()
                    && mInjector.userManagerIsHeadlessSystemUserMode()