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

Commit 7b4bf2ee authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "[Provider Model] Adjust the design of "See all" (QS Internet Dialog)"...

Merge "[Provider Model] Adjust the design of "See all" (QS Internet Dialog)" into sc-v2-dev am: d54867d6 am: 3a40f836

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16402869

Change-Id: I71418636419ce9cebdff5a158bad8df91fa1ef54
parents e0a9ca4c 3a40f836
Loading
Loading
Loading
Loading
+5 −3
Original line number Original line Diff line number Diff line
@@ -137,6 +137,8 @@ public class InternetDialog extends SystemUIDialog implements
    protected WifiEntry mConnectedWifiEntry;
    protected WifiEntry mConnectedWifiEntry;
    @VisibleForTesting
    @VisibleForTesting
    protected int mWifiEntriesCount;
    protected int mWifiEntriesCount;
    @VisibleForTesting
    protected boolean mHasMoreEntry;


    // Wi-Fi scanning progress bar
    // Wi-Fi scanning progress bar
    protected boolean mIsProgressBarVisible;
    protected boolean mIsProgressBarVisible;
@@ -464,8 +466,7 @@ public class InternetDialog extends SystemUIDialog implements
        }
        }
        mWifiRecyclerView.setMinimumHeight(mWifiNetworkHeight * getWifiListMaxCount());
        mWifiRecyclerView.setMinimumHeight(mWifiNetworkHeight * getWifiListMaxCount());
        mWifiRecyclerView.setVisibility(View.VISIBLE);
        mWifiRecyclerView.setVisibility(View.VISIBLE);
        final boolean showSeeAll = mConnectedWifiEntry != null || mWifiEntriesCount > 0;
        mSeeAllLayout.setVisibility(mHasMoreEntry ? View.VISIBLE : View.INVISIBLE);
        mSeeAllLayout.setVisibility(showSeeAll ? View.VISIBLE : View.INVISIBLE);
    }
    }


    @VisibleForTesting
    @VisibleForTesting
@@ -655,13 +656,14 @@ public class InternetDialog extends SystemUIDialog implements
    @Override
    @Override
    @WorkerThread
    @WorkerThread
    public void onAccessPointsChanged(@Nullable List<WifiEntry> wifiEntries,
    public void onAccessPointsChanged(@Nullable List<WifiEntry> wifiEntries,
            @Nullable WifiEntry connectedEntry) {
            @Nullable WifiEntry connectedEntry, boolean hasMoreEntry) {
        // Should update the carrier network layout when it is connected under airplane mode ON.
        // Should update the carrier network layout when it is connected under airplane mode ON.
        boolean shouldUpdateCarrierNetwork = mMobileNetworkLayout.getVisibility() == View.VISIBLE
        boolean shouldUpdateCarrierNetwork = mMobileNetworkLayout.getVisibility() == View.VISIBLE
                && mInternetDialogController.isAirplaneModeEnabled();
                && mInternetDialogController.isAirplaneModeEnabled();
        mHandler.post(() -> {
        mHandler.post(() -> {
            mConnectedWifiEntry = connectedEntry;
            mConnectedWifiEntry = connectedEntry;
            mWifiEntriesCount = wifiEntries == null ? 0 : wifiEntries.size();
            mWifiEntriesCount = wifiEntries == null ? 0 : wifiEntries.size();
            mHasMoreEntry = hasMoreEntry;
            updateDialog(shouldUpdateCarrierNetwork /* shouldUpdateMobileNetwork */);
            updateDialog(shouldUpdateCarrierNetwork /* shouldUpdateMobileNetwork */);
            mAdapter.setWifiEntries(wifiEntries, mWifiEntriesCount);
            mAdapter.setWifiEntries(wifiEntries, mWifiEntriesCount);
            mAdapter.notifyDataSetChanged();
            mAdapter.notifyDataSetChanged();
+10 −5
Original line number Original line Diff line number Diff line
@@ -883,11 +883,13 @@ public class InternetDialogController implements AccessPointController.AccessPoi
            mConnectedEntry = null;
            mConnectedEntry = null;
            mWifiEntriesCount = 0;
            mWifiEntriesCount = 0;
            if (mCallback != null) {
            if (mCallback != null) {
                mCallback.onAccessPointsChanged(null /* wifiEntries */, null /* connectedEntry */);
                mCallback.onAccessPointsChanged(null /* wifiEntries */, null /* connectedEntry */,
                        false /* hasMoreEntry */);
            }
            }
            return;
            return;
        }
        }


        boolean hasMoreEntry = false;
        int count = MAX_WIFI_ENTRY_COUNT;
        int count = MAX_WIFI_ENTRY_COUNT;
        if (mHasEthernet) {
        if (mHasEthernet) {
            count -= 1;
            count -= 1;
@@ -895,8 +897,11 @@ public class InternetDialogController implements AccessPointController.AccessPoi
        if (hasActiveSubId() || isCarrierNetworkActive()) {
        if (hasActiveSubId() || isCarrierNetworkActive()) {
            count -= 1;
            count -= 1;
        }
        }
        if (count > accessPoints.size()) {
        final int wifiTotalCount = accessPoints.size();
            count = accessPoints.size();
        if (count > wifiTotalCount) {
            count = wifiTotalCount;
        } else if (count < wifiTotalCount) {
            hasMoreEntry = true;
        }
        }


        WifiEntry connectedEntry = null;
        WifiEntry connectedEntry = null;
@@ -913,7 +918,7 @@ public class InternetDialogController implements AccessPointController.AccessPoi
        mWifiEntriesCount = wifiEntries.size();
        mWifiEntriesCount = wifiEntries.size();


        if (mCallback != null) {
        if (mCallback != null) {
            mCallback.onAccessPointsChanged(wifiEntries, mConnectedEntry);
            mCallback.onAccessPointsChanged(wifiEntries, mConnectedEntry, hasMoreEntry);
        }
        }
    }
    }


@@ -1064,7 +1069,7 @@ public class InternetDialogController implements AccessPointController.AccessPoi
        void dismissDialog();
        void dismissDialog();


        void onAccessPointsChanged(@Nullable List<WifiEntry> wifiEntries,
        void onAccessPointsChanged(@Nullable List<WifiEntry> wifiEntries,
                @Nullable WifiEntry connectedEntry);
                @Nullable WifiEntry connectedEntry, boolean hasMoreEntry);
    }
    }


    void makeOverlayToast(int stringId) {
    void makeOverlayToast(int stringId) {
+27 −20
Original line number Original line Diff line number Diff line
@@ -410,7 +410,7 @@ public class InternetDialogControllerTest extends SysuiTestCase {


        mInternetDialogController.onAccessPointsChanged(null /* accessPoints */);
        mInternetDialogController.onAccessPointsChanged(null /* accessPoints */);


        verify(mInternetDialogCallback, never()).onAccessPointsChanged(any(), any());
        verify(mInternetDialogCallback, never()).onAccessPointsChanged(any(), any(), anyBoolean());
    }
    }


    @Test
    @Test
@@ -419,8 +419,8 @@ public class InternetDialogControllerTest extends SysuiTestCase {


        mInternetDialogController.onAccessPointsChanged(null /* accessPoints */);
        mInternetDialogController.onAccessPointsChanged(null /* accessPoints */);


        verify(mInternetDialogCallback)
        verify(mInternetDialogCallback).onAccessPointsChanged(null /* wifiEntries */,
                .onAccessPointsChanged(null /* wifiEntries */, null /* connectedEntry */);
                null /* connectedEntry */, false /* hasMoreEntry */);
    }
    }


    @Test
    @Test
@@ -433,7 +433,8 @@ public class InternetDialogControllerTest extends SysuiTestCase {
        mInternetDialogController.onAccessPointsChanged(mAccessPoints);
        mInternetDialogController.onAccessPointsChanged(mAccessPoints);


        mWifiEntries.clear();
        mWifiEntries.clear();
        verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry);
        verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry,
                false /* hasMoreEntry */);
    }
    }


    @Test
    @Test
@@ -447,8 +448,8 @@ public class InternetDialogControllerTest extends SysuiTestCase {


        mWifiEntries.clear();
        mWifiEntries.clear();
        mWifiEntries.add(mWifiEntry1);
        mWifiEntries.add(mWifiEntry1);
        verify(mInternetDialogCallback)
        verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries,
                .onAccessPointsChanged(mWifiEntries, null /* connectedEntry */);
                null /* connectedEntry */, false /* hasMoreEntry */);
    }
    }


    @Test
    @Test
@@ -463,7 +464,8 @@ public class InternetDialogControllerTest extends SysuiTestCase {


        mWifiEntries.clear();
        mWifiEntries.clear();
        mWifiEntries.add(mWifiEntry1);
        mWifiEntries.add(mWifiEntry1);
        verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry);
        verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry,
                false /* hasMoreEntry */);
    }
    }


    @Test
    @Test
@@ -480,7 +482,8 @@ public class InternetDialogControllerTest extends SysuiTestCase {
        mWifiEntries.clear();
        mWifiEntries.clear();
        mWifiEntries.add(mWifiEntry1);
        mWifiEntries.add(mWifiEntry1);
        mWifiEntries.add(mWifiEntry2);
        mWifiEntries.add(mWifiEntry2);
        verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry);
        verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry,
                false /* hasMoreEntry */);
    }
    }


    @Test
    @Test
@@ -499,7 +502,8 @@ public class InternetDialogControllerTest extends SysuiTestCase {
        mWifiEntries.add(mWifiEntry1);
        mWifiEntries.add(mWifiEntry1);
        mWifiEntries.add(mWifiEntry2);
        mWifiEntries.add(mWifiEntry2);
        mWifiEntries.add(mWifiEntry3);
        mWifiEntries.add(mWifiEntry3);
        verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry);
        verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry,
                false /* hasMoreEntry */);


        // Turn off airplane mode to has carrier network, then Wi-Fi entries will cut last one.
        // Turn off airplane mode to has carrier network, then Wi-Fi entries will cut last one.
        reset(mInternetDialogCallback);
        reset(mInternetDialogCallback);
@@ -508,7 +512,8 @@ public class InternetDialogControllerTest extends SysuiTestCase {
        mInternetDialogController.onAccessPointsChanged(mAccessPoints);
        mInternetDialogController.onAccessPointsChanged(mAccessPoints);


        mWifiEntries.remove(mWifiEntry3);
        mWifiEntries.remove(mWifiEntry3);
        verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry);
        verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry,
                true /* hasMoreEntry */);
    }
    }


    @Test
    @Test
@@ -528,7 +533,8 @@ public class InternetDialogControllerTest extends SysuiTestCase {
        mWifiEntries.add(mWifiEntry1);
        mWifiEntries.add(mWifiEntry1);
        mWifiEntries.add(mWifiEntry2);
        mWifiEntries.add(mWifiEntry2);
        mWifiEntries.add(mWifiEntry3);
        mWifiEntries.add(mWifiEntry3);
        verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry);
        verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry,
                true /* hasMoreEntry */);


        // Turn off airplane mode to has carrier network, then Wi-Fi entries will cut last one.
        // Turn off airplane mode to has carrier network, then Wi-Fi entries will cut last one.
        reset(mInternetDialogCallback);
        reset(mInternetDialogCallback);
@@ -537,7 +543,8 @@ public class InternetDialogControllerTest extends SysuiTestCase {
        mInternetDialogController.onAccessPointsChanged(mAccessPoints);
        mInternetDialogController.onAccessPointsChanged(mAccessPoints);


        mWifiEntries.remove(mWifiEntry3);
        mWifiEntries.remove(mWifiEntry3);
        verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry);
        verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries, mConnectedEntry,
                true /* hasMoreEntry */);
    }
    }


    @Test
    @Test
@@ -587,8 +594,8 @@ public class InternetDialogControllerTest extends SysuiTestCase {
        mWifiEntries.add(mWifiEntry2);
        mWifiEntries.add(mWifiEntry2);
        mWifiEntries.add(mWifiEntry3);
        mWifiEntries.add(mWifiEntry3);
        mWifiEntries.add(mWifiEntry4);
        mWifiEntries.add(mWifiEntry4);
        verify(mInternetDialogCallback)
        verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries,
                .onAccessPointsChanged(mWifiEntries, null /* connectedEntry */);
                null /* connectedEntry */, false /* hasMoreEntry */);


        // If the Ethernet exists, then Wi-Fi entries will cut last one.
        // If the Ethernet exists, then Wi-Fi entries will cut last one.
        reset(mInternetDialogCallback);
        reset(mInternetDialogCallback);
@@ -597,8 +604,8 @@ public class InternetDialogControllerTest extends SysuiTestCase {
        mInternetDialogController.onAccessPointsChanged(mAccessPoints);
        mInternetDialogController.onAccessPointsChanged(mAccessPoints);


        mWifiEntries.remove(mWifiEntry4);
        mWifiEntries.remove(mWifiEntry4);
        verify(mInternetDialogCallback)
        verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries,
                .onAccessPointsChanged(mWifiEntries, null /* connectedEntry */);
                null /* connectedEntry */, true /* hasMoreEntry */);


        // Turn off airplane mode to has carrier network, then Wi-Fi entries will cut last one.
        // Turn off airplane mode to has carrier network, then Wi-Fi entries will cut last one.
        reset(mInternetDialogCallback);
        reset(mInternetDialogCallback);
@@ -607,8 +614,8 @@ public class InternetDialogControllerTest extends SysuiTestCase {
        mInternetDialogController.onAccessPointsChanged(mAccessPoints);
        mInternetDialogController.onAccessPointsChanged(mAccessPoints);


        mWifiEntries.remove(mWifiEntry3);
        mWifiEntries.remove(mWifiEntry3);
        verify(mInternetDialogCallback)
        verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries,
                .onAccessPointsChanged(mWifiEntries, null /* connectedEntry */);
                null /* connectedEntry */, true /* hasMoreEntry */);
    }
    }


    @Test
    @Test
@@ -624,8 +631,8 @@ public class InternetDialogControllerTest extends SysuiTestCase {


        mWifiEntries.clear();
        mWifiEntries.clear();
        mWifiEntries.add(mWifiEntry1);
        mWifiEntries.add(mWifiEntry1);
        verify(mInternetDialogCallback)
        verify(mInternetDialogCallback).onAccessPointsChanged(mWifiEntries,
                .onAccessPointsChanged(mWifiEntries, null /* connectedEntry */);
                null /* connectedEntry */, false /* hasMoreEntry */);
    }
    }


    @Test
    @Test
+20 −2
Original line number Original line Diff line number Diff line
@@ -315,6 +315,20 @@ public class InternetDialogTest extends SysuiTestCase {
        assertThat(mSeeAll.getVisibility()).isEqualTo(View.INVISIBLE);
        assertThat(mSeeAll.getVisibility()).isEqualTo(View.INVISIBLE);
    }
    }


    @Test
    public void updateDialog_wifiOnAndOneWifiEntry_showWifiListAndSeeAllArea() {
        // The precondition WiFi ON is already in setUp()
        mInternetDialog.mConnectedWifiEntry = null;
        mInternetDialog.mWifiEntriesCount = 1;

        mInternetDialog.updateDialog(false);

        assertThat(mConnectedWifi.getVisibility()).isEqualTo(View.GONE);
        // Show a blank block to fix the dialog height even if there is no WiFi list
        assertThat(mWifiList.getVisibility()).isEqualTo(View.VISIBLE);
        assertThat(mSeeAll.getVisibility()).isEqualTo(View.INVISIBLE);
    }

    @Test
    @Test
    public void updateDialog_wifiOnAndHasConnectedWifi_showAllWifiAndSeeAllArea() {
    public void updateDialog_wifiOnAndHasConnectedWifi_showAllWifiAndSeeAllArea() {
        // The preconditions WiFi ON and WiFi entries are already in setUp()
        // The preconditions WiFi ON and WiFi entries are already in setUp()
@@ -325,13 +339,15 @@ public class InternetDialogTest extends SysuiTestCase {
        assertThat(mConnectedWifi.getVisibility()).isEqualTo(View.VISIBLE);
        assertThat(mConnectedWifi.getVisibility()).isEqualTo(View.VISIBLE);
        // Show a blank block to fix the dialog height even if there is no WiFi list
        // Show a blank block to fix the dialog height even if there is no WiFi list
        assertThat(mWifiList.getVisibility()).isEqualTo(View.VISIBLE);
        assertThat(mWifiList.getVisibility()).isEqualTo(View.VISIBLE);
        assertThat(mSeeAll.getVisibility()).isEqualTo(View.VISIBLE);
        assertThat(mSeeAll.getVisibility()).isEqualTo(View.INVISIBLE);
    }
    }


    @Test
    @Test
    public void updateDialog_wifiOnAndHasWifiList_showWifiListAndSeeAll() {
    public void updateDialog_wifiOnAndHasMaxWifiList_showWifiListAndSeeAll() {
        // The preconditions WiFi ON and WiFi entries are already in setUp()
        // The preconditions WiFi ON and WiFi entries are already in setUp()
        mInternetDialog.mConnectedWifiEntry = null;
        mInternetDialog.mConnectedWifiEntry = null;
        mInternetDialog.mWifiEntriesCount = MAX_WIFI_ENTRY_COUNT;
        mInternetDialog.mHasMoreEntry = true;


        mInternetDialog.updateDialog(false);
        mInternetDialog.updateDialog(false);


@@ -343,6 +359,8 @@ public class InternetDialogTest extends SysuiTestCase {
    @Test
    @Test
    public void updateDialog_wifiOnAndHasBothWifiEntry_showBothWifiEntryAndSeeAll() {
    public void updateDialog_wifiOnAndHasBothWifiEntry_showBothWifiEntryAndSeeAll() {
        // The preconditions WiFi ON and WiFi entries are already in setUp()
        // The preconditions WiFi ON and WiFi entries are already in setUp()
        mInternetDialog.mWifiEntriesCount = MAX_WIFI_ENTRY_COUNT - 1;
        mInternetDialog.mHasMoreEntry = true;


        mInternetDialog.updateDialog(false);
        mInternetDialog.updateDialog(false);