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

Commit 1d0e1b6d authored by Shawn Lee's avatar Shawn Lee
Browse files

Set CarrierTextManager.airplaneMode to true when wifi enabled while in airplane mode

ShadeCarrierGroup was treating airplane mode as disabled when both
airplane mode and wifi were enabled.

Bug: 276519370
Test: verified ShadeCarrierGroup behavior when airplane mode and wifi are enabled/disabled
Change-Id: Id5b1f4bcd7d86a39a228be84597dddd59b28df54
parent 6c0a668d
Loading
Loading
Loading
Loading
+12 −5
Original line number Diff line number Diff line
@@ -198,6 +198,11 @@ public class ShadeCarrierGroupController {
        return mSlotIndexResolver.getSlotIndex(subscriptionId);
    }

    @VisibleForTesting
    protected int getShadeCarrierVisibility(int index) {
        return mCarrierGroups[index].getVisibility();
    }

    /**
     * Sets a {@link OnSingleCarrierChangedListener}.
     *
@@ -307,12 +312,14 @@ public class ShadeCarrierGroupController {
                                        + info.subscriptionIds[i]);
                        continue;
                    }
                    String carrierText = info.listOfCarriers[i].toString().trim();
                    if (!TextUtils.isEmpty(carrierText)) {
                        mInfos[slot] = mInfos[slot].changeVisibility(true);
                        slotSeen[slot] = true;
                    mCarrierGroups[slot].setCarrierText(
                            info.listOfCarriers[i].toString().trim());
                        mCarrierGroups[slot].setCarrierText(carrierText);
                        mCarrierGroups[slot].setVisibility(View.VISIBLE);
                    }
                }
                for (int i = 0; i < SIM_SLOTS; i++) {
                    if (!slotSeen[i]) {
                        mInfos[i] = mInfos[i].changeVisibility(false);
+49 −30
Original line number Diff line number Diff line
@@ -66,6 +66,11 @@ import org.mockito.MockitoAnnotations;
@SmallTest
public class ShadeCarrierGroupControllerTest extends LeakCheckedTest {

    private static final String SINGLE_CARRIER_TEXT = "singleCarrierText";
    private static final String MULTI_CARRIER_TEXT = "multiCarrierText";
    private static final String FIRST_CARRIER_NAME = "carrier1";
    private static final String SECOND_CARRIER_NAME = "carrier2";

    private ShadeCarrierGroupController mShadeCarrierGroupController;
    private SignalCallback mSignalCallback;
    private CarrierTextManager.CarrierTextCallback mCallback;
@@ -148,8 +153,8 @@ public class ShadeCarrierGroupControllerTest extends LeakCheckedTest {
        // listOfCarriers length 1, subscriptionIds length 1, anySims false
        CarrierTextManager.CarrierTextCallbackInfo
                c1 = new CarrierTextManager.CarrierTextCallbackInfo(
                "",
                new CharSequence[]{""},
                SINGLE_CARRIER_TEXT,
                new CharSequence[]{FIRST_CARRIER_NAME},
                false,
                new int[]{0});
        mCallback.updateCarrierInfo(c1);
@@ -157,8 +162,8 @@ public class ShadeCarrierGroupControllerTest extends LeakCheckedTest {
        // listOfCarriers length 1, subscriptionIds length 1, anySims true
        CarrierTextManager.CarrierTextCallbackInfo
                c2 = new CarrierTextManager.CarrierTextCallbackInfo(
                "",
                new CharSequence[]{""},
                SINGLE_CARRIER_TEXT,
                new CharSequence[]{FIRST_CARRIER_NAME},
                true,
                new int[]{0});
        mCallback.updateCarrierInfo(c2);
@@ -166,8 +171,8 @@ public class ShadeCarrierGroupControllerTest extends LeakCheckedTest {
        // listOfCarriers length 2, subscriptionIds length 2, anySims false
        CarrierTextManager.CarrierTextCallbackInfo
                c3 = new CarrierTextManager.CarrierTextCallbackInfo(
                "",
                new CharSequence[]{"", ""},
                MULTI_CARRIER_TEXT,
                new CharSequence[]{FIRST_CARRIER_NAME, SECOND_CARRIER_NAME},
                false,
                new int[]{0, 1});
        mCallback.updateCarrierInfo(c3);
@@ -175,8 +180,8 @@ public class ShadeCarrierGroupControllerTest extends LeakCheckedTest {
        // listOfCarriers length 2, subscriptionIds length 2, anySims true
        CarrierTextManager.CarrierTextCallbackInfo
                c4 = new CarrierTextManager.CarrierTextCallbackInfo(
                "",
                new CharSequence[]{"", ""},
                MULTI_CARRIER_TEXT,
                new CharSequence[]{FIRST_CARRIER_NAME, SECOND_CARRIER_NAME},
                true,
                new int[]{0, 1});
        mCallback.updateCarrierInfo(c4);
@@ -189,8 +194,8 @@ public class ShadeCarrierGroupControllerTest extends LeakCheckedTest {
        // listOfCarriers length 2, subscriptionIds length 1, anySims false
        CarrierTextManager.CarrierTextCallbackInfo
                c1 = new CarrierTextManager.CarrierTextCallbackInfo(
                "",
                new CharSequence[]{"", ""},
                MULTI_CARRIER_TEXT,
                new CharSequence[]{FIRST_CARRIER_NAME, SECOND_CARRIER_NAME},
                false,
                new int[]{0});
        mCallback.updateCarrierInfo(c1);
@@ -198,8 +203,8 @@ public class ShadeCarrierGroupControllerTest extends LeakCheckedTest {
        // listOfCarriers length 2, subscriptionIds length 1, anySims true
        CarrierTextManager.CarrierTextCallbackInfo
                c2 = new CarrierTextManager.CarrierTextCallbackInfo(
                "",
                new CharSequence[]{"", ""},
                MULTI_CARRIER_TEXT,
                new CharSequence[]{FIRST_CARRIER_NAME, SECOND_CARRIER_NAME},
                true,
                new int[]{0});
        mCallback.updateCarrierInfo(c2);
@@ -207,8 +212,8 @@ public class ShadeCarrierGroupControllerTest extends LeakCheckedTest {
        // listOfCarriers length 1, subscriptionIds length 2, anySims false
        CarrierTextManager.CarrierTextCallbackInfo
                c3 = new CarrierTextManager.CarrierTextCallbackInfo(
                "",
                new CharSequence[]{""},
                SINGLE_CARRIER_TEXT,
                new CharSequence[]{FIRST_CARRIER_NAME},
                false,
                new int[]{0, 1});
        mCallback.updateCarrierInfo(c3);
@@ -216,8 +221,8 @@ public class ShadeCarrierGroupControllerTest extends LeakCheckedTest {
        // listOfCarriers length 1, subscriptionIds length 2, anySims true
        CarrierTextManager.CarrierTextCallbackInfo
                c4 = new CarrierTextManager.CarrierTextCallbackInfo(
                "",
                new CharSequence[]{""},
                SINGLE_CARRIER_TEXT,
                new CharSequence[]{FIRST_CARRIER_NAME},
                true,
                new int[]{0, 1});
        mCallback.updateCarrierInfo(c4);
@@ -230,8 +235,8 @@ public class ShadeCarrierGroupControllerTest extends LeakCheckedTest {

        CarrierTextManager.CarrierTextCallbackInfo
                c4 = new CarrierTextManager.CarrierTextCallbackInfo(
                "",
                new CharSequence[]{"", ""},
                MULTI_CARRIER_TEXT,
                new CharSequence[]{FIRST_CARRIER_NAME, SECOND_CARRIER_NAME},
                true,
                new int[]{0, 1});
        mCallback.updateCarrierInfo(c4);
@@ -263,6 +268,20 @@ public class ShadeCarrierGroupControllerTest extends LeakCheckedTest {
        assertEquals(View.GONE, mShadeCarrierGroup.getNoSimTextView().getVisibility());
    }

    @Test
    public void testVisibleView_airplaneMode_WFCOn() {
        CarrierTextManager.CarrierTextCallbackInfo
                info = new CarrierTextManager.CarrierTextCallbackInfo(
                "",
                new CharSequence[]{FIRST_CARRIER_NAME, ""},
                true,
                new int[]{0, 1},
                false /* airplaneMode */);
        mCallback.updateCarrierInfo(info);
        mTestableLooper.processAllMessages();
        assertEquals(View.VISIBLE, mShadeCarrierGroupController.getShadeCarrierVisibility(0));
    }

    @Test
    public void testListenerNotCalledOnRegistreation() {
        mShadeCarrierGroupController
@@ -276,8 +295,8 @@ public class ShadeCarrierGroupControllerTest extends LeakCheckedTest {
        // Only one element in the info
        CarrierTextManager.CarrierTextCallbackInfo
                info = new CarrierTextManager.CarrierTextCallbackInfo(
                "",
                new CharSequence[]{""},
                SINGLE_CARRIER_TEXT,
                new CharSequence[]{SINGLE_CARRIER_TEXT},
                true,
                new int[]{0},
                false /* airplaneMode */);
@@ -295,8 +314,8 @@ public class ShadeCarrierGroupControllerTest extends LeakCheckedTest {
        // More than one element in the info
        CarrierTextManager.CarrierTextCallbackInfo
                info = new CarrierTextManager.CarrierTextCallbackInfo(
                "",
                new CharSequence[]{"", ""},
                MULTI_CARRIER_TEXT,
                new CharSequence[]{FIRST_CARRIER_NAME, SECOND_CARRIER_NAME},
                true,
                new int[]{0, 1},
                false /* airplaneMode */);
@@ -313,16 +332,16 @@ public class ShadeCarrierGroupControllerTest extends LeakCheckedTest {
    public void testSingleMultiCarrierSwitch() {
        CarrierTextManager.CarrierTextCallbackInfo
                singleCarrierInfo = new CarrierTextManager.CarrierTextCallbackInfo(
                "",
                new CharSequence[]{""},
                SINGLE_CARRIER_TEXT,
                new CharSequence[]{FIRST_CARRIER_NAME},
                true,
                new int[]{0},
                false /* airplaneMode */);

        CarrierTextManager.CarrierTextCallbackInfo
                multiCarrierInfo = new CarrierTextManager.CarrierTextCallbackInfo(
                "",
                new CharSequence[]{"", ""},
                MULTI_CARRIER_TEXT,
                new CharSequence[]{FIRST_CARRIER_NAME, SECOND_CARRIER_NAME},
                true,
                new int[]{0, 1},
                false /* airplaneMode */);
@@ -347,8 +366,8 @@ public class ShadeCarrierGroupControllerTest extends LeakCheckedTest {
    public void testNoCallbackIfSingleCarrierDoesntChange() {
        CarrierTextManager.CarrierTextCallbackInfo
                singleCarrierInfo = new CarrierTextManager.CarrierTextCallbackInfo(
                "",
                new CharSequence[]{""},
                SINGLE_CARRIER_TEXT,
                new CharSequence[]{FIRST_CARRIER_NAME},
                true,
                new int[]{0},
                false /* airplaneMode */);
@@ -369,8 +388,8 @@ public class ShadeCarrierGroupControllerTest extends LeakCheckedTest {
    public void testNoCallbackIfMultiCarrierDoesntChange() {
        CarrierTextManager.CarrierTextCallbackInfo
                multiCarrierInfo = new CarrierTextManager.CarrierTextCallbackInfo(
                "",
                new CharSequence[]{"", ""},
                MULTI_CARRIER_TEXT,
                new CharSequence[]{FIRST_CARRIER_NAME, SECOND_CARRIER_NAME},
                true,
                new int[]{0, 1},
                false /* airplaneMode */);