Loading src/com/android/settings/network/telephony/MobileDataPreferenceController.java +8 −1 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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() { Loading tests/robotests/src/com/android/settings/network/telephony/MobileDataPreferenceControllerTest.java +16 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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)); } } Loading
src/com/android/settings/network/telephony/MobileDataPreferenceController.java +8 −1 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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() { Loading
tests/robotests/src/com/android/settings/network/telephony/MobileDataPreferenceControllerTest.java +16 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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)); } }