[Provider Model] Ethernet default network with APM enabled on Panel
- Move the connected Wi-Fi network into Wi-Fi list - Screenshot: https://screenshot.googleplex.com/ALgpHTy8RWUYjSk Bug: 178926547 Bug: 179106406 Test: manual test atest -c ProviderModelSliceTest Change-Id: Idd0e0ab52d6fc88633d5b2eddabb00036e077c88
This commit is contained in:
@@ -83,8 +83,9 @@ public class ProviderModelSlice extends WifiSlice {
|
|||||||
// Second section: Add a carrier item.
|
// Second section: Add a carrier item.
|
||||||
// Third section: Add the Wi-Fi items which are not connected.
|
// Third section: Add the Wi-Fi items which are not connected.
|
||||||
// Fourth section: If device has connection problem, this row show the message for user.
|
// Fourth section: If device has connection problem, this row show the message for user.
|
||||||
|
boolean hasEthernet = isEthernetConnected();
|
||||||
final ListBuilder listBuilder = mHelper.createListBuilder(getUri());
|
final ListBuilder listBuilder = mHelper.createListBuilder(getUri());
|
||||||
if (mHelper.isAirplaneModeEnabled() && !mWifiManager.isWifiEnabled()) {
|
if (mHelper.isAirplaneModeEnabled() && !mWifiManager.isWifiEnabled() && !hasEthernet) {
|
||||||
log("Airplane mode is enabled.");
|
log("Airplane mode is enabled.");
|
||||||
return listBuilder.build();
|
return listBuilder.build();
|
||||||
}
|
}
|
||||||
@@ -104,12 +105,12 @@ public class ProviderModelSlice extends WifiSlice {
|
|||||||
log("hasCarrier: " + hasCarrier);
|
log("hasCarrier: " + hasCarrier);
|
||||||
|
|
||||||
// First section: Add a Ethernet or Wi-Fi item which state is connected.
|
// First section: Add a Ethernet or Wi-Fi item which state is connected.
|
||||||
if (isEthernetConnected()) {
|
final WifiSliceItem connectedWifiItem = mHelper.getConnectedWifiItem(wifiList);
|
||||||
|
if (hasEthernet) {
|
||||||
log("get Ethernet item which is connected");
|
log("get Ethernet item which is connected");
|
||||||
listBuilder.addRow(createEthernetRow());
|
listBuilder.addRow(createEthernetRow());
|
||||||
maxListSize--;
|
maxListSize--;
|
||||||
} else {
|
} else {
|
||||||
final WifiSliceItem connectedWifiItem = mHelper.getConnectedWifiItem(wifiList);
|
|
||||||
if (connectedWifiItem != null) {
|
if (connectedWifiItem != null) {
|
||||||
log("get Wi-Fi item which is connected");
|
log("get Wi-Fi item which is connected");
|
||||||
listBuilder.addRow(getWifiSliceItemRow(connectedWifiItem));
|
listBuilder.addRow(getWifiSliceItemRow(connectedWifiItem));
|
||||||
@@ -126,7 +127,14 @@ public class ProviderModelSlice extends WifiSlice {
|
|||||||
maxListSize--;
|
maxListSize--;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Third section: Add the Wi-Fi items which are not connected.
|
// Third section: Add the connected Wi-Fi item to Wi-Fi list if the Ethernet is connected.
|
||||||
|
if (connectedWifiItem != null && hasEthernet) {
|
||||||
|
log("get Wi-Fi item which is connected");
|
||||||
|
listBuilder.addRow(getWifiSliceItemRow(connectedWifiItem));
|
||||||
|
maxListSize--;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fourth section: Add the Wi-Fi items which are not connected.
|
||||||
if (wifiList != null && wifiList.size() > 0) {
|
if (wifiList != null && wifiList.size() > 0) {
|
||||||
log("get Wi-Fi items which are not connected. Wi-Fi items : " + wifiList.size());
|
log("get Wi-Fi items which are not connected. Wi-Fi items : " + wifiList.size());
|
||||||
|
|
||||||
@@ -140,7 +148,7 @@ public class ProviderModelSlice extends WifiSlice {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fourth section: If device has connection problem, this row show the message for user.
|
// Fifth section: If device has connection problem, this row show the message for user.
|
||||||
// 1) show non_carrier_network_unavailable:
|
// 1) show non_carrier_network_unavailable:
|
||||||
// - while no wifi item
|
// - while no wifi item
|
||||||
// 2) show all_network_unavailable:
|
// 2) show all_network_unavailable:
|
||||||
@@ -154,7 +162,7 @@ public class ProviderModelSlice extends WifiSlice {
|
|||||||
resId = R.string.all_network_unavailable;
|
resId = R.string.all_network_unavailable;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!hasCarrier) {
|
if (!hasCarrier && !hasEthernet) {
|
||||||
// If there is no item in ProviderModelItem, slice needs a header.
|
// If there is no item in ProviderModelItem, slice needs a header.
|
||||||
listBuilder.setHeader(mHelper.createHeader(
|
listBuilder.setHeader(mHelper.createHeader(
|
||||||
NetworkProviderSettings.ACTION_NETWORK_PROVIDER_SETTINGS));
|
NetworkProviderSettings.ACTION_NETWORK_PROVIDER_SETTINGS));
|
||||||
|
@@ -264,7 +264,7 @@ public class ProviderModelSliceTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
@UiThreadTest
|
@UiThreadTest
|
||||||
public void getSlice_connectedEthernet_getOneEthernetAndOneCarrierAndTwoWiFi() {
|
public void getSlice_haveEthernetAndCarrierAndTwoDisconnectedWifi_getFourRow() {
|
||||||
mWifiList.clear();
|
mWifiList.clear();
|
||||||
mockWifiItemCondition(mMockWifiSliceItem1, "wifi1", "wifi1",
|
mockWifiItemCondition(mMockWifiSliceItem1, "wifi1", "wifi1",
|
||||||
WifiEntry.CONNECTED_STATE_DISCONNECTED, "wifi1_key", true);
|
WifiEntry.CONNECTED_STATE_DISCONNECTED, "wifi1_key", true);
|
||||||
@@ -273,9 +273,29 @@ public class ProviderModelSliceTest {
|
|||||||
WifiEntry.CONNECTED_STATE_DISCONNECTED, "wifi2_key", true);
|
WifiEntry.CONNECTED_STATE_DISCONNECTED, "wifi2_key", true);
|
||||||
mWifiList.add(mMockWifiSliceItem2);
|
mWifiList.add(mMockWifiSliceItem2);
|
||||||
mMockNetworkProviderWorker.updateSelfResults(mWifiList);
|
mMockNetworkProviderWorker.updateSelfResults(mWifiList);
|
||||||
when(mProviderModelSliceHelper.isAirplaneModeEnabled()).thenReturn(false);
|
mockHelperCondition(false, true, true, null);
|
||||||
when(mProviderModelSliceHelper.hasCarrier()).thenReturn(true);
|
when(mMockNetworkProviderWorker.isEthernetConnected()).thenReturn(true);
|
||||||
when(mProviderModelSliceHelper.isDataSimActive()).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
|
||||||
|
@UiThreadTest
|
||||||
|
public void getSlice_haveEthernetAndCarrierAndConnectedWifiAndDisconnectedWifi_getFourRow() {
|
||||||
|
mWifiList.clear();
|
||||||
|
mockWifiItemCondition(mMockWifiSliceItem1, "wifi1", "wifi1",
|
||||||
|
WifiEntry.CONNECTED_STATE_CONNECTED, "wifi1_key", true);
|
||||||
|
mWifiList.add(mMockWifiSliceItem1);
|
||||||
|
mockWifiItemCondition(mMockWifiSliceItem2, "wifi2", "wifi2",
|
||||||
|
WifiEntry.CONNECTED_STATE_DISCONNECTED, "wifi2_key", true);
|
||||||
|
mWifiList.add(mMockWifiSliceItem2);
|
||||||
|
mMockNetworkProviderWorker.updateSelfResults(mWifiList);
|
||||||
|
mockHelperCondition(false, true, true, mWifiList.get(0));
|
||||||
when(mMockNetworkProviderWorker.isEthernetConnected()).thenReturn(true);
|
when(mMockNetworkProviderWorker.isEthernetConnected()).thenReturn(true);
|
||||||
|
|
||||||
final Slice slice = mMockProviderModelSlice.getSlice();
|
final Slice slice = mMockProviderModelSlice.getSlice();
|
||||||
|
Reference in New Issue
Block a user