[Settings] replace isNonTtyOrTtyOnVolteEnabled() in VoLTE

1. Code refactor
2. Replace ImsManager#isNonTtyOrTtyOnVolteEnabled() by combination of
   TelecomManager#getCurrentTtyMode() and
   ImsMmTelManager#isTtyOverVolteEnabled()

Bug: 140542283
Test: m RunSettingsRoboTests -j ROBOTEST_FILTER=Enhanced4gBasePreferenceControllerTest
Test: m RunSettingsRoboTests -j ROBOTEST_FILTER=Enhanced4gLteSliceHelperTest
Change-Id: I5ea5978529a7ae9a63161caca22fb29102f24150
This commit is contained in:
Bonian Chen
2020-01-21 21:18:52 +08:00
parent ff1863451f
commit 00f42fb6fc
3 changed files with 22 additions and 18 deletions

View File

@@ -108,6 +108,7 @@ public class Enhanced4gBasePreferenceController extends TelephonyTogglePreferenc
return CONDITIONALLY_UNAVAILABLE;
}
final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(subId);
final VolteQueryImsState queryState = queryImsState(subId);
final boolean isVisible = SubscriptionManager.isValidSubscriptionId(subId)
&& mImsManager != null && carrierConfig != null
&& mImsManager.isVolteEnabledByPlatform()
@@ -115,7 +116,8 @@ public class Enhanced4gBasePreferenceController extends TelephonyTogglePreferenc
&& MobileNetworkUtils.isImsServiceStateReady(mImsManager)
&& !carrierConfig.getBoolean(CarrierConfigManager.KEY_HIDE_ENHANCED_4G_LTE_BOOL);
return isVisible
? (isPrefEnabled() ? AVAILABLE : AVAILABLE_UNSEARCHABLE)
? (isUserControlAllowed() && queryState.isAllowUserControl()
? AVAILABLE : AVAILABLE_UNSEARCHABLE)
: CONDITIONALLY_UNAVAILABLE;
}
@@ -141,9 +143,10 @@ public class Enhanced4gBasePreferenceController extends TelephonyTogglePreferenc
final SwitchPreference switchPreference = (SwitchPreference) preference;
final VolteQueryImsState queryState = queryImsState(mSubId);
switchPreference.setEnabled(isPrefEnabled());
switchPreference.setEnabled(isUserControlAllowed()
&& queryState.isAllowUserControl());
switchPreference.setChecked(queryState.isEnabledByUser()
&& mImsManager.isNonTtyOrTtyOnVolteEnabled());
&& queryState.isAllowUserControl());
}
@Override
@@ -191,13 +194,6 @@ public class Enhanced4gBasePreferenceController extends TelephonyTogglePreferenc
return new VolteQueryImsState(mContext, subId);
}
private boolean isPrefEnabled() {
return SubscriptionManager.isValidSubscriptionId(mSubId)
&& isUserControlAllowed()
&& mImsManager != null
&& mImsManager.isNonTtyOrTtyOnVolteEnabled();
}
private boolean isUserControlAllowed() {
return (mCallState != null) && (mCallState == TelephonyManager.CALL_STATE_IDLE)
&& mCarrierConfig.getBoolean(