[Settings] Apply WifiCallingQueryImsState

Apply design of WifiCallingQueryImsState to source code which accessing
WifiCalling.

Bug:  140542283
Test: m RunSettingsRoboTests -j
ROBOTEST_FILTER=WifiCallingSettingsForSubTest
Test: m RunSettingsRoboTests -j
ROBOTEST_FILTER=WifiCallingPreferenceControllerTest
Test: m RunSettingsRoboTests -j
ROBOTEST_FILTER=WifiCallingSettingsTest
Test: m RunSettingsRoboTests -j
ROBOTEST_FILTER=WifiCallingSliceHelperTest

Change-Id: I0db966742d63cfe9a1ef4e1b06f6b5c81f681927
This commit is contained in:
Bonian Chen
2020-03-31 14:31:41 +08:00
parent 268bdc12c6
commit 7520adccee
8 changed files with 89 additions and 111 deletions

View File

@@ -19,9 +19,6 @@ package com.android.settings.network.ims;
import android.content.Context;
import android.telephony.ims.ImsException;
import com.android.ims.ImsManager;
/**
* Controller class for mock Wifi calling status
*/
@@ -30,6 +27,7 @@ public class MockWifiCallingQueryImsState extends WifiCallingQueryImsState {
private Boolean mIsTtyOnVolteEnabled;
private Boolean mIsEnabledOnPlatform;
private Boolean mIsProvisionedOnDevice;
private Boolean mIsServiceStateReady;
private Boolean mIsEnabledByUser;
/**
@@ -42,10 +40,6 @@ public class MockWifiCallingQueryImsState extends WifiCallingQueryImsState {
super(context, subId);
}
public ImsManager getImsManager(int subId) {
return super.getImsManager(subId);
}
public void setIsTtyOnVolteEnabled(boolean enabled) {
mIsTtyOnVolteEnabled = enabled;
}
@@ -84,6 +78,19 @@ public class MockWifiCallingQueryImsState extends WifiCallingQueryImsState {
return super.isProvisionedOnDevice(subId);
}
public void setServiceStateReady(boolean isReady) {
mIsServiceStateReady = isReady;
}
@Override
boolean isServiceStateReady(int subId) throws InterruptedException, ImsException,
IllegalArgumentException {
if (mIsServiceStateReady != null) {
return mIsServiceStateReady;
}
return super.isServiceStateReady(subId);
}
public void setIsEnabledByUser(boolean enabled) {
mIsEnabledByUser = enabled;
}

View File

@@ -37,7 +37,6 @@ import android.telephony.ims.ImsMmTelManager;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
import com.android.ims.ImsManager;
import com.android.internal.R;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.network.ims.MockWifiCallingQueryImsState;
@@ -60,8 +59,6 @@ public class WifiCallingPreferenceControllerTest {
@Mock
private TelephonyManager mTelephonyManager;
@Mock
private ImsManager mImsManager;
@Mock
private ImsMmTelManager mImsMmTelManager;
@Mock
private PreferenceScreen mPreferenceScreen;
@@ -79,9 +76,8 @@ public class WifiCallingPreferenceControllerTest {
mContext = spy(RuntimeEnvironment.application);
mQueryImsState = spy(new MockWifiCallingQueryImsState(mContext, SUB_ID));
doReturn(true).when(mQueryImsState).isEnabledByUser();
doReturn(mImsManager).when(mQueryImsState).getImsManager(anyInt());
mQueryImsState = new MockWifiCallingQueryImsState(mContext, SUB_ID);
mQueryImsState.setIsEnabledByUser(true);
mQueryImsState.setIsProvisionedOnDevice(true);
mPreference = new Preference(mContext);
@@ -109,7 +105,7 @@ public class WifiCallingPreferenceControllerTest {
@Test
public void updateState_noSimCallManager_setCorrectSummary() {
mController.mSimCallManager = null;
doReturn(true).when(mQueryImsState).isEnabledByUser();
mQueryImsState.setIsEnabledByUser(true);
when(mImsMmTelManager.getVoWiFiRoamingModeSetting()).thenReturn(
ImsMmTelManager.WIFI_MODE_WIFI_ONLY);
when(mImsMmTelManager.getVoWiFiModeSetting()).thenReturn(
@@ -149,7 +145,7 @@ public class WifiCallingPreferenceControllerTest {
ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED);
when(mImsMmTelManager.getVoWiFiModeSetting()).thenReturn(
ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED);
doReturn(true).when(mQueryImsState).isEnabledByUser();
mQueryImsState.setIsEnabledByUser(true);
when(mTelephonyManager.isNetworkRoaming()).thenReturn(true);
mController.updateState(mPreference);
@@ -166,7 +162,7 @@ public class WifiCallingPreferenceControllerTest {
ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED);
when(mImsMmTelManager.getVoWiFiModeSetting()).thenReturn(
ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED);
doReturn(true).when(mQueryImsState).isEnabledByUser();
mQueryImsState.setIsEnabledByUser(true);
when(mTelephonyManager.isNetworkRoaming()).thenReturn(true);
mController.updateState(mPreference);