From 0a83047368b2e0e72535c0239db806d6c229d7e9 Mon Sep 17 00:00:00 2001
From: Charles Lombardo <clombardo169@gmail.com>
Date: Fri, 3 Nov 2023 15:52:01 -0400
Subject: [PATCH] android: Log more system information during startup

Logs device manufacturer/model, SoC manufacturer/model where available, and the total system memory
---
 .../main/java/org/yuzu/yuzu_emu/YuzuApplication.kt   |  2 ++
 .../app/src/main/java/org/yuzu/yuzu_emu/utils/Log.kt | 12 ++++++++++++
 2 files changed, 14 insertions(+)

diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/YuzuApplication.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/YuzuApplication.kt
index 8c053670c6..d114bd53d7 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/YuzuApplication.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/YuzuApplication.kt
@@ -11,6 +11,7 @@ import java.io.File
 import org.yuzu.yuzu_emu.utils.DirectoryInitialization
 import org.yuzu.yuzu_emu.utils.DocumentsTree
 import org.yuzu.yuzu_emu.utils.GpuDriverHelper
+import org.yuzu.yuzu_emu.utils.Log
 
 fun Context.getPublicFilesDir(): File = getExternalFilesDir(null) ?: filesDir
 
@@ -49,6 +50,7 @@ class YuzuApplication : Application() {
         DirectoryInitialization.start()
         GpuDriverHelper.initializeDriverParameters()
         NativeLibrary.logDeviceInfo()
+        Log.logDeviceInfo()
 
         createNotificationChannels()
     }
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/Log.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/Log.kt
index fb682c3446..aebe84b0f1 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/Log.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/Log.kt
@@ -3,6 +3,8 @@
 
 package org.yuzu.yuzu_emu.utils
 
+import android.os.Build
+
 object Log {
     // Tracks whether we should share the old log or the current log
     var gameLaunched = false
@@ -16,4 +18,14 @@ object Log {
     external fun error(message: String)
 
     external fun critical(message: String)
+
+    fun logDeviceInfo() {
+        info("Device Manufacturer - ${Build.MANUFACTURER}")
+        info("Device Model - ${Build.MODEL}")
+        if (Build.VERSION.SDK_INT > Build.VERSION_CODES.R) {
+            info("SoC Manufacturer - ${Build.SOC_MANUFACTURER}")
+            info("SoC Model - ${Build.SOC_MODEL}")
+        }
+        info("Total System Memory - ${MemoryUtil.getDeviceRAM()}")
+    }
 }