diff options
author | Andrew Flynn <flynn@google.com> | 2013-10-25 19:55:22 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-10-25 19:55:22 +0000 |
commit | d1808bd6c80f631470dad5dde2890c123f31c982 (patch) | |
tree | 058f469453ff89210f85aadbf3d4ce40bd856c14 /src/com/android/settings/WirelessSettings.java | |
parent | 02b6a47df86d6a06f4cf29c689304abb56a41b1e (diff) | |
parent | 17c008e9d0037373305f4c51442da7532b145dd1 (diff) | |
download | packages_apps_Settings-d1808bd6c80f631470dad5dde2890c123f31c982.zip packages_apps_Settings-d1808bd6c80f631470dad5dde2890c123f31c982.tar.gz packages_apps_Settings-d1808bd6c80f631470dad5dde2890c123f31c982.tar.bz2 |
Merge "Check for presence of carrier app in Mobile Plan."
Diffstat (limited to 'src/com/android/settings/WirelessSettings.java')
-rw-r--r-- | src/com/android/settings/WirelessSettings.java | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/src/com/android/settings/WirelessSettings.java b/src/com/android/settings/WirelessSettings.java index 65127b5..ae8fdcf 100644 --- a/src/com/android/settings/WirelessSettings.java +++ b/src/com/android/settings/WirelessSettings.java @@ -80,6 +80,7 @@ public class WirelessSettings extends RestrictedSettingsFragment private ConnectivityManager mCm; private TelephonyManager mTm; + private PackageManager mPm; private static final int MANAGE_MOBILE_PLAN_DIALOG_ID = 1; private static final String SAVED_MANAGE_MOBILE_PLAN_MSG = "mManageMobilePlanMessage"; @@ -124,6 +125,15 @@ public class WirelessSettings extends RestrictedSettingsFragment NetworkInfo ni = mCm.getProvisioningOrActiveNetworkInfo(); 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) { + startActivity(provisioningIntent); + return; + } + // Get provisioning URL String url = mCm.getMobileProvisioningUrl(); if (!TextUtils.isEmpty(url)) { @@ -192,15 +202,14 @@ public class WirelessSettings extends RestrictedSettingsFragment CharSequence[] entryValues = new CharSequence[count]; Drawable[] entryImages = new Drawable[count]; - PackageManager packageManager = getPackageManager(); int i = 0; for (SmsApplicationData smsApplicationData : smsApplications) { entries[i] = smsApplicationData.mApplicationName; entryValues[i] = smsApplicationData.mPackageName; try { - entryImages[i] = packageManager.getApplicationIcon(smsApplicationData.mPackageName); + entryImages[i] = mPm.getApplicationIcon(smsApplicationData.mPackageName); } catch (NameNotFoundException e) { - entryImages[i] = packageManager.getDefaultActivityIcon(); + entryImages[i] = mPm.getDefaultActivityIcon(); } i++; } @@ -260,6 +269,7 @@ public class WirelessSettings extends RestrictedSettingsFragment mCm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); mTm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); + mPm = getPackageManager(); addPreferencesFromResource(R.xml.wireless_settings); @@ -352,7 +362,7 @@ public class WirelessSettings extends RestrictedSettingsFragment } // Remove Airplane Mode settings if it's a stationary device such as a TV. - if (getActivity().getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEVISION)) { + if (mPm.hasSystemFeature(PackageManager.FEATURE_TELEVISION)) { removePreference(KEY_TOGGLE_AIRPLANE); } @@ -380,8 +390,7 @@ public class WirelessSettings extends RestrictedSettingsFragment com.android.internal.R.bool.config_cellBroadcastAppLinks); try { if (isCellBroadcastAppLinkEnabled) { - PackageManager pm = getPackageManager(); - if (pm.getApplicationEnabledSetting("com.android.cellbroadcastreceiver") + if (mPm.getApplicationEnabledSetting("com.android.cellbroadcastreceiver") == PackageManager.COMPONENT_ENABLED_STATE_DISABLED) { isCellBroadcastAppLinkEnabled = false; // CMAS app disabled } |