From ff9f67dddd97756dffe2059aa186acd29fc67527 Mon Sep 17 00:00:00 2001 From: Diego Pontoriero Date: Mon, 11 Aug 2014 18:25:51 -0700 Subject: [PATCH] Change CARRIER_SETUP hook in WirelessSettings to use aeroshell for determining carrier app instead of MCC/MNC. Related WirelessSettings change: http://ag/374330 Related Aeroshell change to SetupWizard: http://ag/520857 Bug: 16457806 Change-Id: I60277b27e9e205041eb3969a110a57da0fb62023 --- src/com/android/settings/WirelessSettings.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/com/android/settings/WirelessSettings.java b/src/com/android/settings/WirelessSettings.java index b256f947f03..ce3164d6353 100644 --- a/src/com/android/settings/WirelessSettings.java +++ b/src/com/android/settings/WirelessSettings.java @@ -129,9 +129,13 @@ public class WirelessSettings extends SettingsPreferenceFragment if (mTm.hasIccCard() && (ni != null)) { // Check for carrier apps that can handle provisioning first Intent provisioningIntent = new Intent(TelephonyIntents.ACTION_CARRIER_SETUP); - provisioningIntent.addCategory(TelephonyIntents.CATEGORY_MCCMNC_PREFIX - + mTm.getSimOperator()); - if (mPm.resolveActivity(provisioningIntent, 0 /* flags */) != null) { + List carrierPackages = + mTm.getCarrierPackageNamesForBroadcastIntent(provisioningIntent); + if (carrierPackages != null && !carrierPackages.isEmpty()) { + if (carrierPackages.size() != 1) { + Log.w(TAG, "Multiple matching carrier apps found, launching the first."); + } + provisioningIntent.setPackage(carrierPackages.get(0)); startActivity(provisioningIntent); return; }