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

Commit 55fc8004 authored by Andrew Flynn's avatar Andrew Flynn
Browse files

Show Carrier Network Change icon SysUI even while connected

Taking connect/disconnect events into accounts results in frequent jank
while trying to show the icon.

Bug: 21504588
Change-Id: If271980cc46cfc20f80083de17a4b57c42439069
parent 233241f1
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -272,7 +272,7 @@ public class MobileSignalController extends SignalController<
    }

    private boolean isCarrierNetworkChangeActive() {
        return !hasService() && mCurrentState.carrierNetworkChangeMode;
        return mCurrentState.carrierNetworkChangeMode;
    }

    public void handleBroadcast(Intent intent) {
+3 −35
Original line number Diff line number Diff line
@@ -391,35 +391,7 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest {

    }

    public void testCarrierNetworkChange_carrierNetworkChangeWhileConnected() {
      int strength = SignalStrength.SIGNAL_STRENGTH_GREAT;

      setupDefaultSignal();
      setLevel(strength);

      // API call is made
      setCarrierNetworkChange(true /* enabled */);

      // Boolean value is set, but we still have a signal, should be showing normal
      verifyLastMobileDataIndicators(true /* visible */,
              TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH[1][strength] /* strengthIcon */,
              DEFAULT_ICON /* typeIcon */);

      // Lose voice but still have data
      setVoiceRegState(ServiceState.STATE_OUT_OF_SERVICE);
      verifyLastMobileDataIndicators(true /* visible */,
              TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH[1][strength] /* strengthIcon */,
              DEFAULT_ICON /* typeIcon */);

      // Voice but no data
      setVoiceRegState(ServiceState.STATE_IN_SERVICE);
      setDataRegState(ServiceState.STATE_OUT_OF_SERVICE);
      verifyLastMobileDataIndicators(true /* visible */,
              TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH[1][strength] /* strengthIcon */,
              DEFAULT_ICON /* typeIcon */);
    }

    public void testCarrierNetworkChange_carrierNetworkChangeWhileDisconnected() {
    public void testCarrierNetworkChange_carrierNetworkChange() {
      int strength = SignalStrength.SIGNAL_STRENGTH_GREAT;

      setupDefaultSignal();
@@ -430,20 +402,16 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest {
              TelephonyIcons.TELEPHONY_SIGNAL_STRENGTH[1][strength] /* strengthIcon */,
              DEFAULT_ICON /* typeIcon */);

      // API call is made and all connectivity lost
      // API call is made
      setCarrierNetworkChange(true /* enabled */);
      setVoiceRegState(ServiceState.STATE_OUT_OF_SERVICE);
      setDataRegState(ServiceState.STATE_OUT_OF_SERVICE);

      // Out of service and carrier network change is true, show special indicator
      // Carrier network change is true, show special indicator
      verifyLastMobileDataIndicators(true /* visible */,
              TelephonyIcons.TELEPHONY_CARRIER_NETWORK_CHANGE[0][0] /* strengthIcon */,
              0 /* typeIcon */);

      // Revert back
      setCarrierNetworkChange(false /* enabled */);
      setVoiceRegState(ServiceState.STATE_IN_SERVICE);
      setDataRegState(ServiceState.STATE_IN_SERVICE);

      // Verify back in previous state
      verifyLastMobileDataIndicators(true /* visible */,