Merge changes I26186704,I0b9967ea into udc-dev
* changes: Avoid hardcoding SYSTEM_USER to support HSUM Fix logic to get default dialer/SMS app
This commit is contained in:
@@ -427,6 +427,7 @@ import android.security.keystore.AttestationUtils;
|
|||||||
import android.security.keystore.KeyGenParameterSpec;
|
import android.security.keystore.KeyGenParameterSpec;
|
||||||
import android.security.keystore.ParcelableKeyGenParameterSpec;
|
import android.security.keystore.ParcelableKeyGenParameterSpec;
|
||||||
import android.stats.devicepolicy.DevicePolicyEnums;
|
import android.stats.devicepolicy.DevicePolicyEnums;
|
||||||
|
import android.telecom.TelecomManager;
|
||||||
import android.telephony.SubscriptionManager;
|
import android.telephony.SubscriptionManager;
|
||||||
import android.telephony.TelephonyManager;
|
import android.telephony.TelephonyManager;
|
||||||
import android.telephony.data.ApnSetting;
|
import android.telephony.data.ApnSetting;
|
||||||
@@ -3535,26 +3536,21 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
|
|||||||
userId == UserHandle.USER_SYSTEM ? UserHandle.USER_ALL : userId);
|
userId == UserHandle.USER_SYSTEM ? UserHandle.USER_ALL : userId);
|
||||||
updatePermissionPolicyCache(userId);
|
updatePermissionPolicyCache(userId);
|
||||||
updateAdminCanGrantSensorsPermissionCache(userId);
|
updateAdminCanGrantSensorsPermissionCache(userId);
|
||||||
final List<PreferentialNetworkServiceConfig> preferentialNetworkServiceConfigs;
|
|
||||||
boolean isManagedSubscription;
|
|
||||||
|
|
||||||
|
final List<PreferentialNetworkServiceConfig> preferentialNetworkServiceConfigs;
|
||||||
synchronized (getLockObject()) {
|
synchronized (getLockObject()) {
|
||||||
ActiveAdmin owner = getDeviceOrProfileOwnerAdminLocked(userId);
|
ActiveAdmin owner = getDeviceOrProfileOwnerAdminLocked(userId);
|
||||||
preferentialNetworkServiceConfigs = owner != null
|
preferentialNetworkServiceConfigs = owner != null
|
||||||
? owner.mPreferentialNetworkServiceConfigs
|
? owner.mPreferentialNetworkServiceConfigs
|
||||||
: List.of(PreferentialNetworkServiceConfig.DEFAULT);
|
: List.of(PreferentialNetworkServiceConfig.DEFAULT);
|
||||||
|
|
||||||
isManagedSubscription = owner != null && owner.mManagedSubscriptionsPolicy != null
|
|
||||||
&& owner.mManagedSubscriptionsPolicy.getPolicyType()
|
|
||||||
== ManagedSubscriptionsPolicy.TYPE_ALL_MANAGED_SUBSCRIPTIONS;
|
|
||||||
}
|
}
|
||||||
updateNetworkPreferenceForUser(userId, preferentialNetworkServiceConfigs);
|
updateNetworkPreferenceForUser(userId, preferentialNetworkServiceConfigs);
|
||||||
|
|
||||||
if (isManagedSubscription) {
|
if (isProfileOwnerOfOrganizationOwnedDevice(userId)
|
||||||
String defaultDialerPackageName = getDefaultRoleHolderPackageName(
|
&& getManagedSubscriptionsPolicy().getPolicyType()
|
||||||
com.android.internal.R.string.config_defaultDialer);
|
== ManagedSubscriptionsPolicy.TYPE_ALL_MANAGED_SUBSCRIPTIONS) {
|
||||||
String defaultSmsPackageName = getDefaultRoleHolderPackageName(
|
String defaultDialerPackageName = getOemDefaultDialerPackage();
|
||||||
com.android.internal.R.string.config_defaultSms);
|
String defaultSmsPackageName = getOemDefaultSmsPackage();
|
||||||
updateDialerAndSmsManagedShortcutsOverrideCache(defaultDialerPackageName,
|
updateDialerAndSmsManagedShortcutsOverrideCache(defaultDialerPackageName,
|
||||||
defaultSmsPackageName);
|
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 "
|
"This policy can only be set by a profile owner on an organization-owned "
|
||||||
+ "device.");
|
+ "device.");
|
||||||
|
|
||||||
|
int parentUserId = getProfileParentId(caller.getUserId());
|
||||||
synchronized (getLockObject()) {
|
synchronized (getLockObject()) {
|
||||||
final ActiveAdmin admin = getProfileOwnerLocked(caller.getUserId());
|
final ActiveAdmin admin = getProfileOwnerLocked(caller.getUserId());
|
||||||
if (hasUserSetupCompleted(UserHandle.USER_SYSTEM) && !isAdminTestOnlyLocked(
|
if (hasUserSetupCompleted(parentUserId) && !isAdminTestOnlyLocked(
|
||||||
admin.info.getComponent(), caller.getUserId())) {
|
admin.info.getComponent(), caller.getUserId())) {
|
||||||
throw new IllegalStateException("Not allowed to apply this policy after setup");
|
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) {
|
if (policyType == ManagedSubscriptionsPolicy.TYPE_ALL_MANAGED_SUBSCRIPTIONS) {
|
||||||
final long id = mInjector.binderClearCallingIdentity();
|
final long id = mInjector.binderClearCallingIdentity();
|
||||||
try {
|
try {
|
||||||
int parentUserId = getProfileParentId(caller.getUserId());
|
|
||||||
installOemDefaultDialerAndSmsApp(caller.getUserId());
|
installOemDefaultDialerAndSmsApp(caller.getUserId());
|
||||||
updateTelephonyCrossProfileIntentFilters(parentUserId, caller.getUserId(), true);
|
updateTelephonyCrossProfileIntentFilters(parentUserId, caller.getUserId(), true);
|
||||||
} finally {
|
} finally {
|
||||||
@@ -22895,10 +22891,8 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
|
|||||||
|
|
||||||
private void installOemDefaultDialerAndSmsApp(int targetUserId) {
|
private void installOemDefaultDialerAndSmsApp(int targetUserId) {
|
||||||
try {
|
try {
|
||||||
String defaultDialerPackageName = getDefaultRoleHolderPackageName(
|
String defaultDialerPackageName = getOemDefaultDialerPackage();
|
||||||
com.android.internal.R.string.config_defaultDialer);
|
String defaultSmsPackageName = getOemDefaultSmsPackage();
|
||||||
String defaultSmsPackageName = getDefaultRoleHolderPackageName(
|
|
||||||
com.android.internal.R.string.config_defaultSms);
|
|
||||||
|
|
||||||
if (defaultDialerPackageName != null) {
|
if (defaultDialerPackageName != null) {
|
||||||
mIPackageManager.installExistingPackageAsUser(defaultDialerPackageName,
|
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(
|
private void updateDialerAndSmsManagedShortcutsOverrideCache(
|
||||||
String defaultDialerPackageName, String defaultSmsPackageName) {
|
String defaultDialerPackageName, String defaultSmsPackageName) {
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user