create a lib to hold commonly used functions

Bug: 240530709
Test: adb bugreport
Change-Id: Idcdcca968b65d2bd413b219d39fc1104dfc9f3b8
diff --git a/aoc/Android.bp b/aoc/Android.bp
index 736f968..7af2424 100644
--- a/aoc/Android.bp
+++ b/aoc/Android.bp
@@ -10,7 +10,10 @@
         "-Wextra",
         "-Werror",
     ],
-    shared_libs: ["libbase"],
+    shared_libs: [
+        "libbase",
+	"libdump",
+    ],
     vendor: true,
     relative_install_path: "dump",
 }
diff --git a/aoc/dump_aoc.cpp b/aoc/dump_aoc.cpp
index a3e0088..97da3b5 100644
--- a/aoc/dump_aoc.cpp
+++ b/aoc/dump_aoc.cpp
@@ -14,28 +14,7 @@
  * limitations under the License.
  */
 #include <stdio.h>
-#include <string>
-#include <android-base/file.h>
-#include <fstream>
-#include <iostream>
-
-// Format title and content output.
-void dumpFileContent(const char* title, const char* file_path) {
-    std::string content;
-    printf("------ %s (%s) ------\n", title, file_path);
-    if (android::base::ReadFileToString(file_path, &content)) {
-        printf("%s\n", content.c_str());
-    } else {
-        printf("Unable to read %s\n", file_path);
-    }
-    return;
-}
-
-void command(const char* title, const char* cmd){
-    printf("------ %s (%s) ------\n", title, cmd);
-    system(cmd);
-    return;
-}
+#include <dump/pixel_dump.h>
 
 // Dump Aoc.
 int main() {
@@ -52,10 +31,10 @@
     dumpFileContent("AoC memory exception wake", "/sys/devices/platform/19000000.aoc/control/memory_exception");
     dumpFileContent("AoC memory votes", "/sys/devices/platform/19000000.aoc/control/memory_votes_a32");
     dumpFileContent("AoC memory votes", "/sys/devices/platform/19000000.aoc/control/memory_votes_ff1");
-    command("clean AoC buffer","echo ' ' > /dev/acd-debug; timeout 0.1 cat /dev/acd-debug");
-    command("AoC Heap Stats (A32)", "echo 'dbg heap -c 1' > /dev/acd-debug; timeout 0.1 cat /dev/acd-debug");
-    command("AoC Heap Stats (F1)", "echo 'dbg heap -c 2' > /dev/acd-debug; timeout 0.1 cat /dev/acd-debug");
-    command("AoC Heap Stats (HF0)", "echo 'dbg heap -c 3' > /dev/acd-debug; timeout 0.1 cat /dev/acd-debug");
-    command("AoC Heap Stats (HF1)", "echo 'dbg heap -c 4' > /dev/acd-debug; timeout 0.1 cat /dev/acd-debug");
+    runCommand("clean AoC buffer","echo ' ' > /dev/acd-debug; timeout 0.1 cat /dev/acd-debug");
+    runCommand("AoC Heap Stats (A32)", "echo 'dbg heap -c 1' > /dev/acd-debug; timeout 0.1 cat /dev/acd-debug");
+    runCommand("AoC Heap Stats (F1)", "echo 'dbg heap -c 2' > /dev/acd-debug; timeout 0.1 cat /dev/acd-debug");
+    runCommand("AoC Heap Stats (HF0)", "echo 'dbg heap -c 3' > /dev/acd-debug; timeout 0.1 cat /dev/acd-debug");
+    runCommand("AoC Heap Stats (HF1)", "echo 'dbg heap -c 4' > /dev/acd-debug; timeout 0.1 cat /dev/acd-debug");
     return 0;
 }
diff --git a/insmod/Android.bp b/insmod/Android.bp
index 2573894..3b956e7 100644
--- a/insmod/Android.bp
+++ b/insmod/Android.bp
@@ -14,3 +14,23 @@
     src: "init.common.cfg",
     vendor: true,
 }
+
+cc_library {
+    name: "libdump",
+    srcs: ["pixel_dump.cpp"],
+    vendor_available: true,
+    vendor_ramdisk_available: true,
+    shared_libs: [
+        "libbase",
+        "liblog",
+    ],
+    cflags: [
+        "-Wall",
+        "-Werror",
+    ],
+
+    export_include_dirs: [
+        "include",
+    ],
+}
+
diff --git a/insmod/include/dump/pixel_dump.h b/insmod/include/dump/pixel_dump.h
new file mode 100644
index 0000000..1d661be
--- /dev/null
+++ b/insmod/include/dump/pixel_dump.h
@@ -0,0 +1,7 @@
+#ifndef DEVICE_GOOGLE_GS_COMMON_INSMOD_INCLUDE_DUMP_PIXEL_DUMP_H_
+#define DEVICE_GOOGLE_GS_COMMON_INSMOD_INCLUDE_DUMP_PIXEL_DUMP_H_
+
+void dumpFileContent(const char* title, const char* file_path);
+void runCommand(const char* title, const char* cmd);
+
+#endif  // DEVICE_GOOGLE_GS_COMMON_INSMOD_INCLUDE_DUMP_PIXEL_DUMP_H_
diff --git a/insmod/pixel_dump.cpp b/insmod/pixel_dump.cpp
new file mode 100644
index 0000000..5926dfc
--- /dev/null
+++ b/insmod/pixel_dump.cpp
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2022 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.
+ */
+#include <stdio.h>
+#include <string>
+#include <android-base/file.h>
+
+// Format title and content output.
+void dumpFileContent(const char* title, const char* file_path) {
+    std::string content;
+    printf("------ %s (%s) ------\n", title, file_path);
+    if (android::base::ReadFileToString(file_path, &content)) {
+        printf("%s\n", content.c_str());
+    } else {
+        printf("Unable to read %s\n", file_path);
+    }
+    return;
+}
+
+// Format title and command output.
+void runCommand(const char* title, const char* cmd) {
+    printf("------ %s (%s)------\n", title, cmd);
+    system(cmd);
+    return;
+}
diff --git a/soc/Android.bp b/soc/Android.bp
index 8cb3e65..fdef92c 100644
--- a/soc/Android.bp
+++ b/soc/Android.bp
@@ -10,7 +10,10 @@
         "-Wextra",
         "-Werror",
     ],
-    shared_libs: ["libbase"],
+    shared_libs: [
+        "libbase",
+	"libdump",
+    ],
     vendor: true,
     relative_install_path: "dump",
 }
diff --git a/soc/dump_soc.cpp b/soc/dump_soc.cpp
index cf7fcd9..bc08689 100644
--- a/soc/dump_soc.cpp
+++ b/soc/dump_soc.cpp
@@ -13,21 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-#include <stdio.h>
-#include <string>
-#include <android-base/file.h>
-
-// Format title and content output.
-void dumpFileContent(const char* title, const char* file_path) {
-    std::string content;
-    printf("------ %s (%s) ------\n", title, file_path);
-    if (android::base::ReadFileToString(file_path, &content)) {
-        printf("%s\n", content.c_str());
-    } else {
-        printf("Unable to read %s\n", file_path);
-    }
-    return;
-}
+#include <dump/pixel_dump.h>
 
 // Dump chip ID.
 int main() {