Loading src/com/android/settings/network/telephony/MobileDataPreferenceController.java +9 −20 Original line number Diff line number Diff line Loading @@ -17,27 +17,24 @@ package com.android.settings.network.telephony; import android.content.Context; import android.database.ContentObserver; import android.net.Uri; import android.os.Handler; import android.os.Looper; import android.provider.Settings; import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.text.TextUtils; import com.android.settings.network.MobileDataContentObserver; import com.android.settingslib.core.lifecycle.LifecycleObserver; import com.android.settingslib.core.lifecycle.events.OnStart; import com.android.settingslib.core.lifecycle.events.OnStop; import androidx.annotation.VisibleForTesting; import androidx.fragment.app.FragmentManager; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import androidx.preference.SwitchPreference; import com.android.settings.network.MobileDataContentObserver; import com.android.settingslib.core.lifecycle.LifecycleObserver; import com.android.settingslib.core.lifecycle.events.OnStart; import com.android.settingslib.core.lifecycle.events.OnStop; /** * Preference controller for "Mobile data" */ Loading Loading @@ -144,18 +141,10 @@ public class MobileDataPreferenceController extends TelephonyTogglePreferenceCon final int defaultSubId = mSubscriptionManager.getDefaultDataSubscriptionId(); final boolean needToDisableOthers = mSubscriptionManager .isActiveSubscriptionId(defaultSubId) && defaultSubId != mSubId; if (enableData) { if (isMultiSim && needToDisableOthers) { if (enableData && isMultiSim && needToDisableOthers) { mDialogType = MobileDataDialogFragment.TYPE_MULTI_SIM_DIALOG; return true; } } else { if (!isMultiSim) { mDialogType = MobileDataDialogFragment.TYPE_DISABLE_DIALOG; return true; } } return false; } Loading tests/robotests/src/com/android/settings/network/telephony/MobileDataPreferenceControllerTest.java +9 −11 Original line number Diff line number Diff line Loading @@ -21,7 +21,6 @@ import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_U import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; Loading @@ -30,6 +29,10 @@ 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 @@ -40,10 +43,6 @@ 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 { Loading Loading @@ -94,14 +93,13 @@ public class MobileDataPreferenceControllerTest { } @Test public void isDialogNeeded_disableSingleSim_returnTrue() { public void isDialogNeeded_disableSingleSim_returnFalse() { doReturn(true).when(mTelephonyManager).isDataEnabled(); doReturn(mSubscriptionInfo).when(mSubscriptionManager).getActiveSubscriptionInfo(SUB_ID); doReturn(mSubscriptionInfo).when(mSubscriptionManager).getDefaultDataSubscriptionInfo(); doReturn(1).when(mTelephonyManager).getSimCount(); assertThat(mController.isDialogNeeded()).isTrue(); assertThat(mController.mDialogType).isEqualTo(MobileDataDialogFragment.TYPE_DISABLE_DIALOG); assertThat(mController.isDialogNeeded()).isFalse(); } @Test Loading @@ -127,7 +125,7 @@ public class MobileDataPreferenceControllerTest { } @Test public void onPreferenceChange_needDialog_doNothing() { public void onPreferenceChange_singleSim_On_shouldEnableData() { doReturn(true).when(mTelephonyManager).isDataEnabled(); doReturn(mSubscriptionInfo).when(mSubscriptionManager).getActiveSubscriptionInfo(SUB_ID); doReturn(mSubscriptionInfo).when(mSubscriptionManager).getDefaultDataSubscriptionInfo(); Loading @@ -135,11 +133,11 @@ public class MobileDataPreferenceControllerTest { mController.onPreferenceChange(mPreference, true); verify(mTelephonyManager, never()).setDataEnabled(true); verify(mTelephonyManager).setDataEnabled(true); } @Test public void onPreferenceChange_notNeedDialog_update() { public void onPreferenceChange_multiSim_On_shouldEnableData() { doReturn(true).when(mTelephonyManager).isDataEnabled(); doReturn(mSubscriptionInfo).when(mSubscriptionManager).getActiveSubscriptionInfo(SUB_ID); doReturn(mSubscriptionInfo).when(mSubscriptionManager).getDefaultDataSubscriptionInfo(); Loading Loading
src/com/android/settings/network/telephony/MobileDataPreferenceController.java +9 −20 Original line number Diff line number Diff line Loading @@ -17,27 +17,24 @@ package com.android.settings.network.telephony; import android.content.Context; import android.database.ContentObserver; import android.net.Uri; import android.os.Handler; import android.os.Looper; import android.provider.Settings; import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.text.TextUtils; import com.android.settings.network.MobileDataContentObserver; import com.android.settingslib.core.lifecycle.LifecycleObserver; import com.android.settingslib.core.lifecycle.events.OnStart; import com.android.settingslib.core.lifecycle.events.OnStop; import androidx.annotation.VisibleForTesting; import androidx.fragment.app.FragmentManager; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import androidx.preference.SwitchPreference; import com.android.settings.network.MobileDataContentObserver; import com.android.settingslib.core.lifecycle.LifecycleObserver; import com.android.settingslib.core.lifecycle.events.OnStart; import com.android.settingslib.core.lifecycle.events.OnStop; /** * Preference controller for "Mobile data" */ Loading Loading @@ -144,18 +141,10 @@ public class MobileDataPreferenceController extends TelephonyTogglePreferenceCon final int defaultSubId = mSubscriptionManager.getDefaultDataSubscriptionId(); final boolean needToDisableOthers = mSubscriptionManager .isActiveSubscriptionId(defaultSubId) && defaultSubId != mSubId; if (enableData) { if (isMultiSim && needToDisableOthers) { if (enableData && isMultiSim && needToDisableOthers) { mDialogType = MobileDataDialogFragment.TYPE_MULTI_SIM_DIALOG; return true; } } else { if (!isMultiSim) { mDialogType = MobileDataDialogFragment.TYPE_DISABLE_DIALOG; return true; } } return false; } Loading
tests/robotests/src/com/android/settings/network/telephony/MobileDataPreferenceControllerTest.java +9 −11 Original line number Diff line number Diff line Loading @@ -21,7 +21,6 @@ import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_U import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; Loading @@ -30,6 +29,10 @@ 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 @@ -40,10 +43,6 @@ 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 { Loading Loading @@ -94,14 +93,13 @@ public class MobileDataPreferenceControllerTest { } @Test public void isDialogNeeded_disableSingleSim_returnTrue() { public void isDialogNeeded_disableSingleSim_returnFalse() { doReturn(true).when(mTelephonyManager).isDataEnabled(); doReturn(mSubscriptionInfo).when(mSubscriptionManager).getActiveSubscriptionInfo(SUB_ID); doReturn(mSubscriptionInfo).when(mSubscriptionManager).getDefaultDataSubscriptionInfo(); doReturn(1).when(mTelephonyManager).getSimCount(); assertThat(mController.isDialogNeeded()).isTrue(); assertThat(mController.mDialogType).isEqualTo(MobileDataDialogFragment.TYPE_DISABLE_DIALOG); assertThat(mController.isDialogNeeded()).isFalse(); } @Test Loading @@ -127,7 +125,7 @@ public class MobileDataPreferenceControllerTest { } @Test public void onPreferenceChange_needDialog_doNothing() { public void onPreferenceChange_singleSim_On_shouldEnableData() { doReturn(true).when(mTelephonyManager).isDataEnabled(); doReturn(mSubscriptionInfo).when(mSubscriptionManager).getActiveSubscriptionInfo(SUB_ID); doReturn(mSubscriptionInfo).when(mSubscriptionManager).getDefaultDataSubscriptionInfo(); Loading @@ -135,11 +133,11 @@ public class MobileDataPreferenceControllerTest { mController.onPreferenceChange(mPreference, true); verify(mTelephonyManager, never()).setDataEnabled(true); verify(mTelephonyManager).setDataEnabled(true); } @Test public void onPreferenceChange_notNeedDialog_update() { public void onPreferenceChange_multiSim_On_shouldEnableData() { doReturn(true).when(mTelephonyManager).isDataEnabled(); doReturn(mSubscriptionInfo).when(mSubscriptionManager).getActiveSubscriptionInfo(SUB_ID); doReturn(mSubscriptionInfo).when(mSubscriptionManager).getDefaultDataSubscriptionInfo(); Loading