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
This commit is contained in:
@@ -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,11 +312,13 @@ public class ShadeCarrierGroupController {
|
||||
+ info.subscriptionIds[i]);
|
||||
continue;
|
||||
}
|
||||
mInfos[slot] = mInfos[slot].changeVisibility(true);
|
||||
slotSeen[slot] = true;
|
||||
mCarrierGroups[slot].setCarrierText(
|
||||
info.listOfCarriers[i].toString().trim());
|
||||
mCarrierGroups[slot].setVisibility(View.VISIBLE);
|
||||
String carrierText = info.listOfCarriers[i].toString().trim();
|
||||
if (!TextUtils.isEmpty(carrierText)) {
|
||||
mInfos[slot] = mInfos[slot].changeVisibility(true);
|
||||
slotSeen[slot] = true;
|
||||
mCarrierGroups[slot].setCarrierText(carrierText);
|
||||
mCarrierGroups[slot].setVisibility(View.VISIBLE);
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < SIM_SLOTS; i++) {
|
||||
if (!slotSeen[i]) {
|
||||
|
||||
@@ -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 */);
|
||||
|
||||
Reference in New Issue
Block a user