summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Sooraj Sasindran <sasindran@google.com> 2019-04-27 06:08:59 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2019-04-27 06:08:59 +0000
commitc6e075350629055222e2ff949dbffa50d463316c (patch)
treeabf2788e7bcd1e09f7218c427abbdf898160da8c
parent16e18dc3c96eff28da29604112f2a1ae599167b2 (diff)
parent0d45da7abb5dfd8b0fa7dfc3156926c6d189dc61 (diff)
Merge "Show opportunistic provider name conditionally" into qt-dev
-rw-r--r--packages/SystemUI/src/com/android/keyguard/CarrierTextController.java46
-rw-r--r--packages/SystemUI/tests/src/com/android/keyguard/CarrierTextControllerTest.java42
-rw-r--r--telephony/java/com/android/internal/telephony/TelephonyProperties.java7
3 files changed, 82 insertions, 13 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/CarrierTextController.java b/packages/SystemUI/src/com/android/keyguard/CarrierTextController.java
index 2e9b03c6b31e..12d1f7c3118d 100644
--- a/packages/SystemUI/src/com/android/keyguard/CarrierTextController.java
+++ b/packages/SystemUI/src/com/android/keyguard/CarrierTextController.java
@@ -27,6 +27,7 @@ import android.content.IntentFilter;
import android.net.ConnectivityManager;
import android.net.wifi.WifiManager;
import android.os.Handler;
+import android.os.SystemProperties;
import android.telephony.CarrierConfigManager;
import android.telephony.PhoneStateListener;
import android.telephony.ServiceState;
@@ -40,6 +41,7 @@ import androidx.annotation.VisibleForTesting;
import com.android.internal.telephony.IccCardConstants;
import com.android.internal.telephony.TelephonyIntents;
+import com.android.internal.telephony.TelephonyProperties;
import com.android.settingslib.WirelessUtils;
import com.android.systemui.Dependency;
import com.android.systemui.keyguard.WakefulnessLifecycle;
@@ -70,6 +72,8 @@ public class CarrierTextController {
private Context mContext;
private CharSequence mSeparator;
private WakefulnessLifecycle mWakefulnessLifecycle;
+ @VisibleForTesting
+ protected boolean mDisplayOpportunisticSubscriptionCarrierText;
private final WakefulnessLifecycle.Observer mWakefulnessObserver =
new WakefulnessLifecycle.Observer() {
@Override
@@ -247,7 +251,6 @@ public class CarrierTextController {
}
/**
- * STOPSHIP(b/130246708) remove when no longer needed for testing purpose.
* @param subscriptions
*/
private void filterMobileSubscriptionInSameGroup(List<SubscriptionInfo> subscriptions) {
@@ -274,21 +277,40 @@ public class CarrierTextController {
}
}
+ /**
+ * updates if opportunistic sub carrier text should be displayed or not
+ *
+ */
+ @VisibleForTesting
+ public void updateDisplayOpportunisticSubscriptionCarrierText() {
+ mDisplayOpportunisticSubscriptionCarrierText = SystemProperties
+ .getBoolean(TelephonyProperties
+ .DISPLAY_OPPORTUNISTIC_SUBSCRIPTION_CARRIER_TEXT_PROPERTY_NAME, false);
+ }
+
+ protected List<SubscriptionInfo> getSubscriptionInfo() {
+ List<SubscriptionInfo> subs;
+ if (mDisplayOpportunisticSubscriptionCarrierText) {
+ SubscriptionManager subscriptionManager = ((SubscriptionManager) mContext
+ .getSystemService(
+ Context.TELEPHONY_SUBSCRIPTION_SERVICE));
+ subs = subscriptionManager.getActiveSubscriptionInfoList(false);
+ if (subs == null) {
+ subs = new ArrayList<>();
+ } else {
+ filterMobileSubscriptionInSameGroup(subs);
+ }
+ } else {
+ subs = mKeyguardUpdateMonitor.getSubscriptionInfo(false);
+ }
+ return subs;
+ }
+
protected void updateCarrierText() {
boolean allSimsMissing = true;
boolean anySimReadyAndInService = false;
CharSequence displayText = null;
-
- // STOPSHIP(b/130246708) revert to mKeyguardUpdateMonitor.getSubscriptionInfo(false).
- SubscriptionManager subscriptionManager = ((SubscriptionManager) mContext.getSystemService(
- Context.TELEPHONY_SUBSCRIPTION_SERVICE));
- List<SubscriptionInfo> subs = subscriptionManager.getActiveSubscriptionInfoList(false);
-
- if (subs == null) {
- subs = new ArrayList<>();
- } else {
- filterMobileSubscriptionInSameGroup(subs);
- }
+ List<SubscriptionInfo> subs = getSubscriptionInfo();
final int numSubs = subs.size();
final int[] subsIds = new int[numSubs];
diff --git a/packages/SystemUI/tests/src/com/android/keyguard/CarrierTextControllerTest.java b/packages/SystemUI/tests/src/com/android/keyguard/CarrierTextControllerTest.java
index 9f91a17e846d..212c8f52a19e 100644
--- a/packages/SystemUI/tests/src/com/android/keyguard/CarrierTextControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/keyguard/CarrierTextControllerTest.java
@@ -66,9 +66,17 @@ public class CarrierTextControllerTest extends SysuiTestCase {
private static final CharSequence SEPARATOR = " \u2014 ";
private static final String TEST_CARRIER = "TEST_CARRIER";
+ private static final String TEST_CARRIER_2 = "TEST_CARRIER_2";
+ private static final String TEST_GROUP_UUID = "59b5c870-fc4c-47a4-a99e-9db826b48b24";
+ private static final int TEST_CARRIER_ID = 1;
private static final SubscriptionInfo TEST_SUBSCRIPTION = new SubscriptionInfo(0, "", 0,
TEST_CARRIER, TEST_CARRIER, NAME_SOURCE_DEFAULT_SOURCE, 0xFFFFFF, "",
- DATA_ROAMING_DISABLE, null, null, null, null, false, null, "");
+ DATA_ROAMING_DISABLE, null, null, null, null, false, null, "", false, TEST_GROUP_UUID,
+ TEST_CARRIER_ID, 0);
+ private static final SubscriptionInfo TEST_SUBSCRIPTION_2 = new SubscriptionInfo(0, "", 0,
+ TEST_CARRIER, TEST_CARRIER_2, NAME_SOURCE_DEFAULT_SOURCE, 0xFFFFFF, "",
+ DATA_ROAMING_DISABLE, null, null, null, null, false, null, "", true, TEST_GROUP_UUID,
+ TEST_CARRIER_ID, 0);
private static final SubscriptionInfo TEST_SUBSCRIPTION_ROAMING = new SubscriptionInfo(0, "", 0,
TEST_CARRIER, TEST_CARRIER, NAME_SOURCE_DEFAULT_SOURCE, 0xFFFFFF, "",
DATA_ROAMING_ENABLE, null, null, null, null, false, null, "");
@@ -369,6 +377,33 @@ public class CarrierTextControllerTest extends SysuiTestCase {
captor.getValue().carrierText);
}
+ @Test
+ public void testCarrierText_GroupedSubWithOpportunisticCarrierText() {
+ reset(mCarrierTextCallback);
+ List<SubscriptionInfo> list = new ArrayList<>();
+ list.add(TEST_SUBSCRIPTION);
+ list.add(TEST_SUBSCRIPTION_2);
+ when(mKeyguardUpdateMonitor.getSimState(anyInt()))
+ .thenReturn(IccCardConstants.State.READY);
+ when(mKeyguardUpdateMonitor.getSubscriptionInfo(anyBoolean())).thenReturn(list);
+ mKeyguardUpdateMonitor.mServiceStates = new HashMap<>();
+ mCarrierTextController.updateDisplayOpportunisticSubscriptionCarrierText();
+
+ // STOPSHIP(b/130246708) This line makes sure that SubscriptionManager provides the
+ // same answer as KeyguardUpdateMonitor. Remove when this is addressed
+ when(mSubscriptionManager.getActiveSubscriptionInfoList(anyBoolean())).thenReturn(list);
+
+ ArgumentCaptor<CarrierTextController.CarrierTextCallbackInfo> captor =
+ ArgumentCaptor.forClass(
+ CarrierTextController.CarrierTextCallbackInfo.class);
+
+ mCarrierTextController.updateCarrierText();
+ mTestableLooper.processAllMessages();
+ verify(mCarrierTextCallback).updateCarrierInfo(captor.capture());
+
+ assertEquals(TEST_CARRIER_2, captor.getValue().carrierText);
+ }
+
public static class TestCarrierTextController extends CarrierTextController {
private KeyguardUpdateMonitor mKUM;
@@ -383,5 +418,10 @@ public class CarrierTextControllerTest extends SysuiTestCase {
super.setListening(callback);
mKeyguardUpdateMonitor = mKUM;
}
+
+ @Override
+ public void updateDisplayOpportunisticSubscriptionCarrierText() {
+ mDisplayOpportunisticSubscriptionCarrierText = true;
+ }
}
}
diff --git a/telephony/java/com/android/internal/telephony/TelephonyProperties.java b/telephony/java/com/android/internal/telephony/TelephonyProperties.java
index 030c3f495d0f..dd9b2421a333 100644
--- a/telephony/java/com/android/internal/telephony/TelephonyProperties.java
+++ b/telephony/java/com/android/internal/telephony/TelephonyProperties.java
@@ -224,4 +224,11 @@ public interface TelephonyProperties
*/
static final String PROPERTY_VIDEOCALL_AUDIO_OUTPUT = "persist.radio.call.audio.output";
+ /** 'true' if the carrier text from opportunistic subscription should be used to display
+ * on UI.
+ *
+ */
+ String DISPLAY_OPPORTUNISTIC_SUBSCRIPTION_CARRIER_TEXT_PROPERTY_NAME =
+ "persist.radio.display_opportunistic_carrier";
+
}