diff --git a/app/src/main/java/me/phh/treble/app/EntryService.kt b/app/src/main/java/me/phh/treble/app/EntryService.kt index be4b0fea91f5..ff6133d98e4e 100644 --- a/app/src/main/java/me/phh/treble/app/EntryService.kt +++ b/app/src/main/java/me/phh/treble/app/EntryService.kt @@ -42,6 +42,7 @@ class EntryService: Service() { tryC { Samsung.startup(this) } tryC { Hostapd.startup(this) } tryC { Xiaomi.startup(this) } + tryC { Qin.startup(this) } tryC { Qualcomm.startup(this) } tryC { Vsmart.startup(this) } tryC { Nubia.startup(this) } diff --git a/app/src/main/java/me/phh/treble/app/Qin.kt b/app/src/main/java/me/phh/treble/app/Qin.kt new file mode 100644 index 000000000000..45feb5dd9b39 --- /dev/null +++ b/app/src/main/java/me/phh/treble/app/Qin.kt @@ -0,0 +1,27 @@ +package me.phh.treble.app + +import android.content.Context +import android.content.SharedPreferences +import android.preference.PreferenceManager +import android.util.Log +import java.io.File +import java.lang.Exception + +object Qin: EntryStartup { + val spListener = SharedPreferences.OnSharedPreferenceChangeListener { sp, key -> + when(key) { + QinSettings.dt2w -> { + val b = sp.getBoolean(key, false) + val value = if(b) "1" else "0" + Misc.safeSetprop("persist.sys.phh.qin.dt2w", value) + } + } + } + + override fun startup(ctxt: Context) { + if(!QinSettings.enabled()) return + Log.d("PHH", "Starting QIN service") + val sp = PreferenceManager.getDefaultSharedPreferences(ctxt) + sp.registerOnSharedPreferenceChangeListener(spListener) + } +} diff --git a/app/src/main/java/me/phh/treble/app/QinSettings.kt b/app/src/main/java/me/phh/treble/app/QinSettings.kt new file mode 100644 index 000000000000..8e16c26a6110 --- /dev/null +++ b/app/src/main/java/me/phh/treble/app/QinSettings.kt @@ -0,0 +1,18 @@ +package me.phh.treble.app + +import android.os.Bundle + +object QinSettings : Settings { + val dt2w = "key_qin_dt2w" + + override fun enabled() = Tools.vendorFp.contains("s9863a1h10_Natv") +} + +class QinSettingsFragment : SettingsFragment() { + override val preferencesResId = R.xml.pref_qin + + override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { + super.onCreatePreferences(savedInstanceState, rootKey) + android.util.Log.d("PHH", "Loading QIN fragment ${QinSettings.enabled()}") + } +} diff --git a/app/src/main/java/me/phh/treble/app/SettingsActivity.kt b/app/src/main/java/me/phh/treble/app/SettingsActivity.kt index 561198341d05..39cc64a91ffb 100644 --- a/app/src/main/java/me/phh/treble/app/SettingsActivity.kt +++ b/app/src/main/java/me/phh/treble/app/SettingsActivity.kt @@ -55,6 +55,8 @@ class SettingsActivity : PreferenceActivity() { target.removeIf { it.fragment == SamsungSettingsFragment::class.java.name } if (!XiaomiSettings.enabled()) target.removeIf { it.fragment == XiaomiSettingsFragment::class.java.name } + if (!QinSettings.enabled()) + target.removeIf { it.fragment == QinSettingsFragment::class.java.name } if (!OppoSettings.enabled()) target.removeIf { it.fragment == OppoSettingsFragment::class.java.name } if (!QualcommSettings.enabled()) @@ -80,6 +82,7 @@ class SettingsActivity : PreferenceActivity() { || MiscSettingsFragment::class.java.name == fragmentName || SamsungSettingsFragment::class.java.name == fragmentName || XiaomiSettingsFragment::class.java.name == fragmentName + || QinSettingsFragment::class.java.name == fragmentName || OppoSettingsFragment::class.java.name == fragmentName || QualcommSettingsFragment::class.java.name == fragmentName || VsmartSettingsFragment::class.java.name == fragmentName diff --git a/app/src/main/res/xml/pref_headers.xml b/app/src/main/res/xml/pref_headers.xml index d7993bd9f907..95c8664dec19 100644 --- a/app/src/main/res/xml/pref_headers.xml +++ b/app/src/main/res/xml/pref_headers.xml @@ -26,6 +26,9 @@
+
diff --git a/app/src/main/res/xml/pref_qin.xml b/app/src/main/res/xml/pref_qin.xml new file mode 100644 index 000000000000..59f93b83955a --- /dev/null +++ b/app/src/main/res/xml/pref_qin.xml @@ -0,0 +1,10 @@ + + + + + + +