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

Commit 932b007b authored by Zoey Chen's avatar Zoey Chen
Browse files

[SystemUI] Add the CarrierNetworkChange case into InternetDialog

Bug: 262927206
Test: atest InternetDialogControllerTest
Change-Id: I08590ccd02232f3f26cb44e195c1136d2f186196
parent d57a2941
Loading
Loading
Loading
Loading
+5 −0
Original line number Original line Diff line number Diff line
@@ -804,6 +804,11 @@ public class InternetDialog extends SystemUIDialog implements
        mHandler.post(() -> updateDialog(true /* shouldUpdateMobileNetwork */));
        mHandler.post(() -> updateDialog(true /* shouldUpdateMobileNetwork */));
    }
    }


    @Override
    public void onCarrierNetworkChange(boolean active) {
        mHandler.post(() -> updateDialog(true /* shouldUpdateMobileNetwork */));
    }

    @Override
    @Override
    @WorkerThread
    @WorkerThread
    public void onAccessPointsChanged(@Nullable List<WifiEntry> wifiEntries,
    public void onAccessPointsChanged(@Nullable List<WifiEntry> wifiEntries,
+23 −6
Original line number Original line Diff line number Diff line
@@ -206,6 +206,8 @@ public class InternetDialogController implements AccessPointController.AccessPoi
    protected boolean mHasEthernet = false;
    protected boolean mHasEthernet = false;
    @VisibleForTesting
    @VisibleForTesting
    protected ConnectedWifiInternetMonitor mConnectedWifiInternetMonitor;
    protected ConnectedWifiInternetMonitor mConnectedWifiInternetMonitor;
    @VisibleForTesting
    protected boolean mCarrierNetworkChangeMode;


    private final KeyguardUpdateMonitorCallback mKeyguardUpdateCallback =
    private final KeyguardUpdateMonitorCallback mKeyguardUpdateCallback =
            new KeyguardUpdateMonitorCallback() {
            new KeyguardUpdateMonitorCallback() {
@@ -507,10 +509,13 @@ public class InternetDialogController implements AccessPointController.AccessPoi
    Drawable getSignalStrengthIcon(int subId, Context context, int level, int numLevels,
    Drawable getSignalStrengthIcon(int subId, Context context, int level, int numLevels,
            int iconType, boolean cutOut) {
            int iconType, boolean cutOut) {
        boolean isForDds = subId == mDefaultDataSubId;
        boolean isForDds = subId == mDefaultDataSubId;
        int levelDrawable =
                mCarrierNetworkChangeMode ? SignalDrawable.getCarrierChangeState(numLevels)
                        : SignalDrawable.getState(level, numLevels, cutOut);
        if (isForDds) {
        if (isForDds) {
            mSignalDrawable.setLevel(SignalDrawable.getState(level, numLevels, cutOut));
            mSignalDrawable.setLevel(levelDrawable);
        } else {
        } else {
            mSecondarySignalDrawable.setLevel(SignalDrawable.getState(level, numLevels, cutOut));
            mSecondarySignalDrawable.setLevel(levelDrawable);
        }
        }


        // Make the network type drawable
        // Make the network type drawable
@@ -672,10 +677,13 @@ public class InternetDialogController implements AccessPointController.AccessPoi
        }
        }


        int resId = Objects.requireNonNull(mapIconSets(config).get(iconKey)).dataContentDescription;
        int resId = Objects.requireNonNull(mapIconSets(config).get(iconKey)).dataContentDescription;
        SignalIcon.MobileIconGroup iconGroup;
        if (isCarrierNetworkActive()) {
        if (isCarrierNetworkActive()) {
            SignalIcon.MobileIconGroup carrierMergedWifiIconGroup =
            iconGroup = TelephonyIcons.CARRIER_MERGED_WIFI;
                    TelephonyIcons.CARRIER_MERGED_WIFI;
            resId = iconGroup.dataContentDescription;
            resId = carrierMergedWifiIconGroup.dataContentDescription;
        } else if (mCarrierNetworkChangeMode) {
            iconGroup = TelephonyIcons.CARRIER_NETWORK_CHANGE;
            resId = iconGroup.dataContentDescription;
        }
        }


        return resId != 0
        return resId != 0
@@ -1066,7 +1074,8 @@ public class InternetDialogController implements AccessPointController.AccessPoi
            TelephonyCallback.DisplayInfoListener,
            TelephonyCallback.DisplayInfoListener,
            TelephonyCallback.ServiceStateListener,
            TelephonyCallback.ServiceStateListener,
            TelephonyCallback.SignalStrengthsListener,
            TelephonyCallback.SignalStrengthsListener,
            TelephonyCallback.UserMobileDataStateListener {
            TelephonyCallback.UserMobileDataStateListener,
            TelephonyCallback.CarrierNetworkListener{


        private final int mSubId;
        private final int mSubId;
        private InternetTelephonyCallback(int subId) {
        private InternetTelephonyCallback(int subId) {
@@ -1098,6 +1107,12 @@ public class InternetDialogController implements AccessPointController.AccessPoi
        public void onUserMobileDataStateChanged(boolean enabled) {
        public void onUserMobileDataStateChanged(boolean enabled) {
            mCallback.onUserMobileDataStateChanged(enabled);
            mCallback.onUserMobileDataStateChanged(enabled);
        }
        }

        @Override
        public void onCarrierNetworkChange(boolean active) {
            mCarrierNetworkChangeMode = active;
            mCallback.onCarrierNetworkChange(active);
        }
    }
    }


    private class InternetOnSubscriptionChangedListener
    private class InternetOnSubscriptionChangedListener
@@ -1267,6 +1282,8 @@ public class InternetDialogController implements AccessPointController.AccessPoi


        void onDisplayInfoChanged(TelephonyDisplayInfo telephonyDisplayInfo);
        void onDisplayInfoChanged(TelephonyDisplayInfo telephonyDisplayInfo);


        void onCarrierNetworkChange(boolean active);

        void dismissDialog();
        void dismissDialog();


        void onAccessPointsChanged(@Nullable List<WifiEntry> wifiEntries,
        void onAccessPointsChanged(@Nullable List<WifiEntry> wifiEntries,
+20 −0
Original line number Original line Diff line number Diff line
@@ -879,6 +879,26 @@ public class InternetDialogControllerTest extends SysuiTestCase {
        }
        }
    }
    }


    @Test
    public void getMobileNetworkSummary_withCarrierNetworkChange() {
        Resources res = mock(Resources.class);
        doReturn("Carrier network changing").when(res).getString(anyInt());
        when(SubscriptionManager.getResourcesForSubId(any(), eq(SUB_ID))).thenReturn(res);
        InternetDialogController spyController = spy(mInternetDialogController);
        Map<Integer, TelephonyDisplayInfo> mSubIdTelephonyDisplayInfoMap =
                spyController.mSubIdTelephonyDisplayInfoMap;
        TelephonyDisplayInfo info = new TelephonyDisplayInfo(TelephonyManager.NETWORK_TYPE_LTE,
                TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NONE);

        mSubIdTelephonyDisplayInfoMap.put(SUB_ID, info);
        doReturn(true).when(spyController).isMobileDataEnabled();
        doReturn(true).when(spyController).activeNetworkIsCellular();
        spyController.mCarrierNetworkChangeMode = true;
        String dds = spyController.getMobileNetworkSummary(SUB_ID);

        assertThat(dds).contains(mContext.getString(R.string.carrier_network_change_mode));
    }

    private String getResourcesString(String name) {
    private String getResourcesString(String name) {
        return mContext.getResources().getString(getResourcesId(name));
        return mContext.getResources().getString(getResourcesId(name));
    }
    }