Merge "Moving the error messages from slice to panel's subtitle" into sc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
45726b937b
@@ -34,7 +34,6 @@ import android.net.Network;
|
||||
import android.net.NetworkCapabilities;
|
||||
import android.net.Uri;
|
||||
import android.os.PersistableBundle;
|
||||
import android.provider.Settings;
|
||||
import android.telephony.CarrierConfigManager;
|
||||
import android.telephony.ServiceState;
|
||||
import android.telephony.SubscriptionInfo;
|
||||
@@ -43,8 +42,6 @@ import android.telephony.TelephonyManager;
|
||||
import android.text.Html;
|
||||
|
||||
import androidx.slice.Slice;
|
||||
import androidx.slice.builders.GridRowBuilder;
|
||||
import androidx.slice.builders.GridRowBuilder.CellBuilder;
|
||||
import androidx.slice.builders.ListBuilder;
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
@@ -114,20 +111,6 @@ public class ProviderModelSliceHelperTest {
|
||||
mProviderModelSliceHelper = new MockProviderModelSliceHelper(mContext, testCustomSliceable);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void createMessageGridRow_inputTheResourceId_verifyTitle() {
|
||||
int messageResId = ResourcesUtils.getResourcesId(mContext, "string",
|
||||
"non_carrier_network_unavailable");
|
||||
CharSequence title = ResourcesUtils.getResourcesString(mContext,
|
||||
"non_carrier_network_unavailable");
|
||||
|
||||
GridRowBuilder testGridRow = mProviderModelSliceHelper.createMessageGridRow(messageResId,
|
||||
Settings.ACTION_AIRPLANE_MODE_SETTINGS);
|
||||
List<CellBuilder> cellItem = testGridRow.getCells();
|
||||
|
||||
assertThat(cellItem.get(0).getTitle()).isEqualTo(title);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getConnectedWifiItem_inputListInvolveOneConnectedWifiItem_verifyReturnItem() {
|
||||
when(mWifiSliceItem1.getConnectedState()).thenReturn(WifiEntry.CONNECTED_STATE_CONNECTED);
|
||||
|
@@ -22,7 +22,6 @@ import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.anyInt;
|
||||
import static org.mockito.ArgumentMatchers.anyLong;
|
||||
import static org.mockito.ArgumentMatchers.anyString;
|
||||
import static org.mockito.Mockito.eq;
|
||||
import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.times;
|
||||
@@ -42,7 +41,6 @@ import android.telephony.TelephonyManager;
|
||||
|
||||
import androidx.slice.Slice;
|
||||
import androidx.slice.SliceProvider;
|
||||
import androidx.slice.builders.GridRowBuilder;
|
||||
import androidx.slice.builders.ListBuilder;
|
||||
import androidx.slice.builders.SliceAction;
|
||||
import androidx.slice.widget.SliceLiveData;
|
||||
@@ -97,12 +95,6 @@ public class ProviderModelSliceTest {
|
||||
private WifiSliceItem mMockWifiSliceItem3;
|
||||
@Mock
|
||||
ListBuilder.RowBuilder mMockCarrierRowBuild;
|
||||
@Mock
|
||||
ListBuilder.HeaderBuilder mMockHeader;
|
||||
@Mock
|
||||
GridRowBuilder mMockGridRowBuilderNonCarrierNetworkUnavailable;
|
||||
@Mock
|
||||
GridRowBuilder mMockGridRowBuilderAllNetworkUnavailable;
|
||||
|
||||
private FakeFeatureFactory mFeatureFactory;
|
||||
@Mock
|
||||
@@ -147,35 +139,7 @@ public class ProviderModelSliceTest {
|
||||
|
||||
@Test
|
||||
@UiThreadTest
|
||||
public void getSlice_noWorkerAndNoCarrier_getOneHeaderOneGridRowWithAllNetworkUnavailable() {
|
||||
mWifiList.clear();
|
||||
mMockProviderModelSlice = new MockProviderModelSlice(mContext, null);
|
||||
mockHelperCondition(false, false, false, null);
|
||||
|
||||
final Slice slice = mMockProviderModelSlice.getSlice();
|
||||
|
||||
assertThat(slice).isNotNull();
|
||||
verify(mListBuilder, times(1)).setHeader(mMockHeader);
|
||||
verify(mListBuilder, times(1)).addGridRow(mMockGridRowBuilderAllNetworkUnavailable);
|
||||
}
|
||||
|
||||
@Test
|
||||
@UiThreadTest
|
||||
public void getSlice_noWifiAndNoCarrier_getOneHeaderOneGridRowWithAllNetworkUnavailable() {
|
||||
mWifiList.clear();
|
||||
mMockNetworkProviderWorker.updateSelfResults(null);
|
||||
mockHelperCondition(false, false, false, null);
|
||||
|
||||
final Slice slice = mMockProviderModelSlice.getSlice();
|
||||
|
||||
assertThat(slice).isNotNull();
|
||||
verify(mListBuilder, times(1)).setHeader(mMockHeader);
|
||||
verify(mListBuilder, times(1)).addGridRow(mMockGridRowBuilderAllNetworkUnavailable);
|
||||
}
|
||||
|
||||
@Test
|
||||
@UiThreadTest
|
||||
public void getSlice_noWifiAndHasCarrierNoData_oneCarrierOneGridRowWithAllNetworkUnavailable() {
|
||||
public void getSlice_noWifiAndHasCarrierNoData_oneCarrier() {
|
||||
mWifiList.clear();
|
||||
mMockNetworkProviderWorker.updateSelfResults(null);
|
||||
mockHelperCondition(false, true, false, null);
|
||||
@@ -184,12 +148,11 @@ public class ProviderModelSliceTest {
|
||||
|
||||
assertThat(slice).isNotNull();
|
||||
verify(mListBuilder, times(1)).addRow(mMockCarrierRowBuild);
|
||||
verify(mListBuilder, times(1)).addGridRow(mMockGridRowBuilderAllNetworkUnavailable);
|
||||
}
|
||||
|
||||
@Test
|
||||
@UiThreadTest
|
||||
public void getSlice_noWifiAndNoCarrier_oneCarrierOneGridRowWithNonCarrierNetworkUnavailable() {
|
||||
public void getSlice_noWifiAndNoCarrier_oneCarrier() {
|
||||
mWifiList.clear();
|
||||
mMockProviderModelSlice = new MockProviderModelSlice(mContext, null);
|
||||
mockHelperCondition(false, true, true, null);
|
||||
@@ -198,7 +161,6 @@ public class ProviderModelSliceTest {
|
||||
|
||||
assertThat(slice).isNotNull();
|
||||
verify(mListBuilder, times(1)).addRow(mMockCarrierRowBuild);
|
||||
verify(mListBuilder, times(1)).addGridRow(mMockGridRowBuilderNonCarrierNetworkUnavailable);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -331,19 +293,6 @@ public class ProviderModelSliceTest {
|
||||
|
||||
private void mockBuilder() {
|
||||
SliceAction mockSliceAction = getPrimarySliceAction();
|
||||
when(mMockHeader.getTitle()).thenReturn("mockHeader");
|
||||
when(mMockHeader.getPrimaryAction()).thenReturn(mockSliceAction);
|
||||
when(mProviderModelSliceHelper.createHeader(anyString())).thenReturn(mMockHeader);
|
||||
|
||||
int resId = ResourcesUtils.getResourcesId(mContext, "string",
|
||||
"non_carrier_network_unavailable");
|
||||
when(mProviderModelSliceHelper.createMessageGridRow(eq(resId), anyString())).thenReturn(
|
||||
mMockGridRowBuilderNonCarrierNetworkUnavailable);
|
||||
resId = ResourcesUtils.getResourcesId(mContext, "string",
|
||||
"all_network_unavailable");
|
||||
when(mProviderModelSliceHelper.createMessageGridRow(eq(resId), anyString())).thenReturn(
|
||||
mMockGridRowBuilderAllNetworkUnavailable);
|
||||
|
||||
when(mMockCarrierRowBuild.getTitle()).thenReturn("mockRow");
|
||||
when(mMockCarrierRowBuild.getPrimaryAction()).thenReturn(mockSliceAction);
|
||||
when(mProviderModelSliceHelper.createCarrierRow(anyString())).thenReturn(
|
||||
|
@@ -22,15 +22,19 @@ import static org.mockito.Mockito.clearInvocations;
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.content.Context;
|
||||
import android.net.Uri;
|
||||
import android.net.wifi.ScanResult;
|
||||
import android.net.wifi.WifiManager;
|
||||
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
|
||||
import com.android.settings.network.AirplaneModePreferenceController;
|
||||
import com.android.settings.network.InternetUpdater;
|
||||
import com.android.settings.network.ProviderModelSliceHelper;
|
||||
import com.android.settings.slices.CustomSliceRegistry;
|
||||
import com.android.settings.testutils.ResourcesUtils;
|
||||
|
||||
@@ -42,6 +46,7 @@ import org.mockito.Mock;
|
||||
import org.mockito.junit.MockitoJUnit;
|
||||
import org.mockito.junit.MockitoRule;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
@@ -55,6 +60,12 @@ public class InternetConnectivityPanelTest {
|
||||
ApplicationProvider.getApplicationContext(), "wifi_is_turned_on_subtitle");
|
||||
public static final String BUTTON_SETTINGS = ResourcesUtils.getResourcesString(
|
||||
ApplicationProvider.getApplicationContext(), "settings_button");
|
||||
public static final String SUBTITLE_NON_CARRIER_NETWORK_UNAVAILABLE =
|
||||
ResourcesUtils.getResourcesString(ApplicationProvider.getApplicationContext(),
|
||||
"non_carrier_network_unavailable");
|
||||
public static final String SUBTITLE_ALL_NETWORK_UNAVAILABLE =
|
||||
ResourcesUtils.getResourcesString(ApplicationProvider.getApplicationContext(),
|
||||
"all_network_unavailable");
|
||||
|
||||
@Rule
|
||||
public final MockitoRule mMocks = MockitoJUnit.rule();
|
||||
@@ -62,6 +73,10 @@ public class InternetConnectivityPanelTest {
|
||||
PanelContentCallback mPanelContentCallback;
|
||||
@Mock
|
||||
InternetUpdater mInternetUpdater;
|
||||
@Mock
|
||||
private WifiManager mWifiManager;
|
||||
@Mock
|
||||
private ProviderModelSliceHelper mProviderModelSliceHelper;
|
||||
|
||||
private Context mContext;
|
||||
private InternetConnectivityPanel mPanel;
|
||||
@@ -69,11 +84,14 @@ public class InternetConnectivityPanelTest {
|
||||
@Before
|
||||
public void setUp() {
|
||||
mContext = spy(ApplicationProvider.getApplicationContext());
|
||||
when(mContext.getApplicationContext()).thenReturn(mContext);
|
||||
when(mContext.getSystemService(WifiManager.class)).thenReturn(mWifiManager);
|
||||
|
||||
mPanel = InternetConnectivityPanel.create(mContext);
|
||||
mPanel.registerCallback(mPanelContentCallback);
|
||||
mPanel.mIsProviderModelEnabled = true;
|
||||
mPanel.mInternetUpdater = mInternetUpdater;
|
||||
mPanel.mProviderModelSliceHelper = mProviderModelSliceHelper;
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -90,13 +108,6 @@ public class InternetConnectivityPanelTest {
|
||||
assertThat(mPanel.getTitle()).isEqualTo(TITLE_APM);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getSubTitle_apmOff_shouldBeNull() {
|
||||
doReturn(false).when(mInternetUpdater).isAirplaneModeOn();
|
||||
|
||||
assertThat(mPanel.getSubTitle()).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getSubTitle_apmOnWifiOff_shouldBeNull() {
|
||||
doReturn(true).when(mInternetUpdater).isAirplaneModeOn();
|
||||
@@ -110,9 +121,43 @@ public class InternetConnectivityPanelTest {
|
||||
doReturn(true).when(mInternetUpdater).isAirplaneModeOn();
|
||||
doReturn(true).when(mInternetUpdater).isWifiEnabled();
|
||||
|
||||
mPanel.updatePanelTitle();
|
||||
|
||||
assertThat(mPanel.getSubTitle()).isEqualTo(SUBTITLE_WIFI_IS_TURNED_ON);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getSubTitle_apmOffWifiOnNoWifiListHasCarrierData_NonCarrierNetworkUnavailable() {
|
||||
List wifiList = new ArrayList<ScanResult>();
|
||||
mockCondition(false, true, true, true, wifiList);
|
||||
|
||||
mPanel.updatePanelTitle();
|
||||
|
||||
assertThat(mPanel.getSubTitle()).isEqualTo(SUBTITLE_NON_CARRIER_NETWORK_UNAVAILABLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getSubTitle_apmOffWifiOnNoWifiListNoCarrierData_AllNetworkUnavailable() {
|
||||
List wifiList = new ArrayList<ScanResult>();
|
||||
mockCondition(false, true, false, true, wifiList);
|
||||
|
||||
mPanel.updatePanelTitle();
|
||||
|
||||
assertThat(mPanel.getSubTitle()).isEqualTo(SUBTITLE_ALL_NETWORK_UNAVAILABLE);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getSubTitle_apmOffWifiOnTwoWifiItemsNoCarrierData_shouldBeNull() {
|
||||
List wifiList = new ArrayList<ScanResult>();
|
||||
wifiList.add(new ScanResult());
|
||||
wifiList.add(new ScanResult());
|
||||
mockCondition(false, true, false, true, wifiList);
|
||||
|
||||
mPanel.updatePanelTitle();
|
||||
|
||||
assertThat(mPanel.getSubTitle()).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getCustomizedButtonTitle_apmOff_shouldBeSettings() {
|
||||
doReturn(false).when(mInternetUpdater).isAirplaneModeOn();
|
||||
@@ -244,4 +289,13 @@ public class InternetConnectivityPanelTest {
|
||||
|
||||
verify(mPanelContentCallback).onCustomizedButtonStateChanged();
|
||||
}
|
||||
|
||||
private void mockCondition(boolean airplaneMode, boolean hasCarrier,
|
||||
boolean isDataSimActive, boolean isWifiEnabled, List<ScanResult> wifiItems) {
|
||||
doReturn(airplaneMode).when(mInternetUpdater).isAirplaneModeOn();
|
||||
when(mProviderModelSliceHelper.hasCarrier()).thenReturn(hasCarrier);
|
||||
when(mProviderModelSliceHelper.isDataSimActive()).thenReturn(isDataSimActive);
|
||||
doReturn(isWifiEnabled).when(mInternetUpdater).isWifiEnabled();
|
||||
doReturn(wifiItems).when(mWifiManager).getScanResults();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user