sysprop: Remove floss workaround from wrapper

This makes floss able to use system properties defined
with sysprop

Bug: 337064224
Test: ./floss/build/build-in-container.py
Flag: EXEMPT, floss
Change-Id: Ia8b81aa0800cc02f82bed1666dd14ffbbbe82bbf
diff --git a/sysprop/BUILD.gn b/sysprop/BUILD.gn
new file mode 100644
index 0000000..09126c8
--- /dev/null
+++ b/sysprop/BUILD.gn
@@ -0,0 +1,13 @@
+import("//bt/sysprop/sysprop.gni")
+
+sysprop("libcom.android.sysprop.bluetooth") {
+  sources = [
+    "a2dp.sysprop",
+    "avrcp.sysprop",
+    "ble.sysprop",
+    "bta.sysprop",
+    "device_id.sysprop",
+    "hfp.sysprop",
+  ]
+  deps = [ "//bt/floss/android-base:android-base" ]
+}
diff --git a/sysprop/exported_include/android_bluetooth_sysprop.h b/sysprop/exported_include/android_bluetooth_sysprop.h
index e76411e..01aed4f 100644
--- a/sysprop/exported_include/android_bluetooth_sysprop.h
+++ b/sysprop/exported_include/android_bluetooth_sysprop.h
@@ -16,8 +16,6 @@
 
 #pragma once
 
-#ifndef TARGET_FLOSS
-
 #include <a2dp.sysprop.h>
 #include <avrcp.sysprop.h>
 #include <ble.sysprop.h>
@@ -27,9 +25,3 @@
 
 #define GET_SYSPROP(namespace, prop, default) \
   android::sysprop::bluetooth::namespace ::prop().value_or(default)
-
-#else
-
-#define GET_SYSPROP(namespace, prop, default) default
-
-#endif
diff --git a/sysprop/sysprop.gni b/sysprop/sysprop.gni
new file mode 100644
index 0000000..bbf5af4
--- /dev/null
+++ b/sysprop/sysprop.gni
@@ -0,0 +1,55 @@
+#
+#  Copyright 2024 Google, Inc.
+#
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at:
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+#
+
+# Generate c++ headers for each sysprop file
+#
+# Parameters:
+#   sources: sysprop source files
+template("sysprop") {
+  assert(defined(invoker.sources), "sources must be set")
+
+  outdir = rebase_path(target_gen_dir, root_build_dir)
+
+  action_foreach("${target_name}_sources") {
+    script = "//common-mk/file_generator_wrapper.py"
+    args = [
+      "sysprop_cpp",
+      "--header-dir=${outdir}/include",
+      "--public-header-dir=${outdir}/public",
+      "--source-dir=${outdir}/src",
+      "--include-name={{source_file_part}}.h",
+      "{{source}}",
+    ]
+    sources = invoker.sources
+    outputs = [
+      "${target_gen_dir}/include/{{source_file_part}}.h",
+      "${target_gen_dir}/src/{{source_file_part}}.cpp",
+      "${target_gen_dir}/public/{{source_file_part}}.h",
+    ]
+  }
+
+  all_dependent_config_name = "_${target_name}_all_dependent_config"
+  config(all_dependent_config_name) {
+    include_dirs = [ "${target_gen_dir}/include" ]
+  }
+
+  static_library(target_name) {
+    public_deps = [ ":${target_name}_sources" ]
+    sources = get_target_outputs(":${target_name}_sources")
+    deps = invoker.deps
+    all_dependent_configs = [ ":${all_dependent_config_name}" ]
+  }
+}
diff --git a/system/bta/BUILD.gn b/system/bta/BUILD.gn
index 8ec237e..f08b65f 100644
--- a/system/bta/BUILD.gn
+++ b/system/bta/BUILD.gn
@@ -163,6 +163,7 @@
 
   deps = [
     "//bt/flags:bluetooth_flags_c_lib",
+    "//bt/sysprop:libcom.android.sysprop.bluetooth",
     "//bt/system/audio:libbt-audio-asrc",
     "//bt/system/bta:LeAudioSetScenariosSchema_bfbs",
     "//bt/system/bta:LeAudioSetConfigsSchema_bfbs",
diff --git a/system/btif/BUILD.gn b/system/btif/BUILD.gn
index 46ffd14..09b840b 100644
--- a/system/btif/BUILD.gn
+++ b/system/btif/BUILD.gn
@@ -114,6 +114,7 @@
 
   deps = [
     "//bt/flags:bluetooth_flags_c_lib",
+    "//bt/sysprop:libcom.android.sysprop.bluetooth",
     "//bt/system:libbt-platform-protos-lite",
     "//bt/system/common",
     "//bt/system/gd/rust/shim:init_flags_bridge_header",
diff --git a/system/gd/security/BUILD.gn b/system/gd/security/BUILD.gn
index de17a0a..cfdd2b6 100644
--- a/system/gd/security/BUILD.gn
+++ b/system/gd/security/BUILD.gn
@@ -59,6 +59,7 @@
     ":BluetoothSecurityChannelSources",
     ":BluetoothSecurityPairingSources",
     ":BluetoothSecurityRecordSources",
+    "//bt/sysprop:libcom.android.sysprop.bluetooth",
     "//bt/system/gd:gd_default_deps",
   ]
 
diff --git a/system/main/shim/BUILD.gn b/system/main/shim/BUILD.gn
index 2df1aae..3143259 100644
--- a/system/main/shim/BUILD.gn
+++ b/system/main/shim/BUILD.gn
@@ -77,6 +77,7 @@
   ]
 
   deps = [
+    "//bt/sysprop:libcom.android.sysprop.bluetooth",
     "//bt/system/gd:BluetoothGeneratedDumpsysDataSchema_h",
     "//bt/system/gd/common:BluetoothCommonSources",
     "//bt/system/gd/dumpsys/bundler:BluetoothGeneratedBundlerSchema_h_bfbs",
diff --git a/system/stack/BUILD.gn b/system/stack/BUILD.gn
index 6309d1b..d7b0c7a 100644
--- a/system/stack/BUILD.gn
+++ b/system/stack/BUILD.gn
@@ -217,6 +217,7 @@
   ]
 
   deps = [
+    "//bt/sysprop:libcom.android.sysprop.bluetooth",
     "//bt/system/gd/crypto_toolbox:crypto_toolbox",
     ":nonstandard_codecs",
     "//bt/system:libbt-platform-protos-lite",