Merge changes Ia96af86c,Ifbe2ac30 into rvc-dev
* changes: [Wi-Fi] Wi-Fi picker scrolls to top after a user clicked to connect [Wi-Fi] Fix Wi-Fi picker context menu 'Connect' button
This commit is contained in:
committed by
Android (Google) Code Review
commit
4b45334288
@@ -214,4 +214,8 @@ public class WifiDialog2 extends AlertDialog implements WifiConfigUiBase2,
|
||||
public void setCancelButton(CharSequence text) {
|
||||
setButton(BUTTON_NEGATIVE, text, this);
|
||||
}
|
||||
|
||||
public WifiEntry getWifiEntry() {
|
||||
return mWifiEntry;
|
||||
}
|
||||
}
|
||||
|
@@ -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();
|
||||
@@ -954,18 +960,30 @@ public class WifiSettings2 extends RestrictedSettingsFragment
|
||||
|
||||
@Override
|
||||
public void onForget(WifiDialog2 dialog) {
|
||||
forget(mDialogWifiEntry);
|
||||
forget(dialog.getWifiEntry());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSubmit(WifiDialog2 dialog) {
|
||||
final int dialogMode = mDialog.getController().getMode();
|
||||
final int dialogMode = dialog.getMode();
|
||||
final WifiConfiguration config = dialog.getController().getConfig();
|
||||
final WifiEntry wifiEntry = dialog.getWifiEntry();
|
||||
|
||||
if (dialogMode == WifiConfigUiBase2.MODE_MODIFY) {
|
||||
mWifiManager.save(mDialogWifiEntry.getWifiConfiguration(), mSaveListener);
|
||||
if (config == null) {
|
||||
Toast.makeText(getContext(), R.string.wifi_failed_save_message,
|
||||
Toast.LENGTH_SHORT).show();
|
||||
} else {
|
||||
mWifiManager.save(config, mSaveListener);
|
||||
}
|
||||
} else if (dialogMode == WifiConfigUiBase2.MODE_CONNECT
|
||||
|| (dialogMode == WifiConfigUiBase2.MODE_VIEW && mDialogWifiEntry.canConnect())) {
|
||||
connect(mDialogWifiEntry, false /* editIfNoConfig */, false /* fullScreenEdit*/);
|
||||
|| (dialogMode == WifiConfigUiBase2.MODE_VIEW && wifiEntry.canConnect())) {
|
||||
if (config == null) {
|
||||
connect(wifiEntry, false /* editIfNoConfig */,
|
||||
false /* fullScreenEdit*/);
|
||||
} else {
|
||||
mWifiManager.connect(config, new WifiConnectActionListener());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -981,7 +999,8 @@ public class WifiSettings2 extends RestrictedSettingsFragment
|
||||
wifiEntry.forget(null /* callback */);
|
||||
}
|
||||
|
||||
private void connect(WifiEntry wifiEntry, boolean editIfNoConfig, boolean fullScreenEdit) {
|
||||
@VisibleForTesting
|
||||
void connect(WifiEntry wifiEntry, boolean editIfNoConfig, boolean fullScreenEdit) {
|
||||
mMetricsFeatureProvider.action(getActivity(), SettingsEnums.ACTION_WIFI_CONNECT,
|
||||
wifiEntry.isSaved());
|
||||
|
||||
@@ -994,7 +1013,7 @@ public class WifiSettings2 extends RestrictedSettingsFragment
|
||||
private class WifiConnectActionListener implements WifiManager.ActionListener {
|
||||
@Override
|
||||
public void onSuccess() {
|
||||
// Do nothing.
|
||||
mClickedConnect = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1028,13 +1047,15 @@ 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) {
|
||||
launchConfigNewNetworkFragment(mConnectWifiEntry);
|
||||
} else {
|
||||
showDialog(mConnectWifiEntry, WifiConfigUiBase2.MODE_MODIFY);
|
||||
showDialog(mConnectWifiEntry, WifiConfigUiBase2.MODE_CONNECT);
|
||||
}
|
||||
}
|
||||
} else if (status == CONNECT_STATUS_FAILURE_UNKNOWN) {
|
||||
|
Reference in New Issue
Block a user