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

Commit 6a61e6f2 authored by Ayush Sharma's avatar Ayush Sharma
Browse files

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
parent 5b36cc03
Loading
Loading
Loading
Loading
+14 −16
Original line number Original line Diff line number Diff line
@@ -340,7 +340,6 @@ 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;
@@ -20383,7 +20382,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
            final long id = mInjector.binderClearCallingIdentity();
            final long id = mInjector.binderClearCallingIdentity();
            try {
            try {
                int parentUserId = getProfileParentId(caller.getUserId());
                int parentUserId = getProfileParentId(caller.getUserId());
                installOemDefaultDialerAndMessagesApp(parentUserId, caller.getUserId());
                installOemDefaultDialerAndSmsApp(caller.getUserId());
                updateTelephonyCrossProfileIntentFilters(parentUserId, caller.getUserId(), true);
                updateTelephonyCrossProfileIntentFilters(parentUserId, caller.getUserId(), true);
            } finally {
            } finally {
                mInjector.binderRestoreCallingIdentity(id);
                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 {
        try {
            UserHandle sourceUserHandle = UserHandle.of(sourceUserId);
            String defaultDialerPackageName = getDefaultRoleHolderPackageName(
            TelecomManager telecomManager = mContext.getSystemService(TelecomManager.class);
                    com.android.internal.R.string.config_defaultDialer);
            String dialerAppPackage = telecomManager.getDefaultDialerPackage(
            String defaultSmsPackageName = getDefaultRoleHolderPackageName(
                    sourceUserHandle);
                    com.android.internal.R.string.config_defaultSms);
            String messagesAppPackage = SmsApplication.getDefaultSmsApplicationAsUser(mContext,
                    true, sourceUserHandle).getPackageName();
            if (defaultDialerPackageName != null) {
            if (dialerAppPackage != null) {
                mIPackageManager.installExistingPackageAsUser(defaultDialerPackageName,
                mIPackageManager.installExistingPackageAsUser(dialerAppPackage, targetUserId,
                        targetUserId, PackageManager.INSTALL_ALL_WHITELIST_RESTRICTED_PERMISSIONS,
                        PackageManager.INSTALL_ALL_WHITELIST_RESTRICTED_PERMISSIONS,
                        PackageManager.INSTALL_REASON_POLICY, null);
                        PackageManager.INSTALL_REASON_POLICY, null);
            } else {
            } else {
                Slogf.w(LOG_TAG, "Couldn't install dialer app, dialer app package is null");
                Slogf.w(LOG_TAG, "Couldn't install dialer app, dialer app package is null");
            }
            }
            if (messagesAppPackage != null) {
            if (defaultSmsPackageName != null) {
                mIPackageManager.installExistingPackageAsUser(messagesAppPackage, targetUserId,
                mIPackageManager.installExistingPackageAsUser(defaultSmsPackageName, targetUserId,
                        PackageManager.INSTALL_ALL_WHITELIST_RESTRICTED_PERMISSIONS,
                        PackageManager.INSTALL_ALL_WHITELIST_RESTRICTED_PERMISSIONS,
                        PackageManager.INSTALL_REASON_POLICY, null);
                        PackageManager.INSTALL_REASON_POLICY, null);
            } else {
            } 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) {
        } catch (RemoteException re) {
            // shouldn't happen
            // 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);
        }
        }
    }
    }