Merge "Set CarrierTextManager.airplaneMode to true when wifi enabled while in airplane mode" into udc-dev

This commit is contained in:
Shawn Lee
2023-06-16 18:56:11 +00:00
committed by Android (Google) Code Review
2 changed files with 61 additions and 35 deletions

View File

@@ -198,6 +198,11 @@ public class ShadeCarrierGroupController {
return mSlotIndexResolver.getSlotIndex(subscriptionId); return mSlotIndexResolver.getSlotIndex(subscriptionId);
} }
@VisibleForTesting
protected int getShadeCarrierVisibility(int index) {
return mCarrierGroups[index].getVisibility();
}
/** /**
* Sets a {@link OnSingleCarrierChangedListener}. * Sets a {@link OnSingleCarrierChangedListener}.
* *
@@ -307,12 +312,14 @@ public class ShadeCarrierGroupController {
+ info.subscriptionIds[i]); + info.subscriptionIds[i]);
continue; continue;
} }
String carrierText = info.listOfCarriers[i].toString().trim();
if (!TextUtils.isEmpty(carrierText)) {
mInfos[slot] = mInfos[slot].changeVisibility(true); mInfos[slot] = mInfos[slot].changeVisibility(true);
slotSeen[slot] = true; slotSeen[slot] = true;
mCarrierGroups[slot].setCarrierText( mCarrierGroups[slot].setCarrierText(carrierText);
info.listOfCarriers[i].toString().trim());
mCarrierGroups[slot].setVisibility(View.VISIBLE); mCarrierGroups[slot].setVisibility(View.VISIBLE);
} }
}
for (int i = 0; i < SIM_SLOTS; i++) { for (int i = 0; i < SIM_SLOTS; i++) {
if (!slotSeen[i]) { if (!slotSeen[i]) {
mInfos[i] = mInfos[i].changeVisibility(false); mInfos[i] = mInfos[i].changeVisibility(false);

View File

@@ -66,6 +66,11 @@ import org.mockito.MockitoAnnotations;
@SmallTest @SmallTest
public class ShadeCarrierGroupControllerTest extends LeakCheckedTest { 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 ShadeCarrierGroupController mShadeCarrierGroupController;
private SignalCallback mSignalCallback; private SignalCallback mSignalCallback;
private CarrierTextManager.CarrierTextCallback mCallback; private CarrierTextManager.CarrierTextCallback mCallback;
@@ -148,8 +153,8 @@ public class ShadeCarrierGroupControllerTest extends LeakCheckedTest {
// listOfCarriers length 1, subscriptionIds length 1, anySims false // listOfCarriers length 1, subscriptionIds length 1, anySims false
CarrierTextManager.CarrierTextCallbackInfo CarrierTextManager.CarrierTextCallbackInfo
c1 = new CarrierTextManager.CarrierTextCallbackInfo( c1 = new CarrierTextManager.CarrierTextCallbackInfo(
"", SINGLE_CARRIER_TEXT,
new CharSequence[]{""}, new CharSequence[]{FIRST_CARRIER_NAME},
false, false,
new int[]{0}); new int[]{0});
mCallback.updateCarrierInfo(c1); mCallback.updateCarrierInfo(c1);
@@ -157,8 +162,8 @@ public class ShadeCarrierGroupControllerTest extends LeakCheckedTest {
// listOfCarriers length 1, subscriptionIds length 1, anySims true // listOfCarriers length 1, subscriptionIds length 1, anySims true
CarrierTextManager.CarrierTextCallbackInfo CarrierTextManager.CarrierTextCallbackInfo
c2 = new CarrierTextManager.CarrierTextCallbackInfo( c2 = new CarrierTextManager.CarrierTextCallbackInfo(
"", SINGLE_CARRIER_TEXT,
new CharSequence[]{""}, new CharSequence[]{FIRST_CARRIER_NAME},
true, true,
new int[]{0}); new int[]{0});
mCallback.updateCarrierInfo(c2); mCallback.updateCarrierInfo(c2);
@@ -166,8 +171,8 @@ public class ShadeCarrierGroupControllerTest extends LeakCheckedTest {
// listOfCarriers length 2, subscriptionIds length 2, anySims false // listOfCarriers length 2, subscriptionIds length 2, anySims false
CarrierTextManager.CarrierTextCallbackInfo CarrierTextManager.CarrierTextCallbackInfo
c3 = new CarrierTextManager.CarrierTextCallbackInfo( c3 = new CarrierTextManager.CarrierTextCallbackInfo(
"", MULTI_CARRIER_TEXT,
new CharSequence[]{"", ""}, new CharSequence[]{FIRST_CARRIER_NAME, SECOND_CARRIER_NAME},
false, false,
new int[]{0, 1}); new int[]{0, 1});
mCallback.updateCarrierInfo(c3); mCallback.updateCarrierInfo(c3);
@@ -175,8 +180,8 @@ public class ShadeCarrierGroupControllerTest extends LeakCheckedTest {
// listOfCarriers length 2, subscriptionIds length 2, anySims true // listOfCarriers length 2, subscriptionIds length 2, anySims true
CarrierTextManager.CarrierTextCallbackInfo CarrierTextManager.CarrierTextCallbackInfo
c4 = new CarrierTextManager.CarrierTextCallbackInfo( c4 = new CarrierTextManager.CarrierTextCallbackInfo(
"", MULTI_CARRIER_TEXT,
new CharSequence[]{"", ""}, new CharSequence[]{FIRST_CARRIER_NAME, SECOND_CARRIER_NAME},
true, true,
new int[]{0, 1}); new int[]{0, 1});
mCallback.updateCarrierInfo(c4); mCallback.updateCarrierInfo(c4);
@@ -189,8 +194,8 @@ public class ShadeCarrierGroupControllerTest extends LeakCheckedTest {
// listOfCarriers length 2, subscriptionIds length 1, anySims false // listOfCarriers length 2, subscriptionIds length 1, anySims false
CarrierTextManager.CarrierTextCallbackInfo CarrierTextManager.CarrierTextCallbackInfo
c1 = new CarrierTextManager.CarrierTextCallbackInfo( c1 = new CarrierTextManager.CarrierTextCallbackInfo(
"", MULTI_CARRIER_TEXT,
new CharSequence[]{"", ""}, new CharSequence[]{FIRST_CARRIER_NAME, SECOND_CARRIER_NAME},
false, false,
new int[]{0}); new int[]{0});
mCallback.updateCarrierInfo(c1); mCallback.updateCarrierInfo(c1);
@@ -198,8 +203,8 @@ public class ShadeCarrierGroupControllerTest extends LeakCheckedTest {
// listOfCarriers length 2, subscriptionIds length 1, anySims true // listOfCarriers length 2, subscriptionIds length 1, anySims true
CarrierTextManager.CarrierTextCallbackInfo CarrierTextManager.CarrierTextCallbackInfo
c2 = new CarrierTextManager.CarrierTextCallbackInfo( c2 = new CarrierTextManager.CarrierTextCallbackInfo(
"", MULTI_CARRIER_TEXT,
new CharSequence[]{"", ""}, new CharSequence[]{FIRST_CARRIER_NAME, SECOND_CARRIER_NAME},
true, true,
new int[]{0}); new int[]{0});
mCallback.updateCarrierInfo(c2); mCallback.updateCarrierInfo(c2);
@@ -207,8 +212,8 @@ public class ShadeCarrierGroupControllerTest extends LeakCheckedTest {
// listOfCarriers length 1, subscriptionIds length 2, anySims false // listOfCarriers length 1, subscriptionIds length 2, anySims false
CarrierTextManager.CarrierTextCallbackInfo CarrierTextManager.CarrierTextCallbackInfo
c3 = new CarrierTextManager.CarrierTextCallbackInfo( c3 = new CarrierTextManager.CarrierTextCallbackInfo(
"", SINGLE_CARRIER_TEXT,
new CharSequence[]{""}, new CharSequence[]{FIRST_CARRIER_NAME},
false, false,
new int[]{0, 1}); new int[]{0, 1});
mCallback.updateCarrierInfo(c3); mCallback.updateCarrierInfo(c3);
@@ -216,8 +221,8 @@ public class ShadeCarrierGroupControllerTest extends LeakCheckedTest {
// listOfCarriers length 1, subscriptionIds length 2, anySims true // listOfCarriers length 1, subscriptionIds length 2, anySims true
CarrierTextManager.CarrierTextCallbackInfo CarrierTextManager.CarrierTextCallbackInfo
c4 = new CarrierTextManager.CarrierTextCallbackInfo( c4 = new CarrierTextManager.CarrierTextCallbackInfo(
"", SINGLE_CARRIER_TEXT,
new CharSequence[]{""}, new CharSequence[]{FIRST_CARRIER_NAME},
true, true,
new int[]{0, 1}); new int[]{0, 1});
mCallback.updateCarrierInfo(c4); mCallback.updateCarrierInfo(c4);
@@ -230,8 +235,8 @@ public class ShadeCarrierGroupControllerTest extends LeakCheckedTest {
CarrierTextManager.CarrierTextCallbackInfo CarrierTextManager.CarrierTextCallbackInfo
c4 = new CarrierTextManager.CarrierTextCallbackInfo( c4 = new CarrierTextManager.CarrierTextCallbackInfo(
"", MULTI_CARRIER_TEXT,
new CharSequence[]{"", ""}, new CharSequence[]{FIRST_CARRIER_NAME, SECOND_CARRIER_NAME},
true, true,
new int[]{0, 1}); new int[]{0, 1});
mCallback.updateCarrierInfo(c4); mCallback.updateCarrierInfo(c4);
@@ -263,6 +268,20 @@ public class ShadeCarrierGroupControllerTest extends LeakCheckedTest {
assertEquals(View.GONE, mShadeCarrierGroup.getNoSimTextView().getVisibility()); 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 @Test
public void testListenerNotCalledOnRegistreation() { public void testListenerNotCalledOnRegistreation() {
mShadeCarrierGroupController mShadeCarrierGroupController
@@ -276,8 +295,8 @@ public class ShadeCarrierGroupControllerTest extends LeakCheckedTest {
// Only one element in the info // Only one element in the info
CarrierTextManager.CarrierTextCallbackInfo CarrierTextManager.CarrierTextCallbackInfo
info = new CarrierTextManager.CarrierTextCallbackInfo( info = new CarrierTextManager.CarrierTextCallbackInfo(
"", SINGLE_CARRIER_TEXT,
new CharSequence[]{""}, new CharSequence[]{SINGLE_CARRIER_TEXT},
true, true,
new int[]{0}, new int[]{0},
false /* airplaneMode */); false /* airplaneMode */);
@@ -295,8 +314,8 @@ public class ShadeCarrierGroupControllerTest extends LeakCheckedTest {
// More than one element in the info // More than one element in the info
CarrierTextManager.CarrierTextCallbackInfo CarrierTextManager.CarrierTextCallbackInfo
info = new CarrierTextManager.CarrierTextCallbackInfo( info = new CarrierTextManager.CarrierTextCallbackInfo(
"", MULTI_CARRIER_TEXT,
new CharSequence[]{"", ""}, new CharSequence[]{FIRST_CARRIER_NAME, SECOND_CARRIER_NAME},
true, true,
new int[]{0, 1}, new int[]{0, 1},
false /* airplaneMode */); false /* airplaneMode */);
@@ -313,16 +332,16 @@ public class ShadeCarrierGroupControllerTest extends LeakCheckedTest {
public void testSingleMultiCarrierSwitch() { public void testSingleMultiCarrierSwitch() {
CarrierTextManager.CarrierTextCallbackInfo CarrierTextManager.CarrierTextCallbackInfo
singleCarrierInfo = new CarrierTextManager.CarrierTextCallbackInfo( singleCarrierInfo = new CarrierTextManager.CarrierTextCallbackInfo(
"", SINGLE_CARRIER_TEXT,
new CharSequence[]{""}, new CharSequence[]{FIRST_CARRIER_NAME},
true, true,
new int[]{0}, new int[]{0},
false /* airplaneMode */); false /* airplaneMode */);
CarrierTextManager.CarrierTextCallbackInfo CarrierTextManager.CarrierTextCallbackInfo
multiCarrierInfo = new CarrierTextManager.CarrierTextCallbackInfo( multiCarrierInfo = new CarrierTextManager.CarrierTextCallbackInfo(
"", MULTI_CARRIER_TEXT,
new CharSequence[]{"", ""}, new CharSequence[]{FIRST_CARRIER_NAME, SECOND_CARRIER_NAME},
true, true,
new int[]{0, 1}, new int[]{0, 1},
false /* airplaneMode */); false /* airplaneMode */);
@@ -347,8 +366,8 @@ public class ShadeCarrierGroupControllerTest extends LeakCheckedTest {
public void testNoCallbackIfSingleCarrierDoesntChange() { public void testNoCallbackIfSingleCarrierDoesntChange() {
CarrierTextManager.CarrierTextCallbackInfo CarrierTextManager.CarrierTextCallbackInfo
singleCarrierInfo = new CarrierTextManager.CarrierTextCallbackInfo( singleCarrierInfo = new CarrierTextManager.CarrierTextCallbackInfo(
"", SINGLE_CARRIER_TEXT,
new CharSequence[]{""}, new CharSequence[]{FIRST_CARRIER_NAME},
true, true,
new int[]{0}, new int[]{0},
false /* airplaneMode */); false /* airplaneMode */);
@@ -369,8 +388,8 @@ public class ShadeCarrierGroupControllerTest extends LeakCheckedTest {
public void testNoCallbackIfMultiCarrierDoesntChange() { public void testNoCallbackIfMultiCarrierDoesntChange() {
CarrierTextManager.CarrierTextCallbackInfo CarrierTextManager.CarrierTextCallbackInfo
multiCarrierInfo = new CarrierTextManager.CarrierTextCallbackInfo( multiCarrierInfo = new CarrierTextManager.CarrierTextCallbackInfo(
"", MULTI_CARRIER_TEXT,
new CharSequence[]{"", ""}, new CharSequence[]{FIRST_CARRIER_NAME, SECOND_CARRIER_NAME},
true, true,
new int[]{0, 1}, new int[]{0, 1},
false /* airplaneMode */); false /* airplaneMode */);