diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index 9bfeb1309d4..750b0835719 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -241,4 +241,18 @@
- GTC
+
+
+ - Off
+ - Alert
+ - Vibrate
+
+
+
+
+ - 0
+ - 1
+ - 2
+
+
diff --git a/res/values/strings.xml b/res/values/strings.xml
index b57726eecbe..a644e8e624a 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -965,7 +965,7 @@
Status
- IMEI, phone number, signal, etc.
+ Phone number, signal, etc.
SD card & phone storage
@@ -975,7 +975,13 @@
IMEI SV
- Phone number
+ My phone number
+
+ MIN
+
+ PRL Version
+
+ MEID
Mobile network type
@@ -1885,4 +1891,9 @@ found in the list of installed applications.
VPN
VPN
Set up & manage VPN configurations, connections
+
+
+ Emergency tone
+
+ Set behavior when an emergency call is placed
diff --git a/res/xml/device_info_status.xml b/res/xml/device_info_status.xml
index 2d4c772391f..dee606d6fb8 100644
--- a/res/xml/device_info_status.xml
+++ b/res/xml/device_info_status.xml
@@ -32,6 +32,24 @@
android:title="@string/status_number"
android:summary="@string/device_info_not_available"
android:persistent="false" />
+
+
+
+
+
+
+
+
diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java
index c9c6c4b573c..bb35f70ad3b 100644
--- a/src/com/android/settings/SecuritySettings.java
+++ b/src/com/android/settings/SecuritySettings.java
@@ -41,6 +41,7 @@ import android.text.method.LinkMovementMethod;
import android.widget.TextView;
import com.android.internal.widget.LockPatternUtils;
+import android.telephony.TelephonyManager;
import java.util.Observable;
import java.util.Observer;
@@ -169,18 +170,24 @@ public class SecuritySettings extends PreferenceActivity implements
mChoosePattern.setIntent(intent);
inlinePrefCat.addPreference(mChoosePattern);
- PreferenceScreen simLockPreferences = getPreferenceManager()
- .createPreferenceScreen(this);
- simLockPreferences.setTitle(R.string.sim_lock_settings_category);
- // Intent to launch SIM lock settings
- intent = new Intent();
- intent.setClassName("com.android.settings", "com.android.settings.IccLockSettings");
- simLockPreferences.setIntent(intent);
+ int activePhoneType = TelephonyManager.getDefault().getPhoneType();
+
+ // do not display SIM lock for CDMA phone
+ if (TelephonyManager.PHONE_TYPE_CDMA != activePhoneType)
+ {
+ PreferenceScreen simLockPreferences = getPreferenceManager()
+ .createPreferenceScreen(this);
+ simLockPreferences.setTitle(R.string.sim_lock_settings_category);
+ // Intent to launch SIM lock settings
+ intent = new Intent();
+ intent.setClassName("com.android.settings", "com.android.settings.IccLockSettings");
+ simLockPreferences.setIntent(intent);
- PreferenceCategory simLockCat = new PreferenceCategory(this);
- simLockCat.setTitle(R.string.sim_lock_settings_title);
- root.addPreference(simLockCat);
- simLockCat.addPreference(simLockPreferences);
+ PreferenceCategory simLockCat = new PreferenceCategory(this);
+ simLockCat.setTitle(R.string.sim_lock_settings_title);
+ root.addPreference(simLockCat);
+ simLockCat.addPreference(simLockPreferences);
+ }
// Passwords
PreferenceCategory passwordsCat = new PreferenceCategory(this);
diff --git a/src/com/android/settings/SoundAndDisplaySettings.java b/src/com/android/settings/SoundAndDisplaySettings.java
index 41114506a9d..3d3a5d0606e 100644
--- a/src/com/android/settings/SoundAndDisplaySettings.java
+++ b/src/com/android/settings/SoundAndDisplaySettings.java
@@ -37,6 +37,7 @@ import android.preference.CheckBoxPreference;
import android.provider.Settings;
import android.util.Log;
import android.view.IWindowManager;
+import android.telephony.TelephonyManager;
public class SoundAndDisplaySettings extends PreferenceActivity implements
Preference.OnPreferenceChangeListener {
@@ -44,6 +45,7 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements
/** If there is no setting in the provider, use this. */
private static final int FALLBACK_SCREEN_TIMEOUT_VALUE = 30000;
+ private static final int FALLBACK_EMERGENCY_TONE_VALUE = 0;
private static final String KEY_SILENT = "silent";
private static final String KEY_VIBRATE = "vibrate";
@@ -54,6 +56,7 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements
private static final String KEY_ACCELEROMETER = "accelerometer";
private static final String KEY_PLAY_MEDIA_NOTIFICATION_SOUNDS = "play_media_notification_sounds";
private static final String KEY_COMPATIBILITY_MODE = "compatibility_mode";
+ private static final String KEY_EMERGENCY_TONE ="emergency_tone";
private CheckBoxPreference mSilent;
@@ -91,6 +94,7 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ContentResolver resolver = getContentResolver();
+ int activePhoneType = TelephonyManager.getDefault().getPhoneType();
mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
mWindowManager = IWindowManager.Stub.asInterface(ServiceManager.getService("window"));
@@ -99,6 +103,11 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements
addPreferencesFromResource(R.xml.sound_and_display_settings);
+ if (TelephonyManager.PHONE_TYPE_CDMA != activePhoneType) {
+ // device is not CDMA, do not display CDMA emergency_tone
+ getPreferenceScreen().removePreference(findPreference(KEY_EMERGENCY_TONE));
+ }
+
mSilent = (CheckBoxPreference) findPreference(KEY_SILENT);
mPlayMediaNotificationSounds = (CheckBoxPreference) findPreference(KEY_PLAY_MEDIA_NOTIFICATION_SOUNDS);
@@ -125,6 +134,14 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements
screenTimeoutPreference.setValue(String.valueOf(Settings.System.getInt(
resolver, SCREEN_OFF_TIMEOUT, FALLBACK_SCREEN_TIMEOUT_VALUE)));
screenTimeoutPreference.setOnPreferenceChangeListener(this);
+
+ if (TelephonyManager.PHONE_TYPE_CDMA == activePhoneType) {
+ ListPreference emergencyTonePreference =
+ (ListPreference) findPreference(KEY_EMERGENCY_TONE);
+ emergencyTonePreference.setValue(String.valueOf(Settings.System.getInt(
+ resolver, Settings.System.EMERGENCY_TONE, FALLBACK_EMERGENCY_TONE_VALUE)));
+ emergencyTonePreference.setOnPreferenceChangeListener(this);
+ }
}
@Override
@@ -273,6 +290,14 @@ public class SoundAndDisplaySettings extends PreferenceActivity implements
} catch (NumberFormatException e) {
Log.e(TAG, "could not persist screen timeout setting", e);
}
+ } else if (KEY_EMERGENCY_TONE.equals(preference.getKey())) {
+ int value = Integer.parseInt((String) objValue);
+ try {
+ Settings.System.putInt(getContentResolver(),
+ Settings.System.EMERGENCY_TONE, value);
+ } catch (NumberFormatException e) {
+ Log.e(TAG, "could not persist emergency tone setting", e);
+ }
}
return true;
diff --git a/src/com/android/settings/deviceinfo/Status.java b/src/com/android/settings/deviceinfo/Status.java
index 09fd461689b..4b1cbbf5309 100644
--- a/src/com/android/settings/deviceinfo/Status.java
+++ b/src/com/android/settings/deviceinfo/Status.java
@@ -182,11 +182,27 @@ public class Status extends PreferenceActivity {
mUptime = findPreference("up_time");
//NOTE "imei" is the "Device ID" since it represents the IMEI in GSM and the MEID in CDMA
- setSummaryText("imei", mPhone.getDeviceId());
-
- setSummaryText("imei_sv",
- ((TelephonyManager) getSystemService(TELEPHONY_SERVICE))
+ if (mPhone.getPhoneName().equals("CDMA")) {
+ setSummaryText("meid_number", mPhone.getMeid());
+ setSummaryText("min_number", mPhone.getCdmaMin());
+ setSummaryText("prl_version", mPhone.getCdmaPrlVersion());
+
+ // device is not GSM/UMTS, do not display GSM/UMTS features
+ getPreferenceScreen().removePreference(findPreference("imei"));
+ getPreferenceScreen().removePreference(findPreference("imei_sv"));
+ } else {
+ setSummaryText("imei", mPhone.getDeviceId());
+
+ setSummaryText("imei_sv",
+ ((TelephonyManager) getSystemService(TELEPHONY_SERVICE))
.getDeviceSoftwareVersion());
+
+ // device is not CDMA, do not display CDMA features
+ getPreferenceScreen().removePreference(findPreference("prl_version"));
+ getPreferenceScreen().removePreference(findPreference("meid_number"));
+ getPreferenceScreen().removePreference(findPreference("min_number"));
+ }
+
setSummaryText("number", mPhone.getLine1Number());
mPhoneStateReceiver = new PhoneStateIntentReceiver(this, mHandler);