From a9fa4c1d0572a34ee84abd51007b6262bc1d2c76 Mon Sep 17 00:00:00 2001 From: jackqdyulei Date: Wed, 22 Aug 2018 17:45:23 -0700 Subject: [PATCH] Hook up feature flag to mobile network controller Send intent to phone process if the flag is false. Bug: 113069948 Test: RunSettingsRoboTests Change-Id: Ie9726470e718144557f318fe7ea28e863d63679c --- res/xml/network_and_internet.xml | 4 --- .../android/settings/core/FeatureFlags.java | 1 + .../MobileNetworkPreferenceController.java | 26 +++++++++++++++- ...MobileNetworkPreferenceControllerTest.java | 31 +++++++++++++++++-- 4 files changed, 55 insertions(+), 7 deletions(-) diff --git a/res/xml/network_and_internet.xml b/res/xml/network_and_internet.xml index 0d130e06b81..8e36e919220 100644 --- a/res/xml/network_and_internet.xml +++ b/res/xml/network_and_internet.xml @@ -42,10 +42,6 @@ settings:keywords="@string/keywords_more_mobile_networks" settings:userRestriction="no_config_mobile_networks" settings:useAdminDisabledSummary="true"> - mLifecycle; mLifecycle = new Lifecycle(mLifecycleOwner); when(mContext.getSystemService(Context.TELEPHONY_SERVICE)).thenReturn(mTelephonyManager); + mPreference = new Preference(mContext); + mPreference.setKey(MobileNetworkPreferenceController.KEY_MOBILE_NETWORK_SETTINGS); } @Test @@ -173,4 +186,18 @@ public class MobileNetworkPreferenceControllerTest { mController.updateState(mPreference); assertThat(mPreference.isEnabled()).isFalse(); } + + @Test + public void handlePreferenceTreeClick_mobileFeatureDisabled_sendIntent() { + mController = new MobileNetworkPreferenceController(mContext); + FeatureFlagUtils.setEnabled(mContext, FeatureFlags.MOBILE_NETWORK_V2, false); + ArgumentCaptor argument = ArgumentCaptor.forClass(Intent.class); + + mController.handlePreferenceTreeClick(mPreference); + + verify(mContext).startActivity(argument.capture()); + final ComponentName componentName = argument.getValue().getComponent(); + assertThat(componentName.getPackageName()).isEqualTo(MOBILE_NETWORK_PACKAGE); + assertThat(componentName.getClassName()).isEqualTo(MOBILE_NETWORK_CLASS); + } }