From 5680477b8b05baf821272799cfd8c57650fec9c8 Mon Sep 17 00:00:00 2001 From: jackqdyulei Date: Mon, 15 Oct 2018 13:35:24 -0700 Subject: [PATCH] Refactor DataUsagePreference Move the logic to PreferenceController Bug: 114749736 Test: RunSettingsRoboTests Change-Id: I7a0845c0cbc3f33e23257831d0d4ed97e7a5cc04 --- res/values/strings.xml | 3 + res/xml/network_setting_fragment.xml | 5 +- .../telephony/DataUsagePreference.java | 79 -------------- .../DataUsagePreferenceController.java | 100 +++++++++++++++++ .../telephony/MobileNetworkFragment.java | 14 +-- .../DataUsagePreferenceControllerTest.java | 102 ++++++++++++++++++ 6 files changed, 211 insertions(+), 92 deletions(-) delete mode 100644 src/com/android/settings/network/telephony/DataUsagePreference.java create mode 100644 src/com/android/settings/network/telephony/DataUsagePreferenceController.java create mode 100644 tests/robotests/src/com/android/settings/network/telephony/DataUsagePreferenceControllerTest.java diff --git a/res/values/strings.xml b/res/values/strings.xml index 9ed8417f56f..ac8f305dbf1 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -10259,6 +10259,9 @@ Check with your network provider for pricing. + + App data usage + Unavailable when connected to %1$s diff --git a/res/xml/network_setting_fragment.xml b/res/xml/network_setting_fragment.xml index 1de3ef7f33d..ce1644ff182 100644 --- a/res/xml/network_setting_fragment.xml +++ b/res/xml/network_setting_fragment.xml @@ -38,9 +38,10 @@ android:summaryOn="@string/roaming_enable" android:summaryOff="@string/roaming_disable"/> - + android:title="@string/mobile_data_usage_title" + settings:controller="com.android.settings.network.telephony.DataUsagePreferenceController"/> captor = ArgumentCaptor.forClass(Intent.class); + mController.handlePreferenceTreeClick(mPreference); + + verify(mContext).startActivity(captor.capture()); + final Intent intent = captor.getValue(); + + assertThat(intent.getAction()).isEqualTo(Settings.ACTION_MOBILE_DATA_USAGE); + assertThat(intent.getIntExtra(Settings.EXTRA_SUB_ID, 0)).isEqualTo(SUB_ID); + } + + @Test + public void updateState_invalidSubId_disabled() { + mController.init(SubscriptionManager.INVALID_SUBSCRIPTION_ID); + + mController.updateState(mPreference); + + assertThat(mPreference.isEnabled()).isFalse(); + } +}