Explicitly include libgui as a shared library in libgui_test.

Currently, libgui is compiled statically into the test binary by virtue
of `src` attribute of `libgui-defaults`, and also loaded as a shared
library by transitive dependency.  This leads to double-delete and
use-after-delete issues in the test on global mutexes defined by
android::Singleton<>.

Flag: EXEMPT refactor
Test: presubmit
Bug: 399711310
Change-Id: I31408237f345632bfd8f2d2ac880dfac53e75ae4
diff --git a/libs/gui/Android.bp b/libs/gui/Android.bp
index b5fa321..158c548 100644
--- a/libs/gui/Android.bp
+++ b/libs/gui/Android.bp
@@ -295,7 +295,6 @@
 cc_defaults {
     name: "libgui-defaults",
     defaults: ["libgui_bufferqueue-defaults"],
-    srcs: [":libgui-sources"],
     static_libs: [
         "libgui_aidl_static",
         "libgui_window_info_static",
@@ -319,6 +318,10 @@
         "libgui-defaults",
     ],
 
+    srcs: [
+        ":libgui-sources",
+    ],
+
     export_static_lib_headers: [
         "libgui_aidl_static",
         "libgui_window_info_static",
diff --git a/libs/gui/tests/Android.bp b/libs/gui/tests/Android.bp
index e20345d..308b2ab 100644
--- a/libs/gui/tests/Android.bp
+++ b/libs/gui/tests/Android.bp
@@ -100,6 +100,7 @@
         "android.hardware.configstore-utils",
         "libSurfaceFlingerProp",
         "libGLESv1_CM",
+        "libgui",
         "libgui_test_server_aidl-cpp",
         "libinput",
         "libnativedisplay",