Loading src/com/android/settings/datausage/DataUsageList.java +22 −6 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import static android.telephony.TelephonyManager.SIM_STATE_READY; import android.app.ActivityManager; import android.app.LoaderManager.LoaderCallbacks; import android.content.Context; import android.content.Intent; import android.content.Loader; import android.content.pm.UserInfo; import android.graphics.Color; Loading @@ -39,6 +40,8 @@ import android.os.RemoteException; import android.os.SystemProperties; import android.os.UserHandle; import android.os.UserManager; import android.provider.Settings; import android.support.annotation.VisibleForTesting; import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceGroup; import android.telephony.SubscriptionInfo; Loading Loading @@ -98,8 +101,10 @@ public class DataUsageList extends DataUsageBase { private INetworkStatsSession mStatsSession; private ChartDataUsagePreference mChart; private NetworkTemplate mTemplate; private int mSubId; @VisibleForTesting NetworkTemplate mTemplate; @VisibleForTesting int mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID; private ChartData mChartData; private LoadingViewController mLoadingViewController; Loading Loading @@ -138,10 +143,7 @@ public class DataUsageList extends DataUsageBase { mUsageAmount = findPreference(KEY_USAGE_AMOUNT); mChart = (ChartDataUsagePreference) findPreference(KEY_CHART_DATA); mApps = (PreferenceGroup) findPreference(KEY_APPS_GROUP); final Bundle args = getArguments(); mSubId = args.getInt(EXTRA_SUB_ID, SubscriptionManager.INVALID_SUBSCRIPTION_ID); mTemplate = args.getParcelable(EXTRA_NETWORK_TEMPLATE); processArgument(); } @Override Loading Loading @@ -232,6 +234,20 @@ public class DataUsageList extends DataUsageBase { super.onDestroy(); } void processArgument() { final Bundle args = getArguments(); if (args != null) { mSubId = args.getInt(EXTRA_SUB_ID, SubscriptionManager.INVALID_SUBSCRIPTION_ID); mTemplate = args.getParcelable(EXTRA_NETWORK_TEMPLATE); } if (mTemplate == null && mSubId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) { final Intent intent = getIntent(); mSubId = intent.getIntExtra(Settings.EXTRA_SUB_ID, SubscriptionManager.INVALID_SUBSCRIPTION_ID); mTemplate = intent.getParcelableExtra(Settings.EXTRA_NETWORK_TEMPLATE); } } /** * Update body content based on current tab. Loads * {@link NetworkStatsHistory} and {@link NetworkPolicy} from system, and Loading tests/robotests/src/com/android/settings/datausage/DataUsageListTest.java +37 −2 Original line number Diff line number Diff line Loading @@ -16,12 +16,19 @@ package com.android.settings.datausage; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; 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.content.Intent; import android.net.NetworkTemplate; import android.os.Bundle; import android.provider.Settings; import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.SettingsRobolectricTestRunner; Loading Loading @@ -62,10 +69,38 @@ public class DataUsageListTest { mDataUsageList.onAttach(mContext); mDataUsageList.onResume(); verify(mListener).setListener(true, 0, mContext); verify(mListener).setListener(true, mDataUsageList.mSubId, mContext); mDataUsageList.onPause(); verify(mListener).setListener(false, 0, mContext); verify(mListener).setListener(false, mDataUsageList.mSubId, mContext); } @Test public void processArgument_shouldGetTemplateFromArgument() { final Bundle args = new Bundle(); args.putParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE, mock(NetworkTemplate.class)); args.putInt(DataUsageList.EXTRA_SUB_ID, 3); mDataUsageList.setArguments(args); mDataUsageList.processArgument(); assertThat(mDataUsageList.mTemplate).isNotNull(); assertThat(mDataUsageList.mSubId).isEqualTo(3); } @Test public void processArgument_fromIntent_shouldGetTemplateFromIntent() { final Activity activity = mock(Activity.class); final Intent intent = new Intent(); intent.putExtra(Settings.EXTRA_NETWORK_TEMPLATE, mock(NetworkTemplate.class)); intent.putExtra(Settings.EXTRA_SUB_ID, 3); when(activity.getIntent()).thenReturn(intent); doReturn(activity).when(mDataUsageList).getActivity(); mDataUsageList.processArgument(); assertThat(mDataUsageList.mTemplate).isNotNull(); assertThat(mDataUsageList.mSubId).isEqualTo(3); } } Loading
src/com/android/settings/datausage/DataUsageList.java +22 −6 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import static android.telephony.TelephonyManager.SIM_STATE_READY; import android.app.ActivityManager; import android.app.LoaderManager.LoaderCallbacks; import android.content.Context; import android.content.Intent; import android.content.Loader; import android.content.pm.UserInfo; import android.graphics.Color; Loading @@ -39,6 +40,8 @@ import android.os.RemoteException; import android.os.SystemProperties; import android.os.UserHandle; import android.os.UserManager; import android.provider.Settings; import android.support.annotation.VisibleForTesting; import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceGroup; import android.telephony.SubscriptionInfo; Loading Loading @@ -98,8 +101,10 @@ public class DataUsageList extends DataUsageBase { private INetworkStatsSession mStatsSession; private ChartDataUsagePreference mChart; private NetworkTemplate mTemplate; private int mSubId; @VisibleForTesting NetworkTemplate mTemplate; @VisibleForTesting int mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID; private ChartData mChartData; private LoadingViewController mLoadingViewController; Loading Loading @@ -138,10 +143,7 @@ public class DataUsageList extends DataUsageBase { mUsageAmount = findPreference(KEY_USAGE_AMOUNT); mChart = (ChartDataUsagePreference) findPreference(KEY_CHART_DATA); mApps = (PreferenceGroup) findPreference(KEY_APPS_GROUP); final Bundle args = getArguments(); mSubId = args.getInt(EXTRA_SUB_ID, SubscriptionManager.INVALID_SUBSCRIPTION_ID); mTemplate = args.getParcelable(EXTRA_NETWORK_TEMPLATE); processArgument(); } @Override Loading Loading @@ -232,6 +234,20 @@ public class DataUsageList extends DataUsageBase { super.onDestroy(); } void processArgument() { final Bundle args = getArguments(); if (args != null) { mSubId = args.getInt(EXTRA_SUB_ID, SubscriptionManager.INVALID_SUBSCRIPTION_ID); mTemplate = args.getParcelable(EXTRA_NETWORK_TEMPLATE); } if (mTemplate == null && mSubId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) { final Intent intent = getIntent(); mSubId = intent.getIntExtra(Settings.EXTRA_SUB_ID, SubscriptionManager.INVALID_SUBSCRIPTION_ID); mTemplate = intent.getParcelableExtra(Settings.EXTRA_NETWORK_TEMPLATE); } } /** * Update body content based on current tab. Loads * {@link NetworkStatsHistory} and {@link NetworkPolicy} from system, and Loading
tests/robotests/src/com/android/settings/datausage/DataUsageListTest.java +37 −2 Original line number Diff line number Diff line Loading @@ -16,12 +16,19 @@ package com.android.settings.datausage; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; 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.content.Intent; import android.net.NetworkTemplate; import android.os.Bundle; import android.provider.Settings; import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.SettingsRobolectricTestRunner; Loading Loading @@ -62,10 +69,38 @@ public class DataUsageListTest { mDataUsageList.onAttach(mContext); mDataUsageList.onResume(); verify(mListener).setListener(true, 0, mContext); verify(mListener).setListener(true, mDataUsageList.mSubId, mContext); mDataUsageList.onPause(); verify(mListener).setListener(false, 0, mContext); verify(mListener).setListener(false, mDataUsageList.mSubId, mContext); } @Test public void processArgument_shouldGetTemplateFromArgument() { final Bundle args = new Bundle(); args.putParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE, mock(NetworkTemplate.class)); args.putInt(DataUsageList.EXTRA_SUB_ID, 3); mDataUsageList.setArguments(args); mDataUsageList.processArgument(); assertThat(mDataUsageList.mTemplate).isNotNull(); assertThat(mDataUsageList.mSubId).isEqualTo(3); } @Test public void processArgument_fromIntent_shouldGetTemplateFromIntent() { final Activity activity = mock(Activity.class); final Intent intent = new Intent(); intent.putExtra(Settings.EXTRA_NETWORK_TEMPLATE, mock(NetworkTemplate.class)); intent.putExtra(Settings.EXTRA_SUB_ID, 3); when(activity.getIntent()).thenReturn(intent); doReturn(activity).when(mDataUsageList).getActivity(); mDataUsageList.processArgument(); assertThat(mDataUsageList.mTemplate).isNotNull(); assertThat(mDataUsageList.mSubId).isEqualTo(3); } }