diff --git a/res/layout/radio_info.xml b/res/layout/radio_info.xml index d81dad65af8..760cf809b5e 100644 --- a/res/layout/radio_info.xml +++ b/res/layout/radio_info.xml @@ -234,6 +234,14 @@ android:layout_height="wrap_content" /> + + + Turn off SMS over IMS + + Enable MO over PS/VoLTE + + Disable MO over PS/VoLTE + Turn on IMS registration required diff --git a/src/com/android/settings/RadioInfo.java b/src/com/android/settings/RadioInfo.java index b0a4a537ab0..75de222442a 100644 --- a/src/com/android/settings/RadioInfo.java +++ b/src/com/android/settings/RadioInfo.java @@ -303,6 +303,9 @@ public class RadioInfo extends Activity { imsRegRequiredButton = (Button) findViewById(R.id.ims_reg_required); imsRegRequiredButton.setOnClickListener(mImsRegRequiredHandler); + moOverVolteButton = (Button) findViewById(R.id.mo_over_volte); + moOverVolteButton.setOnClickListener(mMoOverVolteHandler); + smsOverImsButton = (Button) findViewById(R.id.sms_over_ims); smsOverImsButton.setOnClickListener(mSmsOverImsHandler); @@ -360,6 +363,7 @@ public class RadioInfo extends Activity { updatePowerState(); updateCellInfoListRate(); updateImsRegRequiredState(); + updateMoOverImsState(); updateSmsOverImsState(); updateLteRamDumpState(); updateProperties(); @@ -985,6 +989,35 @@ public class RadioInfo extends Activity { imsRegRequiredButton.setText(buttonText); } + private Button moOverVolteButton; + OnClickListener mMoOverVolteHandler = new OnClickListener() { + @Override + public void onClick(View v) { + boolean moOverVolteEnabled = isMoOverVolteEnabled(); + log(String.format("toggle %s: currently %s", + TelephonyProperties.PROPERTY_DBG_IMS_VOLTE_ENABLE, + (moOverVolteEnabled ? "on" : "off"))); + boolean newValue = !moOverVolteEnabled; + SystemProperties.set(TelephonyProperties.PROPERTY_DBG_IMS_VOLTE_ENABLE, + newValue ? "1" : "0"); + updateMoOverImsState(); + } + }; + + private boolean isMoOverVolteEnabled() { + return SystemProperties.getInt(TelephonyProperties.PROPERTY_DBG_IMS_VOLTE_ENABLE, + TelephonyProperties.PROPERTY_DBG_IMS_VOLTE_ENABLE_DEAFULT) == 1; + } + + private void updateMoOverImsState() { + boolean moOverVolteEnabled = isMoOverVolteEnabled(); + log("updateMoOverImsState isMoOverVolteEnabled()=" + moOverVolteEnabled); + String buttonText = moOverVolteEnabled ? + getString(R.string.mo_over_volte_off) : + getString(R.string.mo_over_volte_on); + moOverVolteButton.setText(buttonText); + } + private Button smsOverImsButton; static final String PROPERTY_SMS_OVER_IMS = "persist.radio.imsallowmtsms"; OnClickListener mSmsOverImsHandler = new OnClickListener() {