diff options
Diffstat (limited to 'src/com/android')
-rw-r--r-- | src/com/android/settings/WirelessSettings.java | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/com/android/settings/WirelessSettings.java b/src/com/android/settings/WirelessSettings.java index 3b67ec3..347315a 100644 --- a/src/com/android/settings/WirelessSettings.java +++ b/src/com/android/settings/WirelessSettings.java @@ -50,6 +50,7 @@ public class WirelessSettings extends SettingsPreferenceFragment { private static final String KEY_PROXY_SETTINGS = "proxy_settings"; private static final String KEY_MOBILE_NETWORK_SETTINGS = "mobile_network_settings"; private static final String KEY_TOGGLE_NSD = "toggle_nsd"; //network service discovery + private static final String KEY_CELL_BROADCAST_SETTINGS = "cell_broadcast_settings"; public static final String EXIT_ECM_RESULT = "exit_ecm_result"; public static final int REQUEST_CODE_EXIT_ECM = 1; @@ -171,6 +172,26 @@ public class WirelessSettings extends SettingsPreferenceFragment { Preference p = findPreference(KEY_TETHER_SETTINGS); p.setTitle(Utils.getTetheringLabel(cm)); } + + // 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 + } + } + } catch (IllegalArgumentException ignored) { + isCellBroadcastAppLinkEnabled = false; // CMAS app not installed + } + if (!isCellBroadcastAppLinkEnabled) { + PreferenceScreen root = getPreferenceScreen(); + Preference ps = findPreference(KEY_CELL_BROADCAST_SETTINGS); + if (ps != null) root.removePreference(ps); + } } @Override |