[Provider Model] Add WiFi toggle in internet panel
- Move Wi-Fi toggle from menu button to slice row - Remove Wi-Fi disconnect action - Show scanning sub-title once only Bug: 189912933 Test: manual test atest -c InternetConnectivityPanelTest \ ProviderModelSliceTest Change-Id: I2baf05362f5cd0a8ce94c7b3b2b112a7e9fe6894
This commit is contained in:
@@ -16,8 +16,6 @@
|
||||
|
||||
package com.android.settings.network;
|
||||
|
||||
import static com.android.settings.network.ProviderModelSlice.ACTION_TITLE_CONNECT_TO_CARRIER;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
@@ -42,6 +40,8 @@ import android.telephony.SubscriptionManager;
|
||||
import android.telephony.TelephonyManager;
|
||||
|
||||
import androidx.slice.Slice;
|
||||
import androidx.slice.SliceItem;
|
||||
import androidx.slice.SliceMetadata;
|
||||
import androidx.slice.SliceProvider;
|
||||
import androidx.slice.builders.ListBuilder;
|
||||
import androidx.slice.builders.SliceAction;
|
||||
@@ -100,8 +100,6 @@ public class ProviderModelSliceTest {
|
||||
ListBuilder.RowBuilder mMockCarrierRowBuild;
|
||||
@Mock
|
||||
WifiPickerTracker mWifiPickerTracker;
|
||||
@Mock
|
||||
WifiSliceItem mWifiSliceItem;
|
||||
|
||||
private FakeFeatureFactory mFeatureFactory;
|
||||
|
||||
@@ -122,7 +120,7 @@ public class ProviderModelSliceTest {
|
||||
when(mContext.getSystemService(TelephonyManager.class)).thenReturn(mTelephonyManager);
|
||||
when(mTelephonyManager.createForSubscriptionId(anyInt())).thenReturn(mTelephonyManager);
|
||||
when(mContext.getSystemService(WifiManager.class)).thenReturn(mWifiManager);
|
||||
|
||||
when(mWifiManager.isWifiEnabled()).thenReturn(true);
|
||||
|
||||
// Set-up specs for SliceMetadata.
|
||||
SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
|
||||
@@ -182,7 +180,24 @@ public class ProviderModelSliceTest {
|
||||
|
||||
@Test
|
||||
@UiThreadTest
|
||||
public void getSlice_haveTwoWifiAndOneCarrier_getCarrierAndTwoWiFiAndSeeAll() {
|
||||
public void getSlice_airplaneModeIsOn_oneWifiToggle() {
|
||||
mWifiList.clear();
|
||||
mMockNetworkProviderWorker.updateSelfResults(null);
|
||||
mockHelperCondition(true, false, false, null);
|
||||
|
||||
final Slice slice = mMockProviderModelSlice.getSlice();
|
||||
|
||||
assertThat(slice).isNotNull();
|
||||
verify(mListBuilder, times(1)).addRow(any(ListBuilder.RowBuilder.class));
|
||||
final SliceItem sliceTitle =
|
||||
SliceMetadata.from(mContext, slice).getListContent().getHeader().getTitleItem();
|
||||
assertThat(sliceTitle.getText()).isEqualTo(
|
||||
ResourcesUtils.getResourcesString(mContext, "wifi_settings"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@UiThreadTest
|
||||
public void getSlice_haveTwoWifiAndOneCarrier_getFiveRow() {
|
||||
mWifiList.clear();
|
||||
mockWifiItemCondition(mMockWifiSliceItem1, "wifi1", "wifi1",
|
||||
WifiEntry.CONNECTED_STATE_CONNECTED, "wifi1_key", true);
|
||||
@@ -197,13 +212,13 @@ public class ProviderModelSliceTest {
|
||||
|
||||
assertThat(slice).isNotNull();
|
||||
verify(mListBuilder, times(1)).addRow(mMockCarrierRowBuild);
|
||||
verify(mListBuilder, times(4)).addRow(any(ListBuilder.RowBuilder.class));
|
||||
verify(mListBuilder, times(5)).addRow(any(ListBuilder.RowBuilder.class));
|
||||
assertThat(mMockProviderModelSlice.hasSeeAllRow()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
@UiThreadTest
|
||||
public void getSlice_haveOneConnectedWifiAndTwoDisconnectedWifiAndNoCarrier_getFourRow() {
|
||||
public void getSlice_haveOneConnectedWifiAndTwoDisconnectedWifiAndNoCarrier_getFiveRow() {
|
||||
mWifiList.clear();
|
||||
mockWifiItemCondition(mMockWifiSliceItem1, "wifi1", "wifi1",
|
||||
WifiEntry.CONNECTED_STATE_CONNECTED, "wifi1_key", true);
|
||||
@@ -220,13 +235,13 @@ public class ProviderModelSliceTest {
|
||||
final Slice slice = mMockProviderModelSlice.getSlice();
|
||||
|
||||
assertThat(slice).isNotNull();
|
||||
verify(mListBuilder, times(4)).addRow(any(ListBuilder.RowBuilder.class));
|
||||
verify(mListBuilder, times(5)).addRow(any(ListBuilder.RowBuilder.class));
|
||||
assertThat(mMockProviderModelSlice.hasSeeAllRow()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
@UiThreadTest
|
||||
public void getSlice_haveTwoDisconnectedWifiAndNoCarrier_getThreeRow() {
|
||||
public void getSlice_haveTwoDisconnectedWifiAndNoCarrier_getFourRow() {
|
||||
mWifiList.clear();
|
||||
mockWifiItemCondition(mMockWifiSliceItem1, "wifi1", "wifi1",
|
||||
WifiEntry.CONNECTED_STATE_DISCONNECTED, "wifi1_key", true);
|
||||
@@ -240,13 +255,13 @@ public class ProviderModelSliceTest {
|
||||
final Slice slice = mMockProviderModelSlice.getSlice();
|
||||
|
||||
assertThat(slice).isNotNull();
|
||||
verify(mListBuilder, times(3)).addRow(any(ListBuilder.RowBuilder.class));
|
||||
verify(mListBuilder, times(4)).addRow(any(ListBuilder.RowBuilder.class));
|
||||
assertThat(mMockProviderModelSlice.hasSeeAllRow()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
@UiThreadTest
|
||||
public void getSlice_haveEthernetAndCarrierAndTwoDisconnectedWifi_getFiveRow() {
|
||||
public void getSlice_haveEthernetAndCarrierAndTwoDisconnectedWifi_getSixRow() {
|
||||
mWifiList.clear();
|
||||
mockWifiItemCondition(mMockWifiSliceItem1, "wifi1", "wifi1",
|
||||
WifiEntry.CONNECTED_STATE_DISCONNECTED, "wifi1_key", true);
|
||||
@@ -264,13 +279,13 @@ public class ProviderModelSliceTest {
|
||||
assertThat(slice).isNotNull();
|
||||
assertThat(mMockProviderModelSlice.hasCreateEthernetRow()).isTrue();
|
||||
verify(mListBuilder, times(1)).addRow(mMockCarrierRowBuild);
|
||||
verify(mListBuilder, times(5)).addRow(any(ListBuilder.RowBuilder.class));
|
||||
verify(mListBuilder, times(6)).addRow(any(ListBuilder.RowBuilder.class));
|
||||
assertThat(mMockProviderModelSlice.hasSeeAllRow()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
@UiThreadTest
|
||||
public void getSlice_haveEthernetAndCarrierAndConnectedWifiAndDisconnectedWifi_getFiveRow() {
|
||||
public void getSlice_haveEthernetAndCarrierAndConnectedWifiAndDisconnectedWifi_getSixRow() {
|
||||
mWifiList.clear();
|
||||
mockWifiItemCondition(mMockWifiSliceItem1, "wifi1", "wifi1",
|
||||
WifiEntry.CONNECTED_STATE_CONNECTED, "wifi1_key", true);
|
||||
@@ -288,7 +303,7 @@ public class ProviderModelSliceTest {
|
||||
assertThat(slice).isNotNull();
|
||||
assertThat(mMockProviderModelSlice.hasCreateEthernetRow()).isTrue();
|
||||
verify(mListBuilder, times(1)).addRow(mMockCarrierRowBuild);
|
||||
verify(mListBuilder, times(5)).addRow(any(ListBuilder.RowBuilder.class));
|
||||
verify(mListBuilder, times(6)).addRow(any(ListBuilder.RowBuilder.class));
|
||||
assertThat(mMockProviderModelSlice.hasSeeAllRow()).isTrue();
|
||||
}
|
||||
|
||||
@@ -380,6 +395,11 @@ public class ProviderModelSliceTest {
|
||||
return super.getSeeAllRow();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ListBuilder.RowBuilder getWifiSliceItemRow(WifiSliceItem wifiSliceItem) {
|
||||
return super.getWifiSliceItemRow(wifiSliceItem);
|
||||
}
|
||||
|
||||
public boolean hasCreateEthernetRow() {
|
||||
return mHasCreateEthernetRow;
|
||||
}
|
||||
@@ -420,29 +440,4 @@ public class ProviderModelSliceTest {
|
||||
|
||||
verify(mMockNetworkProviderWorker, never()).connectCarrierNetwork();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getWifiSliceItemRow_wifiNoInternetAccess_actionConnectToWifiSsid() {
|
||||
when(mWifiSliceItem.getKey()).thenReturn("wifi_key");
|
||||
when(mWifiSliceItem.getTitle()).thenReturn("wifi_ssid");
|
||||
when(mWifiSliceItem.hasInternetAccess()).thenReturn(false);
|
||||
|
||||
ListBuilder.RowBuilder rowBuilder =
|
||||
mMockProviderModelSlice.getWifiSliceItemRow(mWifiSliceItem);
|
||||
|
||||
assertThat(rowBuilder.getPrimaryAction().getTitle())
|
||||
.isEqualTo("wifi_ssid");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getWifiSliceItemRow_wifiHasInternetAccess_actionConnectToCarrier() {
|
||||
when(mWifiSliceItem.getTitle()).thenReturn("wifi_ssid");
|
||||
when(mWifiSliceItem.hasInternetAccess()).thenReturn(true);
|
||||
|
||||
ListBuilder.RowBuilder rowBuilder =
|
||||
mMockProviderModelSlice.getWifiSliceItemRow(mWifiSliceItem);
|
||||
|
||||
assertThat(rowBuilder.getPrimaryAction().getTitle())
|
||||
.isEqualTo(ACTION_TITLE_CONNECT_TO_CARRIER);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user