Merge changes I26186704,I0b9967ea into udc-dev am: 4f76849cbc am: 22c6940506

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/22119897

Change-Id: Ide275bbc7ce585cc55250029b1fa572bdb4a964e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Ayush Sharma
2023-03-21 22:26:33 +00:00
committed by Automerger Merge Worker

View File

@@ -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);
}
@@ -22858,9 +22854,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");
}
@@ -22882,7 +22879,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 {
@@ -22893,10 +22889,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,
@@ -22922,6 +22916,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) {