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:
@@ -28,6 +28,7 @@ import android.support.v7.preference.PreferenceScreen;
|
|||||||
import android.telephony.SubscriptionInfo;
|
import android.telephony.SubscriptionInfo;
|
||||||
import android.telephony.SubscriptionManager;
|
import android.telephony.SubscriptionManager;
|
||||||
import android.telephony.SubscriptionPlan;
|
import android.telephony.SubscriptionPlan;
|
||||||
|
import android.telephony.TelephonyManager;
|
||||||
import android.text.BidiFormatter;
|
import android.text.BidiFormatter;
|
||||||
import android.text.Spannable;
|
import android.text.Spannable;
|
||||||
import android.text.SpannableString;
|
import android.text.SpannableString;
|
||||||
@@ -302,8 +303,18 @@ public class DataUsageSummary extends DataUsageBaseFragment implements Indexable
|
|||||||
@Override
|
@Override
|
||||||
public void setListening(boolean listening) {
|
public void setListening(boolean listening) {
|
||||||
if (listening) {
|
if (listening) {
|
||||||
mSummaryLoader.setSummary(this,
|
TelephonyManager telephonyManager = (TelephonyManager) mActivity
|
||||||
mActivity.getString(R.string.data_usage_summary_format, formatUsedData()));
|
.getSystemService(Context.TELEPHONY_SERVICE);
|
||||||
|
final int simState = telephonyManager.getSimState();
|
||||||
|
// Note that pulling the SIM card returns UNKNOWN, not ABSENT.
|
||||||
|
if (simState == TelephonyManager.SIM_STATE_ABSENT
|
||||||
|
|| simState == TelephonyManager.SIM_STATE_UNKNOWN) {
|
||||||
|
mSummaryLoader.setSummary(this, null);
|
||||||
|
} else {
|
||||||
|
mSummaryLoader.setSummary(this,
|
||||||
|
mActivity.getString(R.string.data_usage_summary_format,
|
||||||
|
formatUsedData()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -18,13 +18,20 @@ package com.android.settings.datausage;
|
|||||||
|
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
import static org.mockito.Matchers.anyInt;
|
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 static org.mockito.Mockito.when;
|
||||||
|
|
||||||
|
import android.app.Activity;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.net.ConnectivityManager;
|
import android.net.ConnectivityManager;
|
||||||
|
import android.telephony.TelephonyManager;
|
||||||
import android.text.format.Formatter;
|
import android.text.format.Formatter;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.dashboard.SummaryLoader;
|
||||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||||
import com.android.settings.testutils.shadow.SettingsShadowResources;
|
import com.android.settings.testutils.shadow.SettingsShadowResources;
|
||||||
|
|
||||||
@@ -33,6 +40,7 @@ import org.junit.Test;
|
|||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.mockito.Mock;
|
import org.mockito.Mock;
|
||||||
import org.mockito.MockitoAnnotations;
|
import org.mockito.MockitoAnnotations;
|
||||||
|
import org.robolectric.Robolectric;
|
||||||
import org.robolectric.shadows.ShadowApplication;
|
import org.robolectric.shadows.ShadowApplication;
|
||||||
|
|
||||||
@RunWith(SettingsRobolectricTestRunner.class)
|
@RunWith(SettingsRobolectricTestRunner.class)
|
||||||
@@ -41,6 +49,12 @@ public class DataUsageSummaryTest {
|
|||||||
@Mock
|
@Mock
|
||||||
private ConnectivityManager mManager;
|
private ConnectivityManager mManager;
|
||||||
private Context mContext;
|
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.
|
* 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);
|
shadowContext.setSystemService(Context.CONNECTIVITY_SERVICE, mManager);
|
||||||
mContext = shadowContext.getApplicationContext();
|
mContext = shadowContext.getApplicationContext();
|
||||||
when(mManager.isNetworkSupported(anyInt())).thenReturn(true);
|
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
|
@Test
|
||||||
@@ -66,4 +86,18 @@ public class DataUsageSummaryTest {
|
|||||||
final String formattedAsFileSize = Formatter.formatFileSize(mContext, usage);
|
final String formattedAsFileSize = Formatter.formatFileSize(mContext, usage);
|
||||||
assertThat(formattedUsage).isEqualTo(formattedAsFileSize);
|
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"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user