diff options
author | Wink Saville <wink@google.com> | 2011-09-22 15:17:00 -0700 |
---|---|---|
committer | Wink Saville <wink@google.com> | 2011-09-22 15:17:00 -0700 |
commit | 382a75b105506f9ef8e6e735fcfa40ddccbd87cc (patch) | |
tree | dc900f14b8cf1d39c3927abd0973c06473c84582 | |
parent | 89cd48cd8e01081f470ea299dbf841a0099226ae (diff) | |
download | packages_apps_settings-382a75b105506f9ef8e6e735fcfa40ddccbd87cc.zip packages_apps_settings-382a75b105506f9ef8e6e735fcfa40ddccbd87cc.tar.gz packages_apps_settings-382a75b105506f9ef8e6e735fcfa40ddccbd87cc.tar.bz2 |
Add a button to enable/disable Mobile Terminated SMS over IMS
This toggles persist.radio.imsallowmtsms between 0/1 which can
be used during testing and bring up of SMS over IMS.
Change-Id: I4581bca76899445e825260e8af6a39903d029c44
-rw-r--r-- | res/layout/radio_info.xml | 8 | ||||
-rw-r--r-- | res/values/strings.xml | 8 | ||||
-rw-r--r-- | src/com/android/settings/RadioInfo.java | 29 |
3 files changed, 43 insertions, 2 deletions
diff --git a/res/layout/radio_info.xml b/res/layout/radio_info.xml index 0592b3f..02e321a 100644 --- a/res/layout/radio_info.xml +++ b/res/layout/radio_info.xml @@ -204,6 +204,14 @@ android:layout_height="wrap_content" /> + <!-- SMS over IMS --> + <Button android:id="@+id/sms_over_ims" + android:textSize="14sp" + android:layout_marginTop="8dip" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + /> + <!-- SMSC --> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content"> diff --git a/res/values/strings.xml b/res/values/strings.xml index 8f582b5..4dfa126 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -40,8 +40,12 @@ <!-- Phone Info screen. Button label to turn off the radio . Only shown in diagnostic screen, so precise translation is not needed. --> <string name="turn_off_radio">Turn off radio</string> - <!-- Phone info --> - <!-- Phone IMS registration required on. Only shown in diagnostic screen, so precise translation is not needed. --> + <!-- Phone SMS over IMS on. Only shown in diagnostic screen, so precise translation is not needed. --> + <string name="sms_over_ims_on">Turn on SMS over IMS</string> + <!-- Phone SMS over IMS off. Only shown in diagnostic screen, so precise translation is not needed. --> + <string name="sms_over_ims_off">Turn off SMS over IMS</string> + + <!-- Phone SMS over IMS IMS registration required on. Only shown in diagnostic screen, so precise translation is not needed. --> <string name="ims_reg_required_on">Turn on IMS registration required</string> <!-- Phone IMS registration required off. Only shown in diagnostic screen, so precise translation is not needed. --> <string name="ims_reg_required_off">Turn off IMS registration required</string> diff --git a/src/com/android/settings/RadioInfo.java b/src/com/android/settings/RadioInfo.java index ba10deb..1ba4804 100644 --- a/src/com/android/settings/RadioInfo.java +++ b/src/com/android/settings/RadioInfo.java @@ -124,6 +124,7 @@ public class RadioInfo extends Activity { private EditText smsc; private Button radioPowerButton; private Button imsRegRequiredButton; + private Button smsOverImsButton; private Button dnsCheckToggleButton; private Button pingTestButton; private Button updateSmscButton; @@ -286,6 +287,9 @@ public class RadioInfo extends Activity { imsRegRequiredButton = (Button) findViewById(R.id.ims_reg_required); imsRegRequiredButton.setOnClickListener(mImsRegRequiredHandler); + smsOverImsButton = (Button) findViewById(R.id.sms_over_ims); + smsOverImsButton.setOnClickListener(mSmsOverImsHandler); + pingTestButton = (Button) findViewById(R.id.ping_test); pingTestButton.setOnClickListener(mPingButtonHandler); updateSmscButton = (Button) findViewById(R.id.update_smsc); @@ -332,6 +336,7 @@ public class RadioInfo extends Activity { updateDataStats2(); updatePowerState(); updateImsRegRequiredState(); + updateSmsOverImsState(); updateProperties(); updateDnsCheckState(); @@ -420,6 +425,18 @@ public class RadioInfo extends Activity { imsRegRequiredButton.setText(buttonText); } + private boolean isSmsOverImsEnabled() { + return SystemProperties.getBoolean(PROPERTY_SMS_OVER_IMS, false); + } + + private void updateSmsOverImsState() { + Log.d(TAG, "updateSmsOverImsState isSmsOverImsEnabled()=" + isSmsOverImsEnabled()); + String buttonText = isSmsOverImsEnabled() ? + getString(R.string.sms_over_ims_off) : + getString(R.string.sms_over_ims_on); + smsOverImsButton.setText(buttonText); + } + private void updateDnsCheckState() { dnsCheckState.setText(phone.isDnsCheckDisabled() ? @@ -907,6 +924,18 @@ public class RadioInfo extends Activity { } }; + static final String PROPERTY_SMS_OVER_IMS = "persist.radio.imsallowmtsms"; + OnClickListener mSmsOverImsHandler = new OnClickListener() { + @Override + public void onClick(View v) { + Log.d(TAG, String.format("toggle %s: currently %s", + PROPERTY_SMS_OVER_IMS, (isSmsOverImsEnabled() ? "on":"off"))); + boolean newValue = !isSmsOverImsEnabled(); + SystemProperties.set(PROPERTY_SMS_OVER_IMS, newValue ? "1":"0"); + updateSmsOverImsState(); + } + }; + OnClickListener mDnsCheckButtonHandler = new OnClickListener() { public void onClick(View v) { phone.disableDnsCheck(!phone.isDnsCheckDisabled()); |