[Settings] replace isNonTtyOrTtyOnVolteEnabled() and isVtEnabledByUser() in VT

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

Bug: 140542283
Test: m RunSettingsRoboTests -j
ROBOTEST_FILTER=VideoCallingPreferenceControllerTest

Change-Id: I731c086cfea4330424b042bbf473b3cf77696a8c
This commit is contained in:
Bonian Chen
2020-01-21 22:17:21 +08:00
parent ff1863451f
commit e8771c9ceb
3 changed files with 71 additions and 7 deletions

View File

@@ -19,13 +19,12 @@ package com.android.settings.network.ims;
import android.content.Context;
import android.telephony.SubscriptionManager;
import com.android.ims.ImsManager;
import com.android.settings.network.SubscriptionUtil;
import androidx.annotation.VisibleForTesting;
/**
* Controller class for querying VT status
*/
public class VtQueryImsState {
public class VtQueryImsState extends ImsQueryController {
private Context mContext;
private int mSubId;
@@ -41,6 +40,27 @@ public class VtQueryImsState {
mSubId = subId;
}
/**
* Implementation of ImsQueryController#isEnabledByUser(int subId)
*/
@VisibleForTesting
ImsDirectQuery isEnabledByUser(int subId) {
return new ImsQueryVtUserSetting(subId);
}
/**
* Get allowance status for user to alter configuration
*
* @return true when changing configuration by user is allowed.
*/
public boolean isAllowUserControl() {
if (!SubscriptionManager.isValidSubscriptionId(mSubId)) {
return false;
}
return ((!isSystemTtyEnabled(mContext).directQuery())
|| (isTtyOnVolteEnabled(mSubId).directQuery()));
}
/**
* Get user's configuration
*
@@ -50,8 +70,6 @@ public class VtQueryImsState {
if (!SubscriptionManager.isValidSubscriptionId(mSubId)) {
return false;
}
ImsManager imsManager = ImsManager.getInstance(mContext, SubscriptionUtil.getPhoneId(
mContext, mSubId));
return imsManager.isVtEnabledByUser();
return isEnabledByUser(mSubId).directQuery();
}
}