From 477e345f21a70515f63507f4852e7e0efeff4c42 Mon Sep 17 00:00:00 2001 From: Andrew Sapperstein Date: Wed, 8 May 2019 15:55:04 -0700 Subject: [PATCH] Update summary for mobile data toggle for CBRS. Fixes: 127529917 Test: robotests Change-Id: Id2d0bdbcf9674106a3dff8db8e9ceb22dbdda314 --- .../MobileDataPreferenceController.java | 9 ++++++++- .../MobileDataPreferenceControllerTest.java | 16 ++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/network/telephony/MobileDataPreferenceController.java b/src/com/android/settings/network/telephony/MobileDataPreferenceController.java index 2df16f53d65..c06b78b025d 100644 --- a/src/com/android/settings/network/telephony/MobileDataPreferenceController.java +++ b/src/com/android/settings/network/telephony/MobileDataPreferenceController.java @@ -30,6 +30,7 @@ import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import androidx.preference.SwitchPreference; +import com.android.settings.R; import com.android.settings.network.MobileDataContentObserver; import com.android.settingslib.core.lifecycle.LifecycleObserver; import com.android.settingslib.core.lifecycle.events.OnStart; @@ -120,7 +121,13 @@ public class MobileDataPreferenceController extends TelephonyTogglePreferenceCon @Override public void updateState(Preference preference) { super.updateState(preference); - preference.setEnabled(!isOpportunistic()); + if (isOpportunistic()) { + preference.setEnabled(false); + preference.setSummary(R.string.mobile_data_settings_summary_auto_switch); + } else { + preference.setEnabled(true); + preference.setSummary(R.string.mobile_data_settings_summary); + } } private boolean isOpportunistic() { diff --git a/tests/robotests/src/com/android/settings/network/telephony/MobileDataPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/MobileDataPreferenceControllerTest.java index 30b5408a88e..86f2355e064 100644 --- a/tests/robotests/src/com/android/settings/network/telephony/MobileDataPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/network/telephony/MobileDataPreferenceControllerTest.java @@ -33,6 +33,8 @@ import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; import androidx.preference.SwitchPreference; +import com.android.settings.R; + import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -165,5 +167,19 @@ public class MobileDataPreferenceControllerTest { mController.updateState(mPreference); assertThat(mPreference.isEnabled()).isFalse(); + assertThat(mPreference.getSummary()) + .isEqualTo(mContext.getString(R.string.mobile_data_settings_summary_auto_switch)); + } + + @Test + public void updateState_notOpportunistic_enabled() { + doReturn(mSubscriptionInfo).when(mSubscriptionManager).getActiveSubscriptionInfo(SUB_ID); + mController.init(mFragmentManager, SUB_ID); + doReturn(false).when(mSubscriptionInfo).isOpportunistic(); + mController.updateState(mPreference); + + assertThat(mPreference.isEnabled()).isTrue(); + assertThat(mPreference.getSummary()) + .isEqualTo(mContext.getString(R.string.mobile_data_settings_summary)); } }