From b19b8f37c95e26c8b321453e84f37f92c0b8106f Mon Sep 17 00:00:00 2001 From: Stephen Chen Date: Tue, 28 Mar 2017 14:14:35 -0700 Subject: [PATCH] Connect immediately after pressing on previously connected saved networks. Bug: 34287193 Test: manual inspection Change-Id: Idf7156fa48640a34ce11cbf2f9683cfc6525a7b5 --- src/com/android/settings/wifi/WifiSettings.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java index af4d8f8dd56..ccd1700f0bf 100644 --- a/src/com/android/settings/wifi/WifiSettings.java +++ b/src/com/android/settings/wifi/WifiSettings.java @@ -513,13 +513,18 @@ public class WifiSettings extends RestrictedSettingsFragment if (mSelectedAccessPoint == null) { return false; } - /** Bypass dialog for unsecured, unsaved, and inactive networks */ - if (mSelectedAccessPoint.getSecurity() == AccessPoint.SECURITY_NONE && - !mSelectedAccessPoint.isSaved() && !mSelectedAccessPoint.isActive()) { + if (mSelectedAccessPoint.isActive()) { + return super.onPreferenceTreeClick(preference); + } + /** Bypass dialog and connect to unsecured or previously connected saved networks. */ + WifiConfiguration config = mSelectedAccessPoint.getConfig(); + if (mSelectedAccessPoint.getSecurity() == AccessPoint.SECURITY_NONE) { mSelectedAccessPoint.generateOpenNetworkConfig(); - connect(mSelectedAccessPoint.getConfig(), false /* isSavedNetwork */); - } else if (mSelectedAccessPoint.isSaved()) { - showDialog(mSelectedAccessPoint, WifiConfigUiBase.MODE_VIEW); + connect(mSelectedAccessPoint.getConfig(), mSelectedAccessPoint.isSaved()); + } else if (mSelectedAccessPoint.isSaved() && config != null + && config.getNetworkSelectionStatus() != null + && config.getNetworkSelectionStatus().getHasEverConnected()) { + connect(config, true /* isSavedNetwork */); } else { showDialog(mSelectedAccessPoint, WifiConfigUiBase.MODE_CONNECT); }