Add Debug Toggles for Video and WiFI Calling Provisioning
-Add a debug toggle for Video Calling Provisioning
-Add a debug toggle for WiFi Calling Provisioning
Change-Id: I0cf3861ceabda48295181347b8997a2c8212de27
diff --git a/src/com/android/settings/RadioInfo.java b/src/com/android/settings/RadioInfo.java
index 031a1ae..b071cc3 100644
--- a/src/com/android/settings/RadioInfo.java
+++ b/src/com/android/settings/RadioInfo.java
@@ -118,6 +118,16 @@
private static final int CELL_INFO_LIST_RATE_DISABLED = Integer.MAX_VALUE;
private static final int CELL_INFO_LIST_RATE_MAX = 0;
+
+ private static final int IMS_VOLTE_PROVISIONED_CONFIG_ID =
+ ImsConfig.ConfigConstants.VLT_SETTING_ENABLED;
+
+ private static final int IMS_VT_PROVISIONED_CONFIG_ID =
+ ImsConfig.ConfigConstants.LVC_SETTING_ENABLED;
+
+ private static final int IMS_WFC_PROVISIONED_CONFIG_ID =
+ ImsConfig.ConfigConstants.VOICE_OVER_WIFI_SETTING_ENABLED;
+
//Values in must match mCellInfoRefreshRates
private static final String[] mCellInfoRefreshRateLabels = {
"Disabled",
@@ -184,7 +194,9 @@
private Button updateSmscButton;
private Button refreshSmscButton;
private Button oemInfoButton;
- private Switch imsVoLteProvisionedSwitch;
+ private Switch imsVolteProvisionedSwitch;
+ private Switch imsVtProvisionedSwitch;
+ private Switch imsWfcProvisionedSwitch;
private Spinner preferredNetworkType;
private Spinner cellInfoRefreshRateSpinner;
@@ -270,7 +282,7 @@
updateServiceState(serviceState);
updateRadioPowerState();
updateNetworkType();
- updateImsVoLteProvisionedState();
+ updateImsProvisionedState();
}
};
@@ -382,7 +394,9 @@
cellInfoAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
cellInfoRefreshRateSpinner.setAdapter(cellInfoAdapter);
- imsVoLteProvisionedSwitch = (Switch) findViewById(R.id.volte_provisioned_switch);
+ imsVolteProvisionedSwitch = (Switch) findViewById(R.id.volte_provisioned_switch);
+ imsVtProvisionedSwitch = (Switch) findViewById(R.id.vt_provisioned_switch);
+ imsWfcProvisionedSwitch = (Switch) findViewById(R.id.wfc_provisioned_switch);
radioPowerOnSwitch = (Switch) findViewById(R.id.radio_power);
@@ -425,7 +439,7 @@
updateDataState();
updateDataStats2();
updateRadioPowerState();
- updateImsVoLteProvisionedState();
+ updateImsProvisionedState();
updateProperties();
updateDnsCheckState();
updateNetworkType();
@@ -447,7 +461,9 @@
preferredNetworkType.setOnItemSelectedListener(mPreferredNetworkHandler);
radioPowerOnSwitch.setOnCheckedChangeListener(mRadioPowerOnChangeListener);
- imsVoLteProvisionedSwitch.setOnCheckedChangeListener(mImsVoLteCheckedChangeListener);
+ imsVolteProvisionedSwitch.setOnCheckedChangeListener(mImsVolteCheckedChangeListener);
+ imsVtProvisionedSwitch.setOnCheckedChangeListener(mImsVtCheckedChangeListener);
+ imsWfcProvisionedSwitch.setOnCheckedChangeListener(mImsWfcCheckedChangeListener);
mTelephonyManager.listen(mPhoneStateListener,
PhoneStateListener.LISTEN_CALL_STATE
@@ -1099,6 +1115,37 @@
radioPowerOnSwitch.setOnCheckedChangeListener(mRadioPowerOnChangeListener);
}
+ void setImsVolteProvisionedState( boolean state ) {
+ Log.d(TAG, "setImsVolteProvisioned state: " + ((state)? "on":"off"));
+ setImsConfigProvisionedState( IMS_VOLTE_PROVISIONED_CONFIG_ID, state );
+ }
+
+ void setImsVtProvisionedState( boolean state ) {
+ Log.d(TAG, "setImsVtProvisioned() state: " + ((state)? "on":"off"));
+ setImsConfigProvisionedState( IMS_VT_PROVISIONED_CONFIG_ID, state );
+ }
+
+ void setImsWfcProvisionedState( boolean state ) {
+ Log.d(TAG, "setImsWfcProvisioned() state: " + ((state)? "on":"off"));
+ setImsConfigProvisionedState( IMS_WFC_PROVISIONED_CONFIG_ID, state );
+ }
+
+ void setImsConfigProvisionedState( int configItem, boolean state ) {
+ if (phone != null && mImsManager != null) {
+ QueuedWork.singleThreadExecutor().submit(new Runnable() {
+ public void run() {
+ try {
+ mImsManager.getConfigInterface().setProvisionedValue(
+ configItem,
+ state? 1 : 0);
+ } catch (ImsException e) {
+ Log.e(TAG, "setImsConfigProvisioned() exception:", e);
+ }
+ }
+ });
+ }
+ }
+
OnCheckedChangeListener mRadioPowerOnChangeListener = new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
@@ -1107,25 +1154,7 @@
}
};
- void setImsVoLteProvisionedState( boolean state ) {
- log(String.format("toggle VoLTE provisioned: %s", ((state) ? "on":"off")));
-
- if (phone != null && mImsManager != null) {
- QueuedWork.singleThreadExecutor().submit(new Runnable() {
- public void run() {
- try {
- mImsManager.getConfigInterface().setProvisionedValue(
- ImsConfig.ConfigConstants.VLT_SETTING_ENABLED,
- state? 1 : 0);
- } catch (ImsException e) {
- Log.e(TAG, "setImsVoLteProvisioned() exception:", e);
- }
- }
- });
- }
- }
-
- private boolean isImsVoLteProvisioned() {
+ private boolean isImsVolteProvisioned() {
if (phone != null && mImsManager != null) {
return mImsManager.isVolteEnabledByPlatform(phone.getContext())
&& mImsManager.isVolteProvisionedOnDevice(phone.getContext());
@@ -1133,20 +1162,58 @@
return false;
}
- OnCheckedChangeListener mImsVoLteCheckedChangeListener = new OnCheckedChangeListener() {
+ OnCheckedChangeListener mImsVolteCheckedChangeListener = new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
- setImsVoLteProvisionedState(isChecked);
+ setImsVolteProvisionedState(isChecked);
}
};
- private void updateImsVoLteProvisionedState() {
- log("updateImsVoLteProvisionedState isImsVoLteProvisioned()=" + isImsVoLteProvisioned());
+ private boolean isImsVtProvisioned() {
+ if (phone != null && mImsManager != null) {
+ return mImsManager.isVtEnabledByPlatform(phone.getContext())
+ && mImsManager.isVtProvisionedOnDevice(phone.getContext());
+ }
+ return false;
+ }
+
+ OnCheckedChangeListener mImsVtCheckedChangeListener = new OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+ setImsVtProvisionedState(isChecked);
+ }
+ };
+
+ private boolean isImsWfcProvisioned() {
+ if (phone != null && mImsManager != null) {
+ return mImsManager.isWfcEnabledByPlatform(phone.getContext())
+ && mImsManager.isWfcProvisionedOnDevice(phone.getContext());
+ }
+ return false;
+ }
+
+ OnCheckedChangeListener mImsWfcCheckedChangeListener = new OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+ setImsWfcProvisionedState(isChecked);
+ }
+ };
+
+ private void updateImsProvisionedState() {
+ log("updateImsProvisionedState isImsVolteProvisioned()=" + isImsVolteProvisioned());
//delightful hack to prevent on-checked-changed calls from
//actually forcing the ims provisioning to its transient/current value.
- imsVoLteProvisionedSwitch.setOnCheckedChangeListener(null);
- imsVoLteProvisionedSwitch.setChecked(isImsVoLteProvisioned());
- imsVoLteProvisionedSwitch.setOnCheckedChangeListener(mImsVoLteCheckedChangeListener);
+ imsVolteProvisionedSwitch.setOnCheckedChangeListener(null);
+ imsVolteProvisionedSwitch.setChecked(isImsVolteProvisioned());
+ imsVolteProvisionedSwitch.setOnCheckedChangeListener(mImsVolteCheckedChangeListener);
+
+ imsVtProvisionedSwitch.setOnCheckedChangeListener(null);
+ imsVtProvisionedSwitch.setChecked(isImsVtProvisioned());
+ imsVtProvisionedSwitch.setOnCheckedChangeListener(mImsVtCheckedChangeListener);
+
+ imsWfcProvisionedSwitch.setOnCheckedChangeListener(null);
+ imsWfcProvisionedSwitch.setChecked(isImsWfcProvisioned());
+ imsWfcProvisionedSwitch.setOnCheckedChangeListener(mImsWfcCheckedChangeListener);
}
OnClickListener mDnsCheckButtonHandler = new OnClickListener() {