diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/settings/WirelessSettings.java | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/src/com/android/settings/WirelessSettings.java b/src/com/android/settings/WirelessSettings.java index 10d9214..edf5bc1 100644 --- a/src/com/android/settings/WirelessSettings.java +++ b/src/com/android/settings/WirelessSettings.java @@ -180,18 +180,22 @@ public class WirelessSettings extends SettingsPreferenceFragment { } // Enable link to CMAS app settings depending on the value in config.xml. - boolean isCellBroadcastAppLinkEnabled = this.getResources().getBoolean( - com.android.internal.R.bool.config_cellBroadcastAppLinks); - try { - if (isCellBroadcastAppLinkEnabled) { - PackageManager pm = getPackageManager(); - if (pm.getApplicationEnabledSetting("com.android.cellbroadcastreceiver") - == PackageManager.COMPONENT_ENABLED_STATE_DISABLED) { - isCellBroadcastAppLinkEnabled = false; // CMAS app disabled + PackageManager pm = getPackageManager(); + boolean hasPhoneFeatures = pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY); + boolean isCellBroadcastAppLinkEnabled = false; + if (hasPhoneFeatures) { + isCellBroadcastAppLinkEnabled = this.getResources().getBoolean( + com.android.internal.R.bool.config_cellBroadcastAppLinks); + try { + if (isCellBroadcastAppLinkEnabled) { + if (pm.getApplicationEnabledSetting("com.android.cellbroadcastreceiver") + == PackageManager.COMPONENT_ENABLED_STATE_DISABLED) { + isCellBroadcastAppLinkEnabled = false; // CMAS app disabled + } } + } catch (IllegalArgumentException ignored) { + isCellBroadcastAppLinkEnabled = false; // CMAS app not installed } - } catch (IllegalArgumentException ignored) { - isCellBroadcastAppLinkEnabled = false; // CMAS app not installed } if (isSecondaryUser || !isCellBroadcastAppLinkEnabled) { PreferenceScreen root = getPreferenceScreen(); |