MdeModulePkg/UiApp: Show test key warning info in FrontPage.

The UiApp is updated to consume PcdTestKeyUsed to know if there is any
test key used in current BIOS, such as recovery key,
or capsule update key.
Then UiApp show warning information in front page.

Cc: Eric Dong <eric.dong@intel.com>
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Feng Tian <feng.tian@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiewen Yao <jiewen.yao@intel.com>
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com>
Tested-by: Michael Kinney <michael.d.kinney@intel.com>
diff --git a/MdeModulePkg/Application/UiApp/FrontPageCustomizedUi.c b/MdeModulePkg/Application/UiApp/FrontPageCustomizedUi.c
index 6e4f7b5..a9d2269 100644
--- a/MdeModulePkg/Application/UiApp/FrontPageCustomizedUi.c
+++ b/MdeModulePkg/Application/UiApp/FrontPageCustomizedUi.c
@@ -16,8 +16,11 @@
 #include <Protocol/HiiConfigAccess.h>

 #include <Library/BaseLib.h>

 #include <Library/MemoryAllocationLib.h>

+#include "FrontPage.h"

 #include "FrontPageCustomizedUiSupport.h"

 

+extern FRONT_PAGE_CALLBACK_DATA  gFrontPagePrivate;

+

 /**

   Customize menus in the page.

 

@@ -129,4 +132,14 @@
   IN OUT EFI_STRING     *BannerStr

   )

 {

+  if ((LineIndex == 5) && LeftOrRight) {

+    // Update STR_CUSTOMIZE_BANNER_LINE5_LEFT

+    if (PcdGetBool(PcdTestKeyUsed)) {

+      if (BannerStr != NULL) {

+        FreePool(*BannerStr);

+      }

+      *BannerStr = HiiGetString(gFrontPagePrivate.HiiHandle, STRING_TOKEN(STR_TEST_KEY_USED), NULL);

+    }

+  }

+  return;

 }

diff --git a/MdeModulePkg/Application/UiApp/FrontPageStrings.uni b/MdeModulePkg/Application/UiApp/FrontPageStrings.uni
index 71cb788..8080a20 100644
--- a/MdeModulePkg/Application/UiApp/FrontPageStrings.uni
+++ b/MdeModulePkg/Application/UiApp/FrontPageStrings.uni
@@ -2,7 +2,7 @@
 //

 //  String definitions for BdsPlatform formset.

 //

-//  Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.<BR>

+//  Copyright (c) 2004 - 2016, Intel Corporation. All rights reserved.<BR>

 //  This program and the accompanying materials

 //  are licensed and made available under the terms and conditions of the BSD License

 //  which accompanies this distribution.  The full text of the license may be found at

@@ -68,5 +68,7 @@
                                          #language fr-FR  ""

 #string STR_CUSTOMIZE_BANNER_LINE5_RIGHT #language en-US  ""

                                          #language fr-FR  ""

+#string STR_TEST_KEY_USED                #language en-US  "WARNING: Test key detected."

+                                         #language fr-FR  "WARNING: Test key detected."

 #string STR_NULL_STRING                #language en-US  " "

                                        #language fr-FR  " "

diff --git a/MdeModulePkg/Application/UiApp/UiApp.inf b/MdeModulePkg/Application/UiApp/UiApp.inf
index 6df6e47..d144462 100644
--- a/MdeModulePkg/Application/UiApp/UiApp.inf
+++ b/MdeModulePkg/Application/UiApp/UiApp.inf
@@ -1,7 +1,7 @@
 ## @file

 #  UiApp module is driver for BDS phase.

 #

-#  Copyright (c) 2011 - 2015, Intel Corporation. All rights reserved.<BR>

+#  Copyright (c) 2011 - 2016, Intel Corporation. All rights reserved.<BR>

 #  This program and the accompanying materials

 #  are licensed and made available under the terms and conditions of the BSD License

 #  which accompanies this distribution.  The full text of the license may be found at

@@ -82,6 +82,7 @@
   gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution  ## CONSUMES

   gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution    ## CONSUMES

   gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString           ## CONSUMES

+  gEfiMdeModulePkgTokenSpaceGuid.PcdTestKeyUsed                     ## CONSUMES

 

 [UserExtensions.TianoCore."ExtraFiles"]

   UiAppExtra.uni