Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 56c6f89a authored by Fan Zhang's avatar Fan Zhang
Browse files

Remove disable mobile data confirm dialog for single sim.

Fixes: 124005813
Test: robotest
Change-Id: I2da563f26d6dbb1ec3c6c205f21a96c896b51334
parent e3ecf5bb
Loading
Loading
Loading
Loading
+9 −20
Original line number Diff line number Diff line
@@ -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"
 */
@@ -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;
    }

+9 −11
Original line number Diff line number Diff line
@@ -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;

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