[Provider Model] Add connected ethernet network to internet panel

- Show the connected ethernet network to first item of internet panel

- Screenshot:
  https://screenshot.googleplex.com/teritCBuvxxSyr6

Bug: 176796623
Test: manual test
- atest NetworkProviderWorkerTest \
        ProviderModelSliceTest

Change-Id: I423a7951f403bf86c288da52fc342520fd24f466
This commit is contained in:
Weng Su
2021-01-25 06:15:55 +08:00
parent e9d44254c7
commit ca8a3d7e64
4 changed files with 146 additions and 6 deletions

View File

@@ -262,6 +262,30 @@ public class ProviderModelSliceTest {
verify(mListBuilder, times(2)).addRow(any(ListBuilder.RowBuilder.class));
}
@Test
@UiThreadTest
public void getSlice_connectedEthernet_getOneEthernetAndOneCarrierAndTwoWiFi() {
mWifiList.clear();
mockWifiItemCondition(mMockWifiSliceItem1, "wifi1", "wifi1",
WifiEntry.CONNECTED_STATE_DISCONNECTED, "wifi1_key", true);
mWifiList.add(mMockWifiSliceItem1);
mockWifiItemCondition(mMockWifiSliceItem2, "wifi2", "wifi2",
WifiEntry.CONNECTED_STATE_DISCONNECTED, "wifi2_key", true);
mWifiList.add(mMockWifiSliceItem2);
mMockNetworkProviderWorker.updateSelfResults(mWifiList);
when(mProviderModelSliceHelper.isAirplaneModeEnabled()).thenReturn(false);
when(mProviderModelSliceHelper.hasCarrier()).thenReturn(true);
when(mProviderModelSliceHelper.isDataSimActive()).thenReturn(true);
when(mMockNetworkProviderWorker.isEthernetConnected()).thenReturn(true);
final Slice slice = mMockProviderModelSlice.getSlice();
assertThat(slice).isNotNull();
assertThat(mMockProviderModelSlice.hasCreateEthernetRow()).isTrue();
verify(mListBuilder, times(1)).addRow(mMockCarrierRowBuild);
verify(mListBuilder, times(4)).addRow(any(ListBuilder.RowBuilder.class));
}
@Test
public void providerModelSlice_hasCorrectUri() {
assertThat(mMockProviderModelSlice.getUri()).isEqualTo(PROVIDER_MODEL_SLICE_URI);
@@ -333,6 +357,7 @@ public class ProviderModelSliceTest {
public class MockProviderModelSlice extends ProviderModelSlice {
private MockNetworkProviderWorker mNetworkProviderWorker;
private boolean mHasCreateEthernetRow;
MockProviderModelSlice(Context context, MockNetworkProviderWorker networkProviderWorker) {
super(context);
@@ -348,6 +373,16 @@ public class ProviderModelSliceTest {
NetworkProviderWorker getWorker() {
return mNetworkProviderWorker;
}
@Override
ListBuilder.RowBuilder createEthernetRow() {
mHasCreateEthernetRow = true;
return super.createEthernetRow();
}
public boolean hasCreateEthernetRow() {
return mHasCreateEthernetRow;
}
}
@Test

View File

@@ -16,6 +16,9 @@
package com.android.settings.network.telephony;
import static com.android.settings.network.InternetUpdater.INTERNET_CELLULAR;
import static com.android.settings.network.InternetUpdater.INTERNET_ETHERNET;
import static com.android.settings.network.InternetUpdater.INTERNET_WIFI;
import static com.android.settings.slices.CustomSliceRegistry.PROVIDER_MODEL_SLICE_URI;
import static com.google.common.truth.Truth.assertThat;
@@ -225,6 +228,47 @@ public class NetworkProviderWorkerTest {
assertThat(mMockNetworkProviderWorker.hasNotification()).isTrue();
}
@Test
public void onInternetTypeChanged_connectedFromWifiToEthernet_callUpdateSlice() {
mMockNetworkProviderWorker.receiveNotification(false);
mMockNetworkProviderWorker.onInternetTypeChanged(INTERNET_WIFI);
mMockNetworkProviderWorker.onInternetTypeChanged(INTERNET_ETHERNET);
assertThat(mMockNetworkProviderWorker.hasNotification()).isTrue();
}
@Test
public void onInternetTypeChanged_connectedFromEthernetToCarrier_callUpdateSlice() {
mMockNetworkProviderWorker.receiveNotification(false);
mMockNetworkProviderWorker.onInternetTypeChanged(INTERNET_ETHERNET);
mMockNetworkProviderWorker.onInternetTypeChanged(INTERNET_CELLULAR);
assertThat(mMockNetworkProviderWorker.hasNotification()).isTrue();
}
@Test
public void isEthernetConnected_connectedEthernet_shouldBeTrue() {
mMockNetworkProviderWorker.onInternetTypeChanged(INTERNET_ETHERNET);
assertThat(mMockNetworkProviderWorker.isEthernetConnected()).isTrue();
}
@Test
public void isEthernetConnected_connectedWifi_shouldBeFalse() {
mMockNetworkProviderWorker.onInternetTypeChanged(INTERNET_WIFI);
assertThat(mMockNetworkProviderWorker.isEthernetConnected()).isFalse();
}
@Test
public void isEthernetConnected_connectedCarrier_shouldBeFalse() {
mMockNetworkProviderWorker.onInternetTypeChanged(INTERNET_CELLULAR);
assertThat(mMockNetworkProviderWorker.isEthernetConnected()).isFalse();
}
public class MockNetworkProviderWorker extends NetworkProviderWorker {
private boolean mHasNotification = false;
private int mDefaultDataSubId = 1;