Loading services/core/java/com/android/server/pm/PackageManagerService.java +1 −2 Original line number Diff line number Diff line Loading @@ -20125,8 +20125,7 @@ public class PackageManagerService extends IPackageManager.Stub // Disable any carrier apps. We do this very early in boot to prevent the apps from being // disabled after already being started. CarrierAppUtils.disableCarrierAppsUntilPrivileged(mContext.getOpPackageName(), this, mPermissionManagerService, mContext.getContentResolver(), UserHandle.USER_SYSTEM); mPermissionManagerService, UserHandle.USER_SYSTEM, mContext); disableSkuSpecificApps(); telephony/common/com/android/internal/telephony/CarrierAppUtils.java +17 −8 Original line number Diff line number Diff line Loading @@ -18,11 +18,13 @@ package com.android.internal.telephony; import android.annotation.Nullable; import android.content.ContentResolver; import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.IPackageManager; import android.content.pm.PackageManager; import android.content.res.Resources; import android.os.RemoteException; import android.os.UserHandle; import android.permission.IPermissionManager; import android.provider.Settings; import com.android.telephony.Rlog; Loading Loading @@ -76,7 +78,7 @@ public final class CarrierAppUtils { */ public static synchronized void disableCarrierAppsUntilPrivileged(String callingPackage, IPackageManager packageManager, IPermissionManager permissionManager, TelephonyManager telephonyManager, ContentResolver contentResolver, int userId) { TelephonyManager telephonyManager, int userId, Context context) { if (DEBUG) { Rlog.d(TAG, "disableCarrierAppsUntilPrivileged"); } Loading @@ -85,6 +87,7 @@ public final class CarrierAppUtils { config.getDisabledUntilUsedPreinstalledCarrierApps(); ArrayMap<String, List<String>> systemCarrierAssociatedAppsDisabledUntilUsed = config.getDisabledUntilUsedPreinstalledCarrierAssociatedApps(); ContentResolver contentResolver = getContentResolverForUser(context, userId); disableCarrierAppsUntilPrivileged(callingPackage, packageManager, permissionManager, telephonyManager, contentResolver, userId, systemCarrierAppsDisabledUntilUsed, systemCarrierAssociatedAppsDisabledUntilUsed); Loading @@ -102,8 +105,8 @@ public final class CarrierAppUtils { * Manager can kill it, and this can lead to crashes as the app is in an unexpected state. */ public static synchronized void disableCarrierAppsUntilPrivileged(String callingPackage, IPackageManager packageManager, IPermissionManager permissionManager, ContentResolver contentResolver, int userId) { IPackageManager packageManager, IPermissionManager permissionManager, int userId, Context context) { if (DEBUG) { Rlog.d(TAG, "disableCarrierAppsUntilPrivileged"); } Loading @@ -114,15 +117,23 @@ public final class CarrierAppUtils { ArrayMap<String, List<String>> systemCarrierAssociatedAppsDisabledUntilUsed = config.getDisabledUntilUsedPreinstalledCarrierAssociatedApps(); ContentResolver contentResolver = getContentResolverForUser(context, userId); disableCarrierAppsUntilPrivileged(callingPackage, packageManager, permissionManager, null /* telephonyManager */, contentResolver, userId, systemCarrierAppsDisabledUntilUsed, systemCarrierAssociatedAppsDisabledUntilUsed); } private static ContentResolver getContentResolverForUser(Context context, int userId) { Context userContext = context.createContextAsUser(UserHandle.getUserHandleForUid(userId), 0); return userContext.getContentResolver(); } /** * Disable carrier apps until they are privileged * Must be public b/c framework unit tests can't access package-private methods. */ // Must be public b/c framework unit tests can't access package-private methods. @VisibleForTesting public static void disableCarrierAppsUntilPrivileged(String callingPackage, IPackageManager packageManager, IPermissionManager permissionManager, Loading @@ -142,9 +153,8 @@ public final class CarrierAppUtils { systemCarrierAssociatedAppsDisabledUntilUsed); List<String> enabledCarrierPackages = new ArrayList<>(); boolean hasRunOnce = Settings.Secure.getIntForUser( contentResolver, Settings.Secure.CARRIER_APPS_HANDLED, 0, userId) == 1; boolean hasRunOnce = Settings.Secure.getInt(contentResolver, Settings.Secure.CARRIER_APPS_HANDLED, 0) == 1; try { for (ApplicationInfo ai : candidates) { Loading Loading @@ -259,8 +269,7 @@ public final class CarrierAppUtils { // Mark the execution so we do not disable apps again. if (!hasRunOnce) { Settings.Secure.putIntForUser( contentResolver, Settings.Secure.CARRIER_APPS_HANDLED, 1, userId); Settings.Secure.putInt(contentResolver, Settings.Secure.CARRIER_APPS_HANDLED, 1); } if (!enabledCarrierPackages.isEmpty()) { Loading Loading
services/core/java/com/android/server/pm/PackageManagerService.java +1 −2 Original line number Diff line number Diff line Loading @@ -20125,8 +20125,7 @@ public class PackageManagerService extends IPackageManager.Stub // Disable any carrier apps. We do this very early in boot to prevent the apps from being // disabled after already being started. CarrierAppUtils.disableCarrierAppsUntilPrivileged(mContext.getOpPackageName(), this, mPermissionManagerService, mContext.getContentResolver(), UserHandle.USER_SYSTEM); mPermissionManagerService, UserHandle.USER_SYSTEM, mContext); disableSkuSpecificApps();
telephony/common/com/android/internal/telephony/CarrierAppUtils.java +17 −8 Original line number Diff line number Diff line Loading @@ -18,11 +18,13 @@ package com.android.internal.telephony; import android.annotation.Nullable; import android.content.ContentResolver; import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.IPackageManager; import android.content.pm.PackageManager; import android.content.res.Resources; import android.os.RemoteException; import android.os.UserHandle; import android.permission.IPermissionManager; import android.provider.Settings; import com.android.telephony.Rlog; Loading Loading @@ -76,7 +78,7 @@ public final class CarrierAppUtils { */ public static synchronized void disableCarrierAppsUntilPrivileged(String callingPackage, IPackageManager packageManager, IPermissionManager permissionManager, TelephonyManager telephonyManager, ContentResolver contentResolver, int userId) { TelephonyManager telephonyManager, int userId, Context context) { if (DEBUG) { Rlog.d(TAG, "disableCarrierAppsUntilPrivileged"); } Loading @@ -85,6 +87,7 @@ public final class CarrierAppUtils { config.getDisabledUntilUsedPreinstalledCarrierApps(); ArrayMap<String, List<String>> systemCarrierAssociatedAppsDisabledUntilUsed = config.getDisabledUntilUsedPreinstalledCarrierAssociatedApps(); ContentResolver contentResolver = getContentResolverForUser(context, userId); disableCarrierAppsUntilPrivileged(callingPackage, packageManager, permissionManager, telephonyManager, contentResolver, userId, systemCarrierAppsDisabledUntilUsed, systemCarrierAssociatedAppsDisabledUntilUsed); Loading @@ -102,8 +105,8 @@ public final class CarrierAppUtils { * Manager can kill it, and this can lead to crashes as the app is in an unexpected state. */ public static synchronized void disableCarrierAppsUntilPrivileged(String callingPackage, IPackageManager packageManager, IPermissionManager permissionManager, ContentResolver contentResolver, int userId) { IPackageManager packageManager, IPermissionManager permissionManager, int userId, Context context) { if (DEBUG) { Rlog.d(TAG, "disableCarrierAppsUntilPrivileged"); } Loading @@ -114,15 +117,23 @@ public final class CarrierAppUtils { ArrayMap<String, List<String>> systemCarrierAssociatedAppsDisabledUntilUsed = config.getDisabledUntilUsedPreinstalledCarrierAssociatedApps(); ContentResolver contentResolver = getContentResolverForUser(context, userId); disableCarrierAppsUntilPrivileged(callingPackage, packageManager, permissionManager, null /* telephonyManager */, contentResolver, userId, systemCarrierAppsDisabledUntilUsed, systemCarrierAssociatedAppsDisabledUntilUsed); } private static ContentResolver getContentResolverForUser(Context context, int userId) { Context userContext = context.createContextAsUser(UserHandle.getUserHandleForUid(userId), 0); return userContext.getContentResolver(); } /** * Disable carrier apps until they are privileged * Must be public b/c framework unit tests can't access package-private methods. */ // Must be public b/c framework unit tests can't access package-private methods. @VisibleForTesting public static void disableCarrierAppsUntilPrivileged(String callingPackage, IPackageManager packageManager, IPermissionManager permissionManager, Loading @@ -142,9 +153,8 @@ public final class CarrierAppUtils { systemCarrierAssociatedAppsDisabledUntilUsed); List<String> enabledCarrierPackages = new ArrayList<>(); boolean hasRunOnce = Settings.Secure.getIntForUser( contentResolver, Settings.Secure.CARRIER_APPS_HANDLED, 0, userId) == 1; boolean hasRunOnce = Settings.Secure.getInt(contentResolver, Settings.Secure.CARRIER_APPS_HANDLED, 0) == 1; try { for (ApplicationInfo ai : candidates) { Loading Loading @@ -259,8 +269,7 @@ public final class CarrierAppUtils { // Mark the execution so we do not disable apps again. if (!hasRunOnce) { Settings.Secure.putIntForUser( contentResolver, Settings.Secure.CARRIER_APPS_HANDLED, 1, userId); Settings.Secure.putInt(contentResolver, Settings.Secure.CARRIER_APPS_HANDLED, 1); } if (!enabledCarrierPackages.isEmpty()) { Loading