OSDN Git Service

Change CARRIER_SETUP hook in WirelessSettings to use aeroshell
authorDiego Pontoriero <diegs@google.com>
Tue, 12 Aug 2014 01:25:51 +0000 (18:25 -0700)
committerDiego Pontoriero <diegs@google.com>
Wed, 20 Aug 2014 23:44:46 +0000 (16:44 -0700)
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

index b256f94..ce3164d 100644 (file)
@@ -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<String> 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;
             }