Change BindToDeviceSocketMutator to lib.

Test: Presubmit
Bug: 268750179
Change-Id: I7d338eef4f622631d0ead0af0a91e3b68bfa69eb
diff --git a/automotive/remoteaccess/bind_to_device_socket_mutator/Android.bp b/automotive/remoteaccess/bind_to_device_socket_mutator/Android.bp
new file mode 100644
index 0000000..113b14e
--- /dev/null
+++ b/automotive/remoteaccess/bind_to_device_socket_mutator/Android.bp
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * 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.
+ */
+
+package {
+    default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+cc_defaults {
+    name: "BindToDeviceSocketMutatorDefaults",
+    static_libs: [
+        "android.hardware.automotive.can@libnetdevice",
+        "libnl++",
+    ],
+    shared_libs: [
+        "libbase",
+        "liblog",
+        "libgrpc++",
+    ],
+    cflags: [
+        "-Wno-unused-parameter",
+    ],
+}
+
+cc_library {
+    name: "BindToDeviceSocketMutatorLib",
+    vendor_available: true,
+    srcs: ["src/*"],
+    export_include_dirs: ["include"],
+    defaults: ["BindToDeviceSocketMutatorDefaults"],
+}
diff --git a/automotive/remoteaccess/hal/default/src/BindToDeviceSocketMutator.h b/automotive/remoteaccess/bind_to_device_socket_mutator/include/BindToDeviceSocketMutator.h
similarity index 100%
rename from automotive/remoteaccess/hal/default/src/BindToDeviceSocketMutator.h
rename to automotive/remoteaccess/bind_to_device_socket_mutator/include/BindToDeviceSocketMutator.h
diff --git a/automotive/remoteaccess/hal/default/src/BindToDeviceSocketMutator.cpp b/automotive/remoteaccess/bind_to_device_socket_mutator/src/BindToDeviceSocketMutator.cpp
similarity index 100%
rename from automotive/remoteaccess/hal/default/src/BindToDeviceSocketMutator.cpp
rename to automotive/remoteaccess/bind_to_device_socket_mutator/src/BindToDeviceSocketMutator.cpp
diff --git a/automotive/remoteaccess/hal/default/Android.bp b/automotive/remoteaccess/hal/default/Android.bp
index bfab1ed..0155667 100644
--- a/automotive/remoteaccess/hal/default/Android.bp
+++ b/automotive/remoteaccess/hal/default/Android.bp
@@ -24,27 +24,25 @@
     relative_install_path: "hw",
     srcs: [
         "src/RemoteAccessImpl.cpp",
-        "src/BindToDeviceSocketMutator.cpp",
     ],
     whole_static_libs: [
         "RemoteAccessService",
     ],
     static_libs: [
-        "android.hardware.automotive.can@libnetdevice",
-        "libnl++",
+        "BindToDeviceSocketMutatorLib",
     ],
     shared_libs: [
-        "libbase",
         "libbinder_ndk",
-        "liblog",
         "libutils",
-        "libgrpc++",
         "libprotobuf-cpp-full",
     ],
     defaults: [
         "vhalclient_defaults",
+        "BindToDeviceSocketMutatorDefaults",
     ],
     cflags: [
+        // This is already included in BindToDeviceSocketMutatorDefaults but
+        // might be overridden by vhalclient_defaults.
         "-Wno-unused-parameter",
     ],
 }