mirror of https://github.com/acidanthera/audk.git
NetworkPkg/WifiConnectionManagerDxe: Update UI according to UEFI spec
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4736 In UEFI_Spec_2_10_Aug29.pdf page 1694 section 35.5.4 for EFI_BROWSER_ACTION_FORM_OPEN: NOTE: EFI_FORM_BROWSER2_PROTOCOL.BrowserCallback() cannot be used with this browser action because question values have not been retrieved yet. So should not call HiiGetBrowserData() and HiiSetBrowserData() in FORM_OPEN call back function. Now use wifi list key and enroll cert key instead of the connect action key, move wifi info display from open action to close action. Cc: Saloni Kasbekar <saloni.kasbekar@intel.com> Cc: Zachary Clark-williams <zachary.clark-williams@intel.com> Cc: Dandan Bi <dandan.bi@intel.com> Cc: Felix Polyudov <Felixp@ami.com> Signed-off-by: Liqi Liu <liqi.liu@intel.com> Reviewed-by: Zachary Clark-williams <zachary.clark-williams@intel.com> Acked-by: Michael D Kinney <michael.d.kinney@intel.com>
This commit is contained in:
parent
b6cd5ddce9
commit
fcfdbe2987
|
@ -1412,7 +1412,9 @@ WifiMgrDxeHiiConfigAccessCallback (
|
|||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
HiiGetBrowserData (&gWifiConfigFormSetGuid, mVendorStorageName, BufferSize, (UINT8 *)IfrNvData);
|
||||
if (Action != EFI_BROWSER_ACTION_FORM_OPEN) {
|
||||
HiiGetBrowserData (&gWifiConfigFormSetGuid, mVendorStorageName, BufferSize, (UINT8 *)IfrNvData);
|
||||
}
|
||||
|
||||
if (Action == EFI_BROWSER_ACTION_FORM_OPEN) {
|
||||
switch (QuestionId) {
|
||||
|
@ -1438,43 +1440,6 @@ WifiMgrDxeHiiConfigAccessCallback (
|
|||
|
||||
break;
|
||||
|
||||
case KEY_CONNECT_ACTION:
|
||||
|
||||
if (Private->CurrentNic->UserSelectedProfile == NULL) {
|
||||
break;
|
||||
}
|
||||
|
||||
Profile = Private->CurrentNic->UserSelectedProfile;
|
||||
|
||||
//
|
||||
// Enter the network connection configuration page
|
||||
// Recovery from restored data
|
||||
//
|
||||
if (HiiSetString (Private->RegisteredHandle, STRING_TOKEN (STR_SSID), Profile->SSId, NULL) == 0) {
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
IfrNvData->SecurityType = Profile->SecurityType;
|
||||
if (HiiSetString (
|
||||
Private->RegisteredHandle,
|
||||
STRING_TOKEN (STR_SECURITY_TYPE),
|
||||
mSecurityType[IfrNvData->SecurityType],
|
||||
NULL
|
||||
) == 0)
|
||||
{
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
if ((IfrNvData->SecurityType == SECURITY_TYPE_WPA2_ENTERPRISE) ||
|
||||
(IfrNvData->SecurityType == SECURITY_TYPE_WPA3_ENTERPRISE))
|
||||
{
|
||||
IfrNvData->EapAuthMethod = Profile->EapAuthMethod;
|
||||
IfrNvData->EapSecondAuthMethod = Profile->EapSecondAuthMethod;
|
||||
StrCpyS (IfrNvData->EapIdentity, EAP_IDENTITY_SIZE, Profile->EapIdentity);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case KEY_ENROLLED_CERT_NAME:
|
||||
|
||||
if (Private->CurrentNic->UserSelectedProfile == NULL) {
|
||||
|
@ -1524,6 +1489,43 @@ WifiMgrDxeHiiConfigAccessCallback (
|
|||
}
|
||||
} else if (Action == EFI_BROWSER_ACTION_FORM_CLOSE) {
|
||||
switch (QuestionId) {
|
||||
case KEY_EAP_ENROLL_CERT_FROM_FILE:
|
||||
|
||||
if (Private->CurrentNic->UserSelectedProfile == NULL) {
|
||||
break;
|
||||
}
|
||||
|
||||
Profile = Private->CurrentNic->UserSelectedProfile;
|
||||
|
||||
//
|
||||
// Enter the network connection configuration page
|
||||
// Recovery from restored data
|
||||
//
|
||||
if (HiiSetString (Private->RegisteredHandle, STRING_TOKEN (STR_SSID), Profile->SSId, NULL) == 0) {
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
IfrNvData->SecurityType = Profile->SecurityType;
|
||||
if (HiiSetString (
|
||||
Private->RegisteredHandle,
|
||||
STRING_TOKEN (STR_SECURITY_TYPE),
|
||||
mSecurityType[IfrNvData->SecurityType],
|
||||
NULL
|
||||
) == 0)
|
||||
{
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
if ( (IfrNvData->SecurityType == SECURITY_TYPE_WPA2_ENTERPRISE)
|
||||
|| (IfrNvData->SecurityType == SECURITY_TYPE_WPA3_ENTERPRISE))
|
||||
{
|
||||
IfrNvData->EapAuthMethod = Profile->EapAuthMethod;
|
||||
IfrNvData->EapSecondAuthMethod = Profile->EapSecondAuthMethod;
|
||||
StrCpyS (IfrNvData->EapIdentity, EAP_IDENTITY_SIZE, Profile->EapIdentity);
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case KEY_CONNECT_ACTION:
|
||||
|
||||
if (Private->CurrentNic->UserSelectedProfile == NULL) {
|
||||
|
@ -1909,6 +1911,39 @@ WifiMgrDxeHiiConfigAccessCallback (
|
|||
NULL
|
||||
);
|
||||
}
|
||||
|
||||
if (Private->CurrentNic->UserSelectedProfile == NULL) {
|
||||
break;
|
||||
}
|
||||
|
||||
Profile = Private->CurrentNic->UserSelectedProfile;
|
||||
|
||||
//
|
||||
// Enter the network connection configuration page
|
||||
// Recovery from restored data
|
||||
//
|
||||
if (HiiSetString (Private->RegisteredHandle, STRING_TOKEN (STR_SSID), Profile->SSId, NULL) == 0) {
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
IfrNvData->SecurityType = Profile->SecurityType;
|
||||
if (HiiSetString (
|
||||
Private->RegisteredHandle,
|
||||
STRING_TOKEN (STR_SECURITY_TYPE),
|
||||
mSecurityType[IfrNvData->SecurityType],
|
||||
NULL
|
||||
) == 0)
|
||||
{
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
if ( (IfrNvData->SecurityType == SECURITY_TYPE_WPA2_ENTERPRISE)
|
||||
|| (IfrNvData->SecurityType == SECURITY_TYPE_WPA3_ENTERPRISE))
|
||||
{
|
||||
IfrNvData->EapAuthMethod = Profile->EapAuthMethod;
|
||||
IfrNvData->EapSecondAuthMethod = Profile->EapSecondAuthMethod;
|
||||
StrCpyS (IfrNvData->EapIdentity, EAP_IDENTITY_SIZE, Profile->EapIdentity);
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
@ -1944,7 +1979,7 @@ WifiMgrDxeHiiConfigAccessCallback (
|
|||
}
|
||||
}
|
||||
|
||||
if (!EFI_ERROR (Status)) {
|
||||
if (!EFI_ERROR (Status) && (Action != EFI_BROWSER_ACTION_FORM_OPEN)) {
|
||||
//
|
||||
// Pass changed uncommitted data back to Form Browser.
|
||||
//
|
||||
|
|
Loading…
Reference in New Issue