Merge "Mainline: removed legacy UI for network selection mode."

This commit is contained in:
SongFerng Wang
2020-01-15 10:12:22 +00:00
committed by Android (Google) Code Review
6 changed files with 30 additions and 282 deletions

View File

@@ -16,35 +16,25 @@
package com.android.settings.network.telephony;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.telephony.CellInfo;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import java.util.ArrayList;
@RunWith(RobolectricTestRunner.class)
public class NetworkOperatorPreferenceTest {
private static final int LEVEL = 2;
@Mock
private Resources mResources;
@Mock
private CellInfo mCellInfo;
private Context mContext;
@Before
@@ -55,16 +45,5 @@ public class NetworkOperatorPreferenceTest {
when(mContext.getResources()).thenReturn(mResources);
}
@Test
public void setIcon_useOldApi_doNothing() {
when(mResources.getBoolean(com.android.internal.R.bool.config_enableNewAutoSelectNetworkUI))
.thenReturn(false);
final NetworkOperatorPreference preference = spy(
new NetworkOperatorPreference(mContext, mCellInfo,
new ArrayList<>() /* forbiddenPlmns */, false /* show4GForLTE */));
preference.setIcon(LEVEL);
verify(preference, never()).setIcon(any(Drawable.class));
}
//TODO: add test cases.
}

View File

@@ -33,9 +33,6 @@ import android.telephony.NetworkScanRequest;
import android.telephony.TelephonyManager;
import android.telephony.TelephonyScanManager;
import com.android.internal.telephony.CellNetworkScanResult;
import com.android.internal.telephony.OperatorInfo;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
@@ -47,12 +44,10 @@ import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
import org.robolectric.RobolectricTestRunner;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Executor;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
@RunWith(RobolectricTestRunner.class)
public class NetworkScanHelperTest {
@@ -61,7 +56,7 @@ public class NetworkScanHelperTest {
private TelephonyManager mTelephonyManager;
@Mock
private CellNetworkScanResult mCellNetworkScanResult;
private List<CellInfo> mCellInfos;
@Mock
private NetworkScanHelper.NetworkScanCallback mNetworkScanCallback;
@@ -75,7 +70,6 @@ public class NetworkScanHelperTest {
private static final int SUB_ID = 1;
private NetworkScan mNetworkScan;
private OperatorInfo mOperatorInfo;
@Before
public void setUp() {
@@ -87,62 +81,11 @@ public class NetworkScanHelperTest {
mNetworkScanCallback, mNetworkScanExecutor);
mNetworkScan = spy(new NetworkScan(SCAN_ID, SUB_ID));
mOperatorInfo = new OperatorInfo("Testing", "Test", "12345", "unknown");
}
@Test
public void startNetworkScan_scanOnceAndSuccess_completionWithResult() {
ArrayList<OperatorInfo> expectedResult = new ArrayList<OperatorInfo>();
expectedResult.add(mOperatorInfo);
when(mTelephonyManager.getAvailableNetworks()).thenReturn(mCellNetworkScanResult);
when(mCellNetworkScanResult.getStatus()).thenReturn(
CellNetworkScanResult.STATUS_SUCCESS);
when(mCellNetworkScanResult.getOperators()).thenReturn(expectedResult);
ArgumentCaptor<List<CellInfo>> argument = ArgumentCaptor.forClass(List.class);
startNetworkScan_waitForAll(true);
verify(mNetworkScanCallback, times(1)).onResults(argument.capture());
List<CellInfo> actualResult = argument.getValue();
assertThat(actualResult.size()).isEqualTo(expectedResult.size());
verify(mNetworkScanCallback, times(1)).onComplete();
}
@Test
public void startNetworkScan_scanOnceAndFail_failureWithErrorCode() {
when(mTelephonyManager.getAvailableNetworks()).thenReturn(mCellNetworkScanResult);
when(mCellNetworkScanResult.getStatus()).thenReturn(
CellNetworkScanResult.STATUS_RADIO_GENERIC_FAILURE);
startNetworkScan_waitForAll(true);
verify(mNetworkScanCallback, times(1)).onError(anyInt());
}
@Test
public void startNetworkScan_scanOnceAndAbort_withoutCrash() {
when(mCellNetworkScanResult.getStatus()).thenReturn(
CellNetworkScanResult.STATUS_RADIO_GENERIC_FAILURE);
doAnswer(new Answer() {
@Override
public Object answer(InvocationOnMock invocation) throws Throwable {
Thread.sleep(THREAD_EXECUTION_TIMEOUT_MS);
return mCellNetworkScanResult;
}
}).when(mTelephonyManager).getAvailableNetworks();
startNetworkScan_waitForAll(false);
verify(mNetworkScanCallback, times(0)).onError(anyInt());
}
@Test
public void startNetworkScan_incrementalAndSuccess_completionWithResult() {
ArrayList<CellInfo> expectedResult = new ArrayList<CellInfo>();
expectedResult.add(CellInfoUtil.convertOperatorInfoToCellInfo(mOperatorInfo));
when(mCellInfos.size()).thenReturn(1);
doAnswer(new Answer() {
@Override
@@ -150,7 +93,7 @@ public class NetworkScanHelperTest {
TelephonyScanManager.NetworkScanCallback callback =
(TelephonyScanManager.NetworkScanCallback)
(invocation.getArguments()[2]);
callback.onResults(expectedResult);
callback.onResults(mCellInfos);
callback.onComplete();
return mNetworkScan;
}
@@ -164,7 +107,7 @@ public class NetworkScanHelperTest {
verify(mNetworkScanCallback, times(1)).onResults(argument.capture());
List<CellInfo> actualResult = argument.getValue();
assertThat(actualResult.size()).isEqualTo(expectedResult.size());
assertThat(actualResult.size()).isEqualTo(mCellInfos.size());
verify(mNetworkScanCallback, times(1)).onComplete();
}
@@ -187,7 +130,7 @@ public class NetworkScanHelperTest {
TelephonyScanManager.NetworkScanCallback callback =
(TelephonyScanManager.NetworkScanCallback)
(invocation.getArguments()[2]);
callback.onError(CellNetworkScanResult.STATUS_RADIO_GENERIC_FAILURE);
callback.onError(NetworkScan.ERROR_MODEM_ERROR);
return mNetworkScan;
}
}).when(mTelephonyManager).requestNetworkScan(
@@ -211,28 +154,8 @@ public class NetworkScanHelperTest {
verify(mNetworkScan, times(1)).stopScan();
}
private void startNetworkScan_waitForAll(boolean waitForCompletion) {
mNetworkScanHelper.startNetworkScan(
NetworkScanHelper.NETWORK_SCAN_TYPE_WAIT_FOR_ALL_RESULTS);
if (!waitForCompletion) {
mNetworkScanHelper.stopNetworkQuery();
}
mNetworkScanExecutor.shutdown();
boolean executorTerminate = false;
try {
executorTerminate = mNetworkScanExecutor.awaitTermination(
THREAD_EXECUTION_TIMEOUT_MS, TimeUnit.MILLISECONDS);
} catch (Exception ex) {
}
assertThat(executorTerminate).isEqualTo(waitForCompletion);
}
private void startNetworkScan_incremental(boolean waitForCompletion) {
mNetworkScanHelper.startNetworkScan(
NetworkScanHelper.NETWORK_SCAN_TYPE_INCREMENTAL_RESULTS);
mNetworkScanHelper.startNetworkScan();
if (!waitForCompletion) {
mNetworkScanHelper.stopNetworkQuery();
}