diff options
-rw-r--r-- | res/values/arrays.xml | 14 | ||||
-rw-r--r-- | res/values/strings.xml | 15 | ||||
-rw-r--r-- | res/xml/device_info_status.xml | 18 | ||||
-rw-r--r-- | res/xml/sound_and_display_settings.xml | 7 | ||||
-rw-r--r-- | src/com/android/settings/SecuritySettings.java | 29 | ||||
-rw-r--r-- | src/com/android/settings/SoundAndDisplaySettings.java | 25 | ||||
-rw-r--r-- | src/com/android/settings/deviceinfo/Status.java | 24 |
7 files changed, 115 insertions, 17 deletions
diff --git a/res/values/arrays.xml b/res/values/arrays.xml index 9bfeb13..750b083 100644 --- a/res/values/arrays.xml +++ b/res/values/arrays.xml @@ -241,4 +241,18 @@ <item>GTC</item> </string-array> + <!-- Sound settings for emergency tone. --> + <string-array name="emergency_tone_entries"> + <item>Off</item> + <item>Alert</item> + <item>Vibrate</item> + </string-array> + + <!-- Do not translate. --> + <string-array name="emergency_tone_values"> + <item>0</item> + <item>1</item> + <item>2</item> + </string-array> + </resources> diff --git a/res/values/strings.xml b/res/values/strings.xml index c99610d..b049a2a 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -965,7 +965,7 @@ <!-- About phone screen, title of the item to go into the Phone status screen --> <string name="device_status">Status</string> <!-- About phone screen, summary of the item to go into the phone status screen --> - <string name="device_status_summary">IMEI, phone number, signal, etc.</string> + <string name="device_status_summary">Phone number, signal, etc.</string> <!-- Main settings screen item's title to go into the SD card and storage settings screen--> <string name="storage_settings_title">SD card & phone storage</string> <!-- Main settings screen item's summary for the SD card and storage settings --> @@ -975,7 +975,13 @@ <!-- Do not translate. About phone, status item title --> <string name="status_imei_sv">IMEI SV</string> <!-- About phone, status item title. The phone number of the current device.--> - <string name="status_number">Phone number</string> + <string name="status_number">My phone number</string> + <!-- About phone, status item title. The phone MIN number of the current device.--> + <string name="status_min_number">MIN</string> + <!-- About phone, status item title. The phone PRL Version of the current device.--> + <string name="status_prl_version">PRL Version</string> + <!-- About phone, status item title. The phone MEID number of the current device.--> + <string name="status_meid_number">MEID</string> <!-- About phone, status item title for the type of data phone network we're connected to, for example 3G or Edge or GPRS --> <string name="status_network_type">Mobile network type</string> <!-- About phone, status item title. The status of data access. For example, the value may be "Connected" --> @@ -1879,4 +1885,9 @@ found in the list of installed applications.</string> <string name="vpn_settings_category">VPN</string> <string name="vpn_settings_title">VPN</string> <string name="vpn_settings_summary">Set up & manage VPN configurations, connections</string> + + <!-- Sound settings screen, setting check box label --> + <string name="emergency_tone_title">Emergency tone</string> + <!-- Sound settings screen, setting option summary text --> + <string name="emergency_tone_summary">Set behavior when an emergency call is placed</string> </resources> diff --git a/res/xml/device_info_status.xml b/res/xml/device_info_status.xml index 2d4c772..dee606d 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" /> + <!-- This menu item is only for CDMA phone --> + <Preference android:key="min_number" + style="?android:attr/preferenceInformationStyle" + android:title="@string/status_min_number" + android:summary="@string/device_info_not_available" + android:persistent="false" /> + <!-- This menu item is only for CDMA phone --> + <Preference android:key="prl_version" + style="?android:attr/preferenceInformationStyle" + android:title="@string/status_prl_version" + android:summary="@string/device_info_not_available" + android:persistent="false" /> + <!-- This menu item is only for CDMA phone --> + <Preference android:key="meid_number" + style="?android:attr/preferenceInformationStyle" + android:title="@string/status_meid_number" + android:summary="@string/device_info_not_available" + android:persistent="false" /> <Preference android:key="operator_name" style="?android:attr/preferenceInformationStyle" android:title="@string/status_operator" diff --git a/res/xml/sound_and_display_settings.xml b/res/xml/sound_and_display_settings.xml index 458bc7a..223e52a 100644 --- a/res/xml/sound_and_display_settings.xml +++ b/res/xml/sound_and_display_settings.xml @@ -94,6 +94,13 @@ </PreferenceCategory> + <ListPreference + android:key="emergency_tone" + android:title="@string/emergency_tone_title" + android:summary="@string/emergency_tone_summary" + android:entries="@array/emergency_tone_entries" + android:entryValues="@array/emergency_tone_values" /> + <PreferenceCategory android:title="@string/display_settings"> diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java index c17e2a0..ffeac34 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; @@ -166,18 +167,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 4111450..3d3a5d0 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 ece5346..a165754 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); |