[Settings] replace isNonTtyOrTtyOnVolteEnabled() in WFC

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

Bug: 140542283
Test: manual
Change-Id: Ia5179ee1a23f054899bc74c796542bae40cdc8d5
This commit is contained in:
Bonian Chen
2020-01-21 20:35:30 +08:00
parent 00a964bc0f
commit 72717cb537
8 changed files with 276 additions and 3 deletions

View File

@@ -21,17 +21,20 @@ import android.telephony.SubscriptionManager;
import com.android.ims.ImsManager;
import com.android.settings.SettingsActivity;
import com.android.settings.network.ims.WifiCallingQueryImsState;
import com.android.settings.network.telephony.MobileNetworkUtils;
public class WifiCallingSuggestionActivity extends SettingsActivity {
public static boolean isSuggestionComplete(Context context) {
final WifiCallingQueryImsState queryState =
new WifiCallingQueryImsState(context,
SubscriptionManager.getDefaultVoiceSubscriptionId());
if (!ImsManager.isWfcEnabledByPlatform(context) ||
!MobileNetworkUtils.isWfcProvisionedOnDevice(
SubscriptionManager.getDefaultVoiceSubscriptionId())) {
return true;
}
return ImsManager.isWfcEnabledByUser(context)
&& ImsManager.isNonTtyOrTtyOnVolteEnabled(context);
return queryState.isEnabledByUser() && queryState.isAllowUserControl();
}
}