From d45afac287f54f610b795dcd9513bcd032695363 Mon Sep 17 00:00:00 2001 From: Diego Pontoriero <diegs@google.com> Date: Mon, 11 Aug 2014 18:36:58 -0700 Subject: Change CARRIER_SETUP hook in ConnectivityService to use Aeroshell API for determining carrier app instead of MCC/MNC. Related ConnectivityService change: http://ag/374479 Related Aeroshell change to SetupWizard: http://ag/520857 Bug: 16457806 Change-Id: I78eb2a25d578400c2de6bae4af3d6e8e1ee4d0c7 --- .../core/java/com/android/server/ConnectivityService.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index 08cb791..36b84a1 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -3492,10 +3492,13 @@ public class ConnectivityService extends IConnectivityManager.Stub { mIsProvisioningNetwork.set(false); // Check for apps that can handle provisioning first Intent provisioningIntent = new Intent(TelephonyIntents.ACTION_CARRIER_SETUP); - provisioningIntent.addCategory(TelephonyIntents.CATEGORY_MCCMNC_PREFIX - + mTelephonyManager.getSimOperator()); - if (mContext.getPackageManager().resolveActivity(provisioningIntent, 0 /* flags */) - != null) { + List<String> carrierPackages = + mTelephonyManager.getCarrierPackageNamesForBroadcastIntent(provisioningIntent); + if (carrierPackages != null && !carrierPackages.isEmpty()) { + if (carrierPackages.size() != 1) { + if (DBG) log("Multiple matching carrier apps found, launching the first."); + } + provisioningIntent.setPackage(carrierPackages.get(0)); provisioningIntent.setFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT | Intent.FLAG_ACTIVITY_NEW_TASK); mContext.startActivity(provisioningIntent); -- cgit v1.1