In Network & internet screen, hide summary under Data usage when there is No SIM

Bug: 70950124

Test: manual
Test: make RunSettingsRoboTests
Change-Id: I4abd401aa9420b2b0090fac76991fe5067acc2e9
This commit is contained in:
Jan Nordqvist
2018-03-12 16:23:13 -07:00
parent 767743d64d
commit 637dc29fe9
2 changed files with 47 additions and 2 deletions

View File

@@ -18,13 +18,20 @@ package com.android.settings.datausage;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Matchers.anyInt;
import static org.mockito.Matchers.anyObject;
import static org.mockito.Matchers.endsWith;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.app.Activity;
import android.content.Context;
import android.net.ConnectivityManager;
import android.telephony.TelephonyManager;
import android.text.format.Formatter;
import com.android.settings.R;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.SettingsShadowResources;
@@ -33,6 +40,7 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.Robolectric;
import org.robolectric.shadows.ShadowApplication;
@RunWith(SettingsRobolectricTestRunner.class)
@@ -41,6 +49,12 @@ public class DataUsageSummaryTest {
@Mock
private ConnectivityManager mManager;
private Context mContext;
@Mock
TelephonyManager mTelephonyManager;
@Mock
private SummaryLoader mSummaryLoader;
private Activity mActivity;
private SummaryLoader.SummaryProvider mSummaryProvider;
/**
* This set up is contrived to get a passing test so that the build doesn't block without tests.
@@ -54,6 +68,12 @@ public class DataUsageSummaryTest {
shadowContext.setSystemService(Context.CONNECTIVITY_SERVICE, mManager);
mContext = shadowContext.getApplicationContext();
when(mManager.isNetworkSupported(anyInt())).thenReturn(true);
mActivity = spy(Robolectric.buildActivity(Activity.class).get());
when(mActivity.getSystemService(Context.TELEPHONY_SERVICE)).thenReturn(mTelephonyManager);
mSummaryProvider = DataUsageSummary.SUMMARY_PROVIDER_FACTORY
.createSummaryProvider(mActivity, mSummaryLoader);
}
@Test
@@ -66,4 +86,18 @@ public class DataUsageSummaryTest {
final String formattedAsFileSize = Formatter.formatFileSize(mContext, usage);
assertThat(formattedUsage).isEqualTo(formattedAsFileSize);
}
@Test
public void setListening_shouldBlankSummaryWithNoSim() {
when(mTelephonyManager.getSimState()).thenReturn(TelephonyManager.SIM_STATE_ABSENT);
mSummaryProvider.setListening(true);
verify(mSummaryLoader).setSummary(mSummaryProvider, null);
}
@Test
public void setListening_shouldSetSummaryWithSim() {
when(mTelephonyManager.getSimState()).thenReturn(TelephonyManager.SIM_STATE_READY);
mSummaryProvider.setListening(true);
verify(mSummaryLoader).setSummary(anyObject(), endsWith(" of data used"));
}
}