From 6a61e6f2ccb93f4abb975fc3343aaa696b4b0f61 Mon Sep 17 00:00:00 2001 From: Ayush Sharma Date: Wed, 1 Feb 2023 15:23:40 +0000 Subject: [PATCH] Install OEM default dialer and messages appi For api setManagedSubscriptionsPolicy install OEM defined default dialer and messages app in managed profile Bug: 258628704 Test: atest android.devicepolicy.cts.ManagedSubscriptionsPolicyTest Change-Id: I22f0cfdaf1731c63bc41737b815507f81a9fe92f --- .../DevicePolicyManagerService.java | 30 +++++++++---------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java index c67ffd5a0d71d..95b981a89c3d2 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java @@ -340,7 +340,6 @@ 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; @@ -20383,7 +20382,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { final long id = mInjector.binderClearCallingIdentity(); try { int parentUserId = getProfileParentId(caller.getUserId()); - installOemDefaultDialerAndMessagesApp(parentUserId, caller.getUserId()); + installOemDefaultDialerAndSmsApp(caller.getUserId()); updateTelephonyCrossProfileIntentFilters(parentUserId, caller.getUserId(), true); } finally { mInjector.binderRestoreCallingIdentity(id); @@ -20391,32 +20390,31 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { } } - private void installOemDefaultDialerAndMessagesApp(int sourceUserId, int targetUserId) { + private void installOemDefaultDialerAndSmsApp(int targetUserId) { try { - UserHandle sourceUserHandle = UserHandle.of(sourceUserId); - TelecomManager telecomManager = mContext.getSystemService(TelecomManager.class); - String dialerAppPackage = telecomManager.getDefaultDialerPackage( - sourceUserHandle); - String messagesAppPackage = SmsApplication.getDefaultSmsApplicationAsUser(mContext, - true, sourceUserHandle).getPackageName(); - if (dialerAppPackage != null) { - mIPackageManager.installExistingPackageAsUser(dialerAppPackage, targetUserId, - PackageManager.INSTALL_ALL_WHITELIST_RESTRICTED_PERMISSIONS, + String defaultDialerPackageName = getDefaultRoleHolderPackageName( + com.android.internal.R.string.config_defaultDialer); + String defaultSmsPackageName = getDefaultRoleHolderPackageName( + com.android.internal.R.string.config_defaultSms); + + if (defaultDialerPackageName != null) { + mIPackageManager.installExistingPackageAsUser(defaultDialerPackageName, + targetUserId, PackageManager.INSTALL_ALL_WHITELIST_RESTRICTED_PERMISSIONS, PackageManager.INSTALL_REASON_POLICY, null); } else { Slogf.w(LOG_TAG, "Couldn't install dialer app, dialer app package is null"); } - if (messagesAppPackage != null) { - mIPackageManager.installExistingPackageAsUser(messagesAppPackage, targetUserId, + if (defaultSmsPackageName != null) { + mIPackageManager.installExistingPackageAsUser(defaultSmsPackageName, targetUserId, PackageManager.INSTALL_ALL_WHITELIST_RESTRICTED_PERMISSIONS, PackageManager.INSTALL_REASON_POLICY, null); } else { - Slogf.w(LOG_TAG, "Couldn't install messages app, messages app package is null"); + Slogf.w(LOG_TAG, "Couldn't install sms app, sms app package is null"); } } catch (RemoteException re) { // shouldn't happen - Slogf.wtf(LOG_TAG, "Failed to install dialer/messages app", re); + Slogf.wtf(LOG_TAG, "Failed to install dialer/sms app", re); } }