Update summary for mobile data toggle for CBRS.

Fixes: 127529917
Test: robotests
Change-Id: Id2d0bdbcf9674106a3dff8db8e9ceb22dbdda314
This commit is contained in:
Andrew Sapperstein
2019-05-08 15:55:04 -07:00
parent 576cb8b0df
commit 477e345f21
2 changed files with 24 additions and 1 deletions

View File

@@ -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() {

View File

@@ -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));
}
}