Loading src/com/android/settings/network/telephony/MobileDataPreferenceController.java +3 −2 Original line number Diff line number Diff line Loading @@ -118,7 +118,8 @@ public class MobileDataPreferenceController extends TogglePreferenceController @Override public boolean isChecked() { return mTelephonyManager.isDataEnabled(); return mTelephonyManager.isDataEnabled() && mSubId == SubscriptionManager.getDefaultDataSubscriptionId(); } public void init(FragmentManager fragmentManager, int subId) { Loading @@ -129,7 +130,7 @@ public class MobileDataPreferenceController extends TogglePreferenceController @VisibleForTesting boolean isDialogNeeded() { final boolean enableData = !mTelephonyManager.isDataEnabled(); final boolean enableData = !isChecked(); final boolean isMultiSim = (mTelephonyManager.getSimCount() > 1); final int defaultSubId = mSubscriptionManager.getDefaultDataSubscriptionId(); final boolean needToDisableOthers = mSubscriptionManager Loading tests/robotests/src/com/android/settings/network/telephony/MobileDataPreferenceControllerTest.java +11 −6 Original line number Diff line number Diff line Loading @@ -20,7 +20,6 @@ import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_U import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; Loading @@ -31,10 +30,6 @@ import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; import androidx.preference.SwitchPreference; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; Loading @@ -42,10 +37,18 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowSubscriptionManager; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; import androidx.preference.SwitchPreference; @RunWith(RobolectricTestRunner.class) @Config(shadows = ShadowSubscriptionManager.class) public class MobileDataPreferenceControllerTest { private static final int SUB_ID = 2; private static final int SUB_ID_OTHER = 3; @Mock private FragmentManager mFragmentManager; Loading Loading @@ -78,6 +81,7 @@ public class MobileDataPreferenceControllerTest { mPreference = new SwitchPreference(mContext); mController = new MobileDataPreferenceController(mContext, "mobile_data"); ShadowSubscriptionManager.setDefaultDataSubscriptionId(SUB_ID); mController.init(mFragmentManager, SUB_ID); mPreference.setKey(mController.getPreferenceKey()); } Loading @@ -104,7 +108,8 @@ public class MobileDataPreferenceControllerTest { public void isDialogNeeded_enableNonDefaultSimInMultiSimMode_returnTrue() { doReturn(false).when(mTelephonyManager).isDataEnabled(); doReturn(mSubscriptionInfo).when(mSubscriptionManager).getActiveSubscriptionInfo(SUB_ID); doReturn(true).when(mSubscriptionManager).isActiveSubscriptionId(anyInt()); doReturn(true).when(mSubscriptionManager).isActiveSubscriptionId(SUB_ID_OTHER); ShadowSubscriptionManager.setDefaultDataSubscriptionId(SUB_ID_OTHER); doReturn(2).when(mTelephonyManager).getSimCount(); assertThat(mController.isDialogNeeded()).isTrue(); Loading Loading
src/com/android/settings/network/telephony/MobileDataPreferenceController.java +3 −2 Original line number Diff line number Diff line Loading @@ -118,7 +118,8 @@ public class MobileDataPreferenceController extends TogglePreferenceController @Override public boolean isChecked() { return mTelephonyManager.isDataEnabled(); return mTelephonyManager.isDataEnabled() && mSubId == SubscriptionManager.getDefaultDataSubscriptionId(); } public void init(FragmentManager fragmentManager, int subId) { Loading @@ -129,7 +130,7 @@ public class MobileDataPreferenceController extends TogglePreferenceController @VisibleForTesting boolean isDialogNeeded() { final boolean enableData = !mTelephonyManager.isDataEnabled(); final boolean enableData = !isChecked(); final boolean isMultiSim = (mTelephonyManager.getSimCount() > 1); final int defaultSubId = mSubscriptionManager.getDefaultDataSubscriptionId(); final boolean needToDisableOthers = mSubscriptionManager Loading
tests/robotests/src/com/android/settings/network/telephony/MobileDataPreferenceControllerTest.java +11 −6 Original line number Diff line number Diff line Loading @@ -20,7 +20,6 @@ import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_U import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; Loading @@ -31,10 +30,6 @@ import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; import androidx.preference.SwitchPreference; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; Loading @@ -42,10 +37,18 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowSubscriptionManager; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; import androidx.preference.SwitchPreference; @RunWith(RobolectricTestRunner.class) @Config(shadows = ShadowSubscriptionManager.class) public class MobileDataPreferenceControllerTest { private static final int SUB_ID = 2; private static final int SUB_ID_OTHER = 3; @Mock private FragmentManager mFragmentManager; Loading Loading @@ -78,6 +81,7 @@ public class MobileDataPreferenceControllerTest { mPreference = new SwitchPreference(mContext); mController = new MobileDataPreferenceController(mContext, "mobile_data"); ShadowSubscriptionManager.setDefaultDataSubscriptionId(SUB_ID); mController.init(mFragmentManager, SUB_ID); mPreference.setKey(mController.getPreferenceKey()); } Loading @@ -104,7 +108,8 @@ public class MobileDataPreferenceControllerTest { public void isDialogNeeded_enableNonDefaultSimInMultiSimMode_returnTrue() { doReturn(false).when(mTelephonyManager).isDataEnabled(); doReturn(mSubscriptionInfo).when(mSubscriptionManager).getActiveSubscriptionInfo(SUB_ID); doReturn(true).when(mSubscriptionManager).isActiveSubscriptionId(anyInt()); doReturn(true).when(mSubscriptionManager).isActiveSubscriptionId(SUB_ID_OTHER); ShadowSubscriptionManager.setDefaultDataSubscriptionId(SUB_ID_OTHER); doReturn(2).when(mTelephonyManager).getSimCount(); assertThat(mController.isDialogNeeded()).isTrue(); Loading