Create carrier settings menu
If config_carrier_settings_enable set true, show the menu, which is located in
Settings > More (under Wireless & Networks) > Mobile Networks > Carrier settings
Bug: 10706591
Change-Id: I50b008ac04763fda4b1a340b636bc03de76f257f
diff --git a/res/values/config.xml b/res/values/config.xml
index 9bfac9a..59c8dfe 100644
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -135,4 +135,10 @@
<!-- CDMA activation goes through HFA [DO NOT TRANSLATE] -->
<bool name="config_use_hfa_for_provisioning" translatable="false">false</bool>
+
+ <!-- Display carrier settings menu if true -->
+ <bool name="config_carrier_settings_enable">false</bool>
+ <!-- carrier settings menu -->
+ <string name="carrier_settings" translatable="false"></string>
+ <string name="carrier_settings_menu" translatable="false"></string>
</resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index ad876fa..5da301d 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -614,6 +614,10 @@
<!-- Preference title for launching an account manager page for prepaid LTE [CHAR LIMIT=30] -->
<string name="cdma_lte_data_service">Set up data service</string>
+ <!-- A menu item in "Mobile network settings" that allows the user to update the phone
+ with mobile operator specific settings. [CHAR LIMIT=25] -->
+ <string name="carrier_settings_title">Carrier settings</string>
+
<!-- FDN settings strings -->
<!-- Call settings screen, setting option name -->
<string name="fdn">Fixed Dialing Numbers</string>
diff --git a/res/xml/cdma_options.xml b/res/xml/cdma_options.xml
index 89e2fab..60889a6 100644
--- a/res/xml/cdma_options.xml
+++ b/res/xml/cdma_options.xml
@@ -40,4 +40,13 @@
<extra android:name="autoStart" android:value="true" />
</intent>
</PreferenceScreen>
+
+ <PreferenceScreen
+ android:key="carrier_settings_key"
+ android:title="@string/carrier_settings_title">
+ <intent android:action="android.intent.action.MAIN"
+ android:targetPackage="@string/carrier_settings"
+ android:targetClass="@string/carrier_settings_menu" />
+ </PreferenceScreen>
+
</PreferenceScreen>
diff --git a/src/com/android/phone/CdmaOptions.java b/src/com/android/phone/CdmaOptions.java
index 3e3c8b5..8971fa4 100644
--- a/src/com/android/phone/CdmaOptions.java
+++ b/src/com/android/phone/CdmaOptions.java
@@ -43,6 +43,7 @@
private static final String BUTTON_CDMA_SYSTEM_SELECT_KEY = "cdma_system_select_key";
private static final String BUTTON_CDMA_SUBSCRIPTION_KEY = "cdma_subscription_key";
private static final String BUTTON_CDMA_ACTIVATE_DEVICE_KEY = "cdma_activate_device_key";
+ private static final String BUTTON_CARRIER_SETTINGS_KEY = "carrier_settings_key";
private PreferenceActivity mPrefActivity;
private PreferenceScreen mPrefScreen;
@@ -83,6 +84,16 @@
mPrefScreen.removePreference(
mPrefScreen.findPreference(BUTTON_CDMA_ACTIVATE_DEVICE_KEY));
}
+
+ // Read platform settings for carrier settings
+ final boolean isCarrierSettingsEnabled = mPrefActivity.getResources().getBoolean(
+ R.bool.config_carrier_settings_enable);
+ if (!isCarrierSettingsEnabled) {
+ Preference pref = mPrefScreen.findPreference(BUTTON_CARRIER_SETTINGS_KEY);
+ if (pref != null) {
+ mPrefScreen.removePreference(pref);
+ }
+ }
}
private boolean deviceSupportsNvAndRuim() {