Replace isSubscriptionEnabled with isActiveSubId.
As we don't allow pSIM modem disablment, we should simply use isActiveSubId to decide whether a subscription's preferences is changable. This will avoid potential modem bugs that reports wrong modem status that result in Setting's UX error. Bug: 135222940 Test: manual and robo Change-Id: I7cccf2fdab7c89d26dac4daad51cd5d6f3a90eba
This commit is contained in:
committed by
Xiangyu/Malcolm Chen
parent
d1defa1bdf
commit
dd0b2fc380
@@ -72,7 +72,8 @@ public class DisabledSubscriptionController extends BasePreferenceController imp
|
|||||||
if (mCategory == null || mSubId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
|
if (mCategory == null || mSubId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
mCategory.setVisible(mSubscriptionManager.isSubscriptionEnabled(mSubId));
|
// TODO b/135222940: re-evaluate whether to use mSubscriptionManager#isSubscriptionEnabled
|
||||||
|
mCategory.setVisible(mSubscriptionManager.isActiveSubId(mSubId));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -81,7 +81,9 @@ public class MobileNetworkSwitchController extends BasePreferenceController impl
|
|||||||
R.string.mobile_network_use_sim_off);
|
R.string.mobile_network_use_sim_off);
|
||||||
|
|
||||||
mSwitchBar.addOnSwitchChangeListener((switchView, isChecked) -> {
|
mSwitchBar.addOnSwitchChangeListener((switchView, isChecked) -> {
|
||||||
if (mSubscriptionManager.isSubscriptionEnabled(mSubId) != isChecked
|
// TODO b/135222940: re-evaluate whether to use
|
||||||
|
// mSubscriptionManager#isSubscriptionEnabled
|
||||||
|
if (mSubscriptionManager.isActiveSubId(mSubId) != isChecked
|
||||||
&& (!mSubscriptionManager.setSubscriptionEnabled(mSubId, isChecked))) {
|
&& (!mSubscriptionManager.setSubscriptionEnabled(mSubId, isChecked))) {
|
||||||
mSwitchBar.setChecked(!isChecked);
|
mSwitchBar.setChecked(!isChecked);
|
||||||
}
|
}
|
||||||
@@ -108,7 +110,9 @@ public class MobileNetworkSwitchController extends BasePreferenceController impl
|
|||||||
mSwitchBar.hide();
|
mSwitchBar.hide();
|
||||||
} else {
|
} else {
|
||||||
mSwitchBar.show();
|
mSwitchBar.show();
|
||||||
mSwitchBar.setChecked(mSubscriptionManager.isSubscriptionEnabled(mSubId));
|
// TODO b/135222940: re-evaluate whether to use
|
||||||
|
// mSubscriptionManager#isSubscriptionEnabled
|
||||||
|
mSwitchBar.setChecked(mSubscriptionManager.isActiveSubId(mSubId));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -69,32 +69,32 @@ public class DisabledSubscriptionControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void displayPreference_subscriptionEnabled_categoryIsVisible() {
|
public void displayPreference_subscriptionEnabled_categoryIsVisible() {
|
||||||
doReturn(true).when(mSubscriptionManager).isSubscriptionEnabled(SUB_ID);
|
doReturn(true).when(mSubscriptionManager).isActiveSubId(SUB_ID);
|
||||||
mController.displayPreference(mScreen);
|
mController.displayPreference(mScreen);
|
||||||
assertThat(mCategory.isVisible()).isTrue();
|
assertThat(mCategory.isVisible()).isTrue();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void displayPreference_subscriptionDisabled_categoryIsNotVisible() {
|
public void displayPreference_subscriptionDisabled_categoryIsNotVisible() {
|
||||||
doReturn(false).when(mSubscriptionManager).isSubscriptionEnabled(SUB_ID);
|
doReturn(false).when(mSubscriptionManager).isActiveSubId(SUB_ID);
|
||||||
mController.displayPreference(mScreen);
|
mController.displayPreference(mScreen);
|
||||||
assertThat(mCategory.isVisible()).isFalse();
|
assertThat(mCategory.isVisible()).isFalse();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onSubscriptionsChanged_subscriptionBecomesDisabled_categoryIsNotVisible() {
|
public void onSubscriptionsChanged_subscriptionBecomesDisabled_categoryIsNotVisible() {
|
||||||
doReturn(true).when(mSubscriptionManager).isSubscriptionEnabled(SUB_ID);
|
doReturn(true).when(mSubscriptionManager).isActiveSubId(SUB_ID);
|
||||||
mController.displayPreference(mScreen);
|
mController.displayPreference(mScreen);
|
||||||
doReturn(false).when(mSubscriptionManager).isSubscriptionEnabled(SUB_ID);
|
doReturn(false).when(mSubscriptionManager).isActiveSubId(SUB_ID);
|
||||||
mController.onSubscriptionsChanged();
|
mController.onSubscriptionsChanged();
|
||||||
assertThat(mCategory.isVisible()).isFalse();
|
assertThat(mCategory.isVisible()).isFalse();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onSubscriptionsChanged_subscriptionBecomesEnabled_categoryIsVisible() {
|
public void onSubscriptionsChanged_subscriptionBecomesEnabled_categoryIsVisible() {
|
||||||
doReturn(false).when(mSubscriptionManager).isSubscriptionEnabled(SUB_ID);
|
doReturn(false).when(mSubscriptionManager).isActiveSubId(SUB_ID);
|
||||||
mController.displayPreference(mScreen);
|
mController.displayPreference(mScreen);
|
||||||
doReturn(true).when(mSubscriptionManager).isSubscriptionEnabled(SUB_ID);
|
doReturn(true).when(mSubscriptionManager).isActiveSubId(SUB_ID);
|
||||||
mController.onSubscriptionsChanged();
|
mController.onSubscriptionsChanged();
|
||||||
assertThat(mCategory.isVisible()).isTrue();
|
assertThat(mCategory.isVisible()).isTrue();
|
||||||
}
|
}
|
||||||
|
@@ -109,7 +109,7 @@ public class MobileNetworkSwitchControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void displayPreference_oneEnabledSubscription_switchBarNotHidden() {
|
public void displayPreference_oneEnabledSubscription_switchBarNotHidden() {
|
||||||
doReturn(true).when(mSubscriptionManager).isSubscriptionEnabled(mSubId);
|
doReturn(true).when(mSubscriptionManager).isActiveSubId(mSubId);
|
||||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(mSubscription));
|
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(mSubscription));
|
||||||
mController.displayPreference(mScreen);
|
mController.displayPreference(mScreen);
|
||||||
assertThat(mSwitchBar.isShowing()).isTrue();
|
assertThat(mSwitchBar.isShowing()).isTrue();
|
||||||
@@ -117,7 +117,7 @@ public class MobileNetworkSwitchControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void displayPreference_oneDisabledSubscription_switchBarNotHidden() {
|
public void displayPreference_oneDisabledSubscription_switchBarNotHidden() {
|
||||||
doReturn(false).when(mSubscriptionManager).isSubscriptionEnabled(mSubId);
|
doReturn(false).when(mSubscriptionManager).isActiveSubId(mSubId);
|
||||||
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(mSubscription));
|
SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(mSubscription));
|
||||||
mController.displayPreference(mScreen);
|
mController.displayPreference(mScreen);
|
||||||
assertThat(mSwitchBar.isShowing()).isTrue();
|
assertThat(mSwitchBar.isShowing()).isTrue();
|
||||||
@@ -125,7 +125,7 @@ public class MobileNetworkSwitchControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void displayPreference_subscriptionEnabled_switchIsOn() {
|
public void displayPreference_subscriptionEnabled_switchIsOn() {
|
||||||
when(mSubscriptionManager.isSubscriptionEnabled(mSubId)).thenReturn(true);
|
when(mSubscriptionManager.isActiveSubId(mSubId)).thenReturn(true);
|
||||||
mController.displayPreference(mScreen);
|
mController.displayPreference(mScreen);
|
||||||
assertThat(mSwitchBar.isShowing()).isTrue();
|
assertThat(mSwitchBar.isShowing()).isTrue();
|
||||||
assertThat(mSwitchBar.isChecked()).isTrue();
|
assertThat(mSwitchBar.isChecked()).isTrue();
|
||||||
@@ -133,7 +133,7 @@ public class MobileNetworkSwitchControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void displayPreference_subscriptionDisabled_switchIsOff() {
|
public void displayPreference_subscriptionDisabled_switchIsOff() {
|
||||||
when(mSubscriptionManager.isSubscriptionEnabled(mSubId)).thenReturn(false);
|
when(mSubscriptionManager.isActiveSubId(mSubId)).thenReturn(false);
|
||||||
mController.displayPreference(mScreen);
|
mController.displayPreference(mScreen);
|
||||||
assertThat(mSwitchBar.isShowing()).isTrue();
|
assertThat(mSwitchBar.isShowing()).isTrue();
|
||||||
assertThat(mSwitchBar.isChecked()).isFalse();
|
assertThat(mSwitchBar.isChecked()).isFalse();
|
||||||
@@ -141,7 +141,7 @@ public class MobileNetworkSwitchControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void switchChangeListener_fromEnabledToDisabled_setSubscriptionEnabledCalledCorrectly() {
|
public void switchChangeListener_fromEnabledToDisabled_setSubscriptionEnabledCalledCorrectly() {
|
||||||
when(mSubscriptionManager.isSubscriptionEnabled(mSubId)).thenReturn(true);
|
when(mSubscriptionManager.isActiveSubId(mSubId)).thenReturn(true);
|
||||||
mController.displayPreference(mScreen);
|
mController.displayPreference(mScreen);
|
||||||
assertThat(mSwitchBar.isShowing()).isTrue();
|
assertThat(mSwitchBar.isShowing()).isTrue();
|
||||||
assertThat(mSwitchBar.isChecked()).isTrue();
|
assertThat(mSwitchBar.isChecked()).isTrue();
|
||||||
@@ -153,7 +153,7 @@ public class MobileNetworkSwitchControllerTest {
|
|||||||
public void switchChangeListener_fromEnabledToDisabled_setSubscriptionEnabledFailed() {
|
public void switchChangeListener_fromEnabledToDisabled_setSubscriptionEnabledFailed() {
|
||||||
when(mSubscriptionManager.setSubscriptionEnabled(eq(mSubId), anyBoolean()))
|
when(mSubscriptionManager.setSubscriptionEnabled(eq(mSubId), anyBoolean()))
|
||||||
.thenReturn(false);
|
.thenReturn(false);
|
||||||
when(mSubscriptionManager.isSubscriptionEnabled(mSubId)).thenReturn(true);
|
when(mSubscriptionManager.isActiveSubId(mSubId)).thenReturn(true);
|
||||||
mController.displayPreference(mScreen);
|
mController.displayPreference(mScreen);
|
||||||
assertThat(mSwitchBar.isShowing()).isTrue();
|
assertThat(mSwitchBar.isShowing()).isTrue();
|
||||||
assertThat(mSwitchBar.isChecked()).isTrue();
|
assertThat(mSwitchBar.isChecked()).isTrue();
|
||||||
@@ -164,7 +164,7 @@ public class MobileNetworkSwitchControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void switchChangeListener_fromDisabledToEnabled_setSubscriptionEnabledCalledCorrectly() {
|
public void switchChangeListener_fromDisabledToEnabled_setSubscriptionEnabledCalledCorrectly() {
|
||||||
when(mSubscriptionManager.isSubscriptionEnabled(mSubId)).thenReturn(false);
|
when(mSubscriptionManager.isActiveSubId(mSubId)).thenReturn(false);
|
||||||
mController.displayPreference(mScreen);
|
mController.displayPreference(mScreen);
|
||||||
assertThat(mSwitchBar.isShowing()).isTrue();
|
assertThat(mSwitchBar.isShowing()).isTrue();
|
||||||
assertThat(mSwitchBar.isChecked()).isFalse();
|
assertThat(mSwitchBar.isChecked()).isFalse();
|
||||||
|
Reference in New Issue
Block a user