From a76669656f5adc598f56887261d7bc22095b45b4 Mon Sep 17 00:00:00 2001 From: Arc Wang Date: Tue, 31 Mar 2020 11:49:07 +0800 Subject: [PATCH] [Wi-Fi] Wi-Fi picker scrolls to top after a user clicked to connect After a connect success callback, Wi-Fi picker scrolls to the connected Wi-Fi network after it's added in. Bug: 152576795 Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiSettings2 manual Click a Wi-Fi network or it's context menu 'Connect' button to connect and see if UI scroll to the top. Change-Id: Ia96af86c9ed552324089f97db104975e28f6c1c7 --- src/com/android/settings/wifi/WifiSettings2.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/wifi/WifiSettings2.java b/src/com/android/settings/wifi/WifiSettings2.java index 51bdcede318..f73891dfb53 100644 --- a/src/com/android/settings/wifi/WifiSettings2.java +++ b/src/com/android/settings/wifi/WifiSettings2.java @@ -647,6 +647,7 @@ public class WifiSettings2 extends RestrictedSettingsFragment setOffMessage(); setAdditionalSettingsSummaries(); setProgressBarVisible(false); + mClickedConnect = false; break; } } @@ -739,6 +740,11 @@ public class WifiSettings2 extends RestrictedSettingsFragment pref.setOnGearClickListener(preference -> { launchNetworkDetailsFragment(pref); }); + + if (mClickedConnect) { + mClickedConnect = false; + scrollToPreference(mConnectedWifiEntryPreferenceCategory); + } } } else { mConnectedWifiEntryPreferenceCategory.removeAll(); @@ -1007,7 +1013,7 @@ public class WifiSettings2 extends RestrictedSettingsFragment private class WifiConnectActionListener implements WifiManager.ActionListener { @Override public void onSuccess() { - // Do nothing. + mClickedConnect = true; } @Override @@ -1041,7 +1047,9 @@ public class WifiSettings2 extends RestrictedSettingsFragment return; } - if (status == ConnectCallback.CONNECT_STATUS_FAILURE_NO_CONFIG) { + if (status == ConnectCallback.CONNECT_STATUS_SUCCESS) { + mClickedConnect = true; + } else if (status == ConnectCallback.CONNECT_STATUS_FAILURE_NO_CONFIG) { if (mEditIfNoConfig) { // Edit an unsaved secure Wi-Fi network. if (mFullScreenEdit) {