RM6785: Load SoC specific Wi-Fi HAL

* The Wi-Fi HAL has a factory set of methods
  that can dynamically load SoC specific
  Wi-Fi HAL implementations on the fly.

Signed-off-by: electimon <electimon@gmail.com>
Change-Id: Ib1e243f741a2a953eb60c5f1e5d67e706390610f
diff --git a/RM6785.mk b/RM6785.mk
index 373cf57..6b92947 100644
--- a/RM6785.mk
+++ b/RM6785.mk
@@ -347,8 +347,9 @@
     WifiOverlayRM6785 \
     hostapd \
     wpa_supplicant \
-    android.hardware.wifi-service.RM6785
+    android.hardware.wifi-service-lazy
 
 PRODUCT_COPY_FILES += \
     $(LOCAL_PATH)/configs/wifi/txpowerctrl.cfg:$(TARGET_COPY_OUT_VENDOR)/firmware/txpowerctrl.cfg \
+    $(LOCAL_PATH)/configs/wifi/vendor_hals.xml:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/vendor_hals/vendor_hals.xml \
     $(LOCAL_PATH)/configs/wifi/wifi.cfg:$(TARGET_COPY_OUT_VENDOR)/firmware/wifi.cfg
diff --git a/aidl/wifi/Android.bp b/aidl/wifi/Android.bp
deleted file mode 100644
index 41d45b3..0000000
--- a/aidl/wifi/Android.bp
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// Copyright (C) 2023-2024 The LineageOS Project
-//
-// SPDX-License-Identifier: Apache-2.0
-//
-
-cc_binary {
-    name: "android.hardware.wifi-service.RM6785",
-    vintf_fragments: ["android.hardware.wifi-service.RM6785.xml"],
-    relative_install_path: "hw",
-    proprietary: true,
-    cppflags: [
-        "-Wall",
-        "-Werror",
-        "-Wextra",
-    ],
-    include_dirs: ["frameworks/opt/net/wifi/libwifi_hal/include"],
-    header_libs: ["libhardware_legacy_headers"],
-    srcs: ["service.cpp"],
-    shared_libs: [
-        "libbase",
-        "libbinder_ndk",
-        "libcutils",
-        "liblog",
-        "libnl",
-        "libutils",
-        "libwifi-hal-mtk",
-        "libwifi-system-iface",
-        "libxml2",
-        "android.hardware.wifi-V2-ndk",
-    ],
-    static_libs: ["android.hardware.wifi-service-lib"],
-    init_rc: ["android.hardware.wifi-service.RM6785.rc"],
-}
diff --git a/aidl/wifi/android.hardware.wifi-service.RM6785.rc b/aidl/wifi/android.hardware.wifi-service.RM6785.rc
deleted file mode 100644
index 8675981..0000000
--- a/aidl/wifi/android.hardware.wifi-service.RM6785.rc
+++ /dev/null
@@ -1,6 +0,0 @@
-service vendor.wifi_hal_legacy /vendor/bin/hw/android.hardware.wifi-service.RM6785
-    interface aidl android.hardware.wifi.IWifi/default
-    class hal
-    capabilities NET_ADMIN NET_RAW SYS_MODULE
-    user wifi
-    group wifi gps
diff --git a/aidl/wifi/android.hardware.wifi-service.RM6785.xml b/aidl/wifi/android.hardware.wifi-service.RM6785.xml
deleted file mode 120000
index fce80ba..0000000
--- a/aidl/wifi/android.hardware.wifi-service.RM6785.xml
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../hardware/interfaces/wifi/aidl/default/android.hardware.wifi-service.xml
\ No newline at end of file
diff --git a/aidl/wifi/service.cpp b/aidl/wifi/service.cpp
deleted file mode 120000
index 67afc76..0000000
--- a/aidl/wifi/service.cpp
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../hardware/interfaces/wifi/aidl/default/service.cpp
\ No newline at end of file
diff --git a/configs/wifi/vendor_hals.xml b/configs/wifi/vendor_hals.xml
new file mode 100644
index 0000000..735bf97
--- /dev/null
+++ b/configs/wifi/vendor_hals.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+ <WifiVendorHal version="1">
+ <path>/vendor/lib64/libwifi-hal-mtk.so</path>
+ <primary>1</primary>
+</WifiVendorHal>
diff --git a/sepolicy/vendor/file_contexts b/sepolicy/vendor/file_contexts
index 9bf7bfc..4ff8efc 100644
--- a/sepolicy/vendor/file_contexts
+++ b/sepolicy/vendor/file_contexts
@@ -3,7 +3,6 @@
 /(vendor|system/vendor)/bin/hw/android\.hardware\.biometrics\.fingerprint@[0-9]\.[0-9]-service\.RM6785    u:object_r:hal_fingerprint_default_exec:s0
 /(vendor|system/vendor)/bin/hw/android\.hardware\.light-service.RM6785                                    u:object_r:hal_light_default_exec:s0
 /(vendor|system/vendor)/bin/hw/android\.hardware\.power-service\.RM6785-libperfmgr                        u:object_r:hal_power_default_exec:s0
-/(vendor|system/vendor)/bin/hw/android\.hardware\.wifi-service\.RM6785                                    u:object_r:hal_wifi_default_exec:s0
 /(vendor|system/vendor)/bin/hw/vendor\.lineage\.touch@[0-9]\.[0-9]-service\.RM6785                        u:object_r:hal_lineage_touch_default_exec:s0
 
 # Devices