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

Commit 0f75c1ce authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "[System UI] Imrpove Mobile data ux visibility behavior" into main

parents 48df9172 83c48400
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -249,6 +249,9 @@ public class InternetDetailsContentController implements AccessPointController.A
                                SATELLITE_CONNECTED;
                        default -> SATELLITE_STARTED;
                    };
                    if (mCallback != null) {
                        mCallback.onSatelliteModemStateChanged(state);
                    }
                }
            };

+5 −2
Original line number Diff line number Diff line
@@ -547,7 +547,9 @@ public class InternetDialogDelegateLegacy implements
            Log.d(TAG, "setMobileDataLayout, isCarrierNetworkActive = "
                    + internetContent.mIsCarrierNetworkActive);
        }

        if (mMobileTitleText.getText().isEmpty()) {
            mMobileNetworkLayout.setVisibility(View.GONE);
        }
        if (!internetContent.mHasActiveSubIdOnDds && (!internetContent.mIsWifiEnabled
                || !internetContent.mIsCarrierNetworkActive)) {
            mMobileNetworkLayout.setVisibility(View.GONE);
@@ -556,10 +558,11 @@ public class InternetDialogDelegateLegacy implements
            }
        } else {
            mMobileNetworkLayout.setVisibility(View.VISIBLE);
            if (internetContent.mCurrentSatelliteState != SATELLITE_NOT_STARTED) {
            if (internetContent.mCurrentSatelliteState > SATELLITE_NOT_STARTED) {
                mMobileTitleText.setText(R.string.satellite_network_title_text);
                mMobileDataToggle.setVisibility(View.INVISIBLE);
                mMobileToggleDivider.setVisibility(View.INVISIBLE);
                mMobileSummaryText.setText("");
                if (internetContent.mCurrentSatelliteState
                        == InternetDetailsContentController.SATELLITE_CONNECTED) {
                    mMobileSummaryText.setText(R.string.mobile_data_connection_active);
+43 −0
Original line number Diff line number Diff line
@@ -105,6 +105,8 @@ public class InternetDialogDelegateLegacyTest extends SysuiTestCase {
    private View mSubTitle;
    private LinearLayout mEthernet;
    private LinearLayout mMobileDataLayout;
    private TextView mMobileTitleText;
    private TextView mMobileSummaryText;
    private Switch mMobileToggleSwitch;
    private LinearLayout mWifiToggle;
    private Switch mWifiToggleSwitch;
@@ -175,6 +177,8 @@ public class InternetDialogDelegateLegacyTest extends SysuiTestCase {
        mSubTitle = mDialogView.requireViewById(R.id.internet_dialog_subtitle);
        mEthernet = mDialogView.requireViewById(R.id.ethernet_layout);
        mMobileDataLayout = mDialogView.requireViewById(R.id.mobile_network_layout);
        mMobileTitleText = mDialogView.requireViewById(R.id.mobile_title);
        mMobileSummaryText = mDialogView.requireViewById(R.id.mobile_summary);
        mMobileToggleSwitch = mDialogView.requireViewById(R.id.mobile_toggle);
        mWifiToggle = mDialogView.requireViewById(R.id.turn_on_wifi_layout);
        mWifiToggleSwitch = mDialogView.requireViewById(R.id.wifi_toggle);
@@ -917,6 +921,45 @@ public class InternetDialogDelegateLegacyTest extends SysuiTestCase {
                });
    }

    @Test
    public void updateDialog_satelliteStarted_showSatelliteUI() {
        when(mInternetDetailsContentController.getCurrentSatelliteState()).thenReturn(
                SATELLITE_STARTED);
        when(mInternetDetailsContentController.hasActiveSubIdOnDds()).thenReturn(true);
        mMobileDataLayout.setVisibility(View.GONE);

        mInternetDialogDelegateLegacy.updateDialog(true);
        mBgExecutor.runAllReady();

        mInternetDialogDelegateLegacy.mDataInternetContent.observe(
                mInternetDialogDelegateLegacy.mLifecycleOwner, i -> {
                    assertThat(mMobileDataLayout.getVisibility()).isEqualTo(View.VISIBLE);
                    assertThat(mMobileTitleText.getText().toString()).isEqualTo(
                            mContext.getText(R.string.satellite_network_title_text).toString());
                });
    }

    @Test
    public void updateDialog_satelliteConnected_showSatelliteUIAndConnected() {
        when(mInternetDetailsContentController.getCurrentSatelliteState()).thenReturn(
                SATELLITE_CONNECTED);
        when(mInternetDetailsContentController.hasActiveSubIdOnDds()).thenReturn(true);
        mMobileDataLayout.setVisibility(View.GONE);

        mInternetDialogDelegateLegacy.updateDialog(true);
        mBgExecutor.runAllReady();

        mInternetDialogDelegateLegacy.mDataInternetContent.observe(
                mInternetDialogDelegateLegacy.mLifecycleOwner, i -> {
                    assertThat(mMobileDataLayout.getVisibility()).isEqualTo(View.VISIBLE);
                    assertThat(mMobileTitleText.getText().toString()).isEqualTo(
                            mContext.getText(R.string.satellite_network_title_text).toString());
                    assertThat(mMobileSummaryText.getVisibility()).isEqualTo(View.VISIBLE);
                    assertThat(mMobileSummaryText.getText().toString()).isEqualTo(
                            mContext.getText(R.string.mobile_data_connection_active));
                });
    }

    private void setNetworkVisible(boolean ethernetVisible, boolean mobileDataVisible,
            boolean connectedWifiVisible) {
        mEthernet.setVisibility(ethernetVisible ? View.VISIBLE : View.GONE);