settings: add PawletOS version info and Android settings section
This commit is contained in:
@@ -2,4 +2,17 @@
|
||||
<resources>
|
||||
<string name="app_name">PawletOS</string>
|
||||
<string name="app_summary">PawletOS device settings</string>
|
||||
|
||||
<string name="category_pawletos">PawletOS</string>
|
||||
<string name="category_android">Android settings</string>
|
||||
|
||||
<string name="pref_version">Version</string>
|
||||
<string name="pref_build_type">Build type</string>
|
||||
<string name="pref_device">Device</string>
|
||||
|
||||
<string name="pref_android_version">Android version</string>
|
||||
<string name="pref_android_codename">Version codename</string>
|
||||
<string name="pref_security_patch">Security patch level</string>
|
||||
<string name="pref_build_number">Build number</string>
|
||||
<string name="pref_kernel_version">Kernel version</string>
|
||||
</resources>
|
||||
|
||||
@@ -1,6 +1,42 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<!-- Add PawletOS-specific preferences here -->
|
||||
<PreferenceCategory android:title="@string/category_pawletos">
|
||||
<Preference
|
||||
android:key="pawlet_version"
|
||||
android:title="@string/pref_version"
|
||||
android:selectable="false" />
|
||||
<Preference
|
||||
android:key="pawlet_build_type"
|
||||
android:title="@string/pref_build_type"
|
||||
android:selectable="false" />
|
||||
<Preference
|
||||
android:key="pawlet_device"
|
||||
android:title="@string/pref_device"
|
||||
android:selectable="false" />
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory android:title="@string/category_android">
|
||||
<Preference
|
||||
android:key="android_version"
|
||||
android:title="@string/pref_android_version"
|
||||
android:selectable="false" />
|
||||
<Preference
|
||||
android:key="android_codename"
|
||||
android:title="@string/pref_android_codename"
|
||||
android:selectable="false" />
|
||||
<Preference
|
||||
android:key="android_security_patch"
|
||||
android:title="@string/pref_security_patch"
|
||||
android:selectable="false" />
|
||||
<Preference
|
||||
android:key="android_build_number"
|
||||
android:title="@string/pref_build_number"
|
||||
android:selectable="false" />
|
||||
<Preference
|
||||
android:key="android_kernel"
|
||||
android:title="@string/pref_kernel_version"
|
||||
android:selectable="false" />
|
||||
</PreferenceCategory>
|
||||
|
||||
</PreferenceScreen>
|
||||
|
||||
@@ -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<Preference>(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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user