Merge "[Settings] Replace isVolteEnabledByPlatform"
This commit is contained in:
@@ -17,6 +17,7 @@
|
||||
package com.android.settings.network.ims;
|
||||
|
||||
import android.content.Context;
|
||||
import android.telephony.ims.ImsException;
|
||||
|
||||
import com.android.ims.ImsManager;
|
||||
|
||||
@@ -28,6 +29,7 @@ import com.android.ims.ImsManager;
|
||||
public class MockVolteQueryImsState extends VolteQueryImsState {
|
||||
|
||||
private Boolean mIsTtyOnVolteEnabled;
|
||||
private Boolean mIsSupported;
|
||||
private Boolean mIsProvisionedOnDevice;
|
||||
private Boolean mIsEnabledByUser;
|
||||
|
||||
@@ -57,6 +59,19 @@ public class MockVolteQueryImsState extends VolteQueryImsState {
|
||||
return super.isTtyOnVolteEnabled(subId);
|
||||
}
|
||||
|
||||
public void setEnabledByPlatform(boolean isSupported) {
|
||||
mIsSupported = isSupported;
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean isEnabledByPlatform(int subId) throws InterruptedException, ImsException,
|
||||
IllegalArgumentException {
|
||||
if (mIsSupported != null) {
|
||||
return mIsSupported;
|
||||
}
|
||||
return super.isEnabledByPlatform(subId);
|
||||
}
|
||||
|
||||
public void setIsProvisionedOnDevice(boolean isProvisioned) {
|
||||
mIsProvisionedOnDevice = isProvisioned;
|
||||
}
|
||||
|
@@ -87,7 +87,9 @@ public class Enhanced4gBasePreferenceControllerTest {
|
||||
|
||||
mQueryImsState = spy(new MockVolteQueryImsState(mContext, SUB_ID));
|
||||
doReturn(mImsManager).when(mQueryImsState).getImsManager(anyInt());
|
||||
mQueryImsState.setEnabledByPlatform(true);
|
||||
mQueryImsState.setIsProvisionedOnDevice(true);
|
||||
mQueryImsState.setIsEnabledByUser(true);
|
||||
|
||||
mPreference = new RestrictedSwitchPreference(mContext);
|
||||
mController = spy(new Enhanced4gLtePreferenceController(mContext, "VoLTE"));
|
||||
@@ -106,7 +108,7 @@ public class Enhanced4gBasePreferenceControllerTest {
|
||||
|
||||
@Test
|
||||
public void getAvailabilityStatus_volteDisabled_returnUnavailable() {
|
||||
doReturn(false).when(mImsManager).isVolteEnabledByPlatform();
|
||||
mQueryImsState.setEnabledByPlatform(false);
|
||||
doReturn(true).when(mProvisioningManager).getProvisioningStatusForCapability(
|
||||
MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE,
|
||||
ImsRegistrationImplBase.REGISTRATION_TECH_LTE);
|
||||
@@ -117,7 +119,7 @@ public class Enhanced4gBasePreferenceControllerTest {
|
||||
|
||||
@Test
|
||||
public void updateState_configEnabled_prefEnabled() {
|
||||
doReturn(true).when(mQueryImsState).isEnabledByUser();
|
||||
mQueryImsState.setIsEnabledByUser(true);
|
||||
mPreference.setEnabled(false);
|
||||
mCarrierConfig.putInt(CarrierConfigManager.KEY_ENHANCED_4G_LTE_TITLE_VARIANT_INT, 1);
|
||||
mController.mCallState = TelephonyManager.CALL_STATE_IDLE;
|
||||
@@ -131,7 +133,7 @@ public class Enhanced4gBasePreferenceControllerTest {
|
||||
|
||||
@Test
|
||||
public void updateState_configOn_prefChecked() {
|
||||
doReturn(true).when(mQueryImsState).isEnabledByUser();
|
||||
mQueryImsState.setIsEnabledByUser(true);
|
||||
mPreference.setChecked(false);
|
||||
doReturn(true).when(mImsManager).isEnhanced4gLteModeSettingEnabledByUser();
|
||||
doReturn(true).when(mImsManager).isNonTtyOrTtyOnVolteEnabled();
|
||||
|
@@ -110,7 +110,9 @@ public class Enhanced4gLteSliceHelperTest {
|
||||
|
||||
mQueryImsState = spy(new MockVolteQueryImsState(mContext, SUB_ID));
|
||||
doReturn(mMockImsManager).when(mQueryImsState).getImsManager(anyInt());
|
||||
mQueryImsState.setEnabledByPlatform(true);
|
||||
mQueryImsState.setIsProvisionedOnDevice(true);
|
||||
mQueryImsState.setIsEnabledByUser(true);
|
||||
|
||||
mEnhanced4gLteSliceHelper = spy(new FakeEnhanced4gLteSliceHelper(mContext));
|
||||
doReturn(mQueryImsState).when(mEnhanced4gLteSliceHelper).queryImsState(anyInt());
|
||||
@@ -121,6 +123,9 @@ public class Enhanced4gLteSliceHelperTest {
|
||||
|
||||
@Test
|
||||
public void test_CreateEnhanced4gLteSlice_invalidSubId() {
|
||||
mQueryImsState.setEnabledByPlatform(false);
|
||||
mQueryImsState.setIsProvisionedOnDevice(false);
|
||||
mQueryImsState.setIsEnabledByUser(false);
|
||||
mShadowSubscriptionManager.setDefaultVoiceSubscriptionId(-1);
|
||||
|
||||
final Slice slice = mEnhanced4gLteSliceHelper.createEnhanced4gLteSlice(
|
||||
@@ -131,7 +136,7 @@ public class Enhanced4gLteSliceHelperTest {
|
||||
|
||||
@Test
|
||||
public void test_CreateEnhanced4gLteSlice_enhanced4gLteNotSupported() {
|
||||
when(mMockImsManager.isVolteEnabledByPlatform()).thenReturn(false);
|
||||
mQueryImsState.setEnabledByPlatform(false);
|
||||
|
||||
final Slice slice = mEnhanced4gLteSliceHelper.createEnhanced4gLteSlice(
|
||||
CustomSliceRegistry.ENHANCED_4G_SLICE_URI);
|
||||
@@ -142,9 +147,8 @@ public class Enhanced4gLteSliceHelperTest {
|
||||
|
||||
@Test
|
||||
public void test_CreateEnhanced4gLteSlice_success() {
|
||||
when(mMockImsManager.isVolteEnabledByPlatform()).thenReturn(true);
|
||||
mQueryImsState.setEnabledByPlatform(true);
|
||||
mQueryImsState.setIsProvisionedOnDevice(true);
|
||||
doReturn(true).when(mQueryImsState).isEnabledByUser();
|
||||
when(mMockImsManager.isNonTtyOrTtyOnVolteEnabled()).thenReturn(true);
|
||||
when(mMockCarrierConfigManager.getConfigForSubId(1)).thenReturn(null);
|
||||
|
||||
@@ -157,9 +161,8 @@ public class Enhanced4gLteSliceHelperTest {
|
||||
|
||||
@Test
|
||||
public void test_SettingSliceProvider_getsRightSliceEnhanced4gLte() {
|
||||
when(mMockImsManager.isVolteEnabledByPlatform()).thenReturn(true);
|
||||
mQueryImsState.setEnabledByPlatform(true);
|
||||
mQueryImsState.setIsProvisionedOnDevice(true);
|
||||
doReturn(true).when(mQueryImsState).isEnabledByUser();
|
||||
when(mMockImsManager.isNonTtyOrTtyOnVolteEnabled()).thenReturn(true);
|
||||
when(mMockCarrierConfigManager.getConfigForSubId(1)).thenReturn(null);
|
||||
when(mSlicesFeatureProvider.getNewEnhanced4gLteSliceHelper(mContext))
|
||||
@@ -174,9 +177,9 @@ public class Enhanced4gLteSliceHelperTest {
|
||||
@Test
|
||||
@Ignore
|
||||
public void test_SliceBroadcastReceiver_toggleOffEnhanced4gLte() {
|
||||
when(mMockImsManager.isVolteEnabledByPlatform()).thenReturn(true);
|
||||
mQueryImsState.setEnabledByPlatform(true);
|
||||
mQueryImsState.setIsProvisionedOnDevice(true);
|
||||
doReturn(false).when(mQueryImsState).isEnabledByUser();
|
||||
mQueryImsState.setIsEnabledByUser(false);
|
||||
when(mMockImsManager.isNonTtyOrTtyOnVolteEnabled()).thenReturn(true);
|
||||
when(mSlicesFeatureProvider.getNewEnhanced4gLteSliceHelper(mContext))
|
||||
.thenReturn(mEnhanced4gLteSliceHelper);
|
||||
|
Reference in New Issue
Block a user