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

Commit 22c69405 authored by Ayush Sharma's avatar Ayush Sharma Committed by Automerger Merge Worker
Browse files

Merge changes I26186704,I0b9967ea into udc-dev am: 4f76849c

parents ad90aa1c 4f76849c
Loading
Loading
Loading
Loading
+20 −17
Original line number Diff line number Diff line
@@ -427,6 +427,7 @@ import android.security.keystore.AttestationUtils;
import android.security.keystore.KeyGenParameterSpec;
import android.security.keystore.ParcelableKeyGenParameterSpec;
import android.stats.devicepolicy.DevicePolicyEnums;
import android.telecom.TelecomManager;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.telephony.data.ApnSetting;
@@ -3535,26 +3536,21 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
                userId == UserHandle.USER_SYSTEM ? UserHandle.USER_ALL : userId);
        updatePermissionPolicyCache(userId);
        updateAdminCanGrantSensorsPermissionCache(userId);
        final List<PreferentialNetworkServiceConfig> preferentialNetworkServiceConfigs;
        boolean isManagedSubscription;
        final List<PreferentialNetworkServiceConfig> preferentialNetworkServiceConfigs;
        synchronized (getLockObject()) {
            ActiveAdmin owner = getDeviceOrProfileOwnerAdminLocked(userId);
            preferentialNetworkServiceConfigs = owner != null
                    ? owner.mPreferentialNetworkServiceConfigs
                    : List.of(PreferentialNetworkServiceConfig.DEFAULT);
            isManagedSubscription = owner != null && owner.mManagedSubscriptionsPolicy != null
                    && owner.mManagedSubscriptionsPolicy.getPolicyType()
                    == ManagedSubscriptionsPolicy.TYPE_ALL_MANAGED_SUBSCRIPTIONS;
        }
        updateNetworkPreferenceForUser(userId, preferentialNetworkServiceConfigs);
        if (isManagedSubscription) {
            String defaultDialerPackageName = getDefaultRoleHolderPackageName(
                    com.android.internal.R.string.config_defaultDialer);
            String defaultSmsPackageName = getDefaultRoleHolderPackageName(
                    com.android.internal.R.string.config_defaultSms);
        if (isProfileOwnerOfOrganizationOwnedDevice(userId)
                && getManagedSubscriptionsPolicy().getPolicyType()
                == ManagedSubscriptionsPolicy.TYPE_ALL_MANAGED_SUBSCRIPTIONS) {
            String defaultDialerPackageName = getOemDefaultDialerPackage();
            String defaultSmsPackageName = getOemDefaultSmsPackage();
            updateDialerAndSmsManagedShortcutsOverrideCache(defaultDialerPackageName,
                    defaultSmsPackageName);
        }
@@ -22860,9 +22856,10 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
                "This policy can only be set by a profile owner on an organization-owned "
                        + "device.");
        int parentUserId = getProfileParentId(caller.getUserId());
        synchronized (getLockObject()) {
            final ActiveAdmin admin = getProfileOwnerLocked(caller.getUserId());
            if (hasUserSetupCompleted(UserHandle.USER_SYSTEM) && !isAdminTestOnlyLocked(
            if (hasUserSetupCompleted(parentUserId) && !isAdminTestOnlyLocked(
                    admin.info.getComponent(), caller.getUserId())) {
                throw new IllegalStateException("Not allowed to apply this policy after setup");
            }
@@ -22884,7 +22881,6 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
        if (policyType == ManagedSubscriptionsPolicy.TYPE_ALL_MANAGED_SUBSCRIPTIONS) {
            final long id = mInjector.binderClearCallingIdentity();
            try {
                int parentUserId = getProfileParentId(caller.getUserId());
                installOemDefaultDialerAndSmsApp(caller.getUserId());
                updateTelephonyCrossProfileIntentFilters(parentUserId, caller.getUserId(), true);
            } finally {
@@ -22895,10 +22891,8 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
    private void installOemDefaultDialerAndSmsApp(int targetUserId) {
        try {
            String defaultDialerPackageName = getDefaultRoleHolderPackageName(
                    com.android.internal.R.string.config_defaultDialer);
            String defaultSmsPackageName = getDefaultRoleHolderPackageName(
                    com.android.internal.R.string.config_defaultSms);
            String defaultDialerPackageName = getOemDefaultDialerPackage();
            String defaultSmsPackageName = getOemDefaultSmsPackage();
            if (defaultDialerPackageName != null) {
                mIPackageManager.installExistingPackageAsUser(defaultDialerPackageName,
@@ -22924,6 +22918,15 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
        }
    }
    private String getOemDefaultDialerPackage() {
        TelecomManager telecomManager = mContext.getSystemService(TelecomManager.class);
        return telecomManager.getSystemDialerPackage();
    }
    private String getOemDefaultSmsPackage() {
        return mContext.getString(R.string.config_defaultSms);
    }
    private void updateDialerAndSmsManagedShortcutsOverrideCache(
            String defaultDialerPackageName, String defaultSmsPackageName) {