From fda87a4aa89d1eeee6182ce51afafc8fde06cc1e Mon Sep 17 00:00:00 2001
From: oxmc <67136658+oxmc@users.noreply.github.com>
Date: Tue, 9 Jun 2026 10:30:25 -0700
Subject: [PATCH] settings: add PawletOS version info and Android settings
section
---
res/values/strings.xml | 13 +++++++
res/xml/pawlet_settings.xml | 38 ++++++++++++++++++-
.../pawlet/settings/PawletSettingsFragment.kt | 34 +++++++++++++++++
3 files changed, 84 insertions(+), 1 deletion(-)
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 9880cc2..87a6b85 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -2,4 +2,17 @@
PawletOS
PawletOS device settings
+
+ PawletOS
+ Android settings
+
+ Version
+ Build type
+ Device
+
+ Android version
+ Version codename
+ Security patch level
+ Build number
+ Kernel version
diff --git a/res/xml/pawlet_settings.xml b/res/xml/pawlet_settings.xml
index b1510fe..76d5a7d 100644
--- a/res/xml/pawlet_settings.xml
+++ b/res/xml/pawlet_settings.xml
@@ -1,6 +1,42 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/me/pawlet/settings/PawletSettingsFragment.kt b/src/me/pawlet/settings/PawletSettingsFragment.kt
index 1cbc7a3..75da938 100644
--- a/src/me/pawlet/settings/PawletSettingsFragment.kt
+++ b/src/me/pawlet/settings/PawletSettingsFragment.kt
@@ -1,11 +1,45 @@
package me.pawlet.settings
+import android.os.Build
import android.os.Bundle
+import android.os.SystemProperties
+import androidx.preference.Preference
import androidx.preference.PreferenceFragmentCompat
class PawletSettingsFragment : PreferenceFragmentCompat() {
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
setPreferencesFromResource(R.xml.pawlet_settings, rootKey)
+ populate()
+ }
+
+ private fun populate() {
+ setPref("pawlet_version", SystemProperties.get("ro.pawlet.display.version", Build.UNKNOWN))
+ setPref("pawlet_build_type", SystemProperties.get("ro.pawlet.releasetype", Build.UNKNOWN))
+ setPref("pawlet_device", Build.MODEL)
+
+ setPref("android_version", Build.VERSION.RELEASE)
+ setPref("android_codename", resolveCodename())
+ setPref("android_security_patch", Build.VERSION.SECURITY_PATCH)
+ setPref("android_build_number", Build.DISPLAY)
+ setPref("android_kernel", System.getProperty("os.version") ?: Build.UNKNOWN)
+ }
+
+ private fun setPref(key: String, value: String) {
+ findPreference(key)?.summary = value
+ }
+
+ private fun resolveCodename(): String {
+ val raw = SystemProperties.get("ro.build.version.codename", "REL")
+ if (raw != "REL") return raw
+ return when (Build.VERSION.SDK_INT) {
+ 36 -> "Baklava"
+ 35 -> "VanillaIceCream"
+ 34 -> "UpsideDownCake"
+ 33 -> "Tiramisu"
+ 32, 31 -> "Snow Cone"
+ 30 -> "RedVelvetCake"
+ else -> Build.VERSION.RELEASE
+ }
}
}