doze: Adapt to S style

* Reference e7db7fc560

* Adapted and rewritten in Kt

* Use Theme.SubSettingsBase for theme
* Replace PreferenceActivity with CollapsingToolbarBaseActivity
* Add Titles to preference screen
* Remove onOptionsItemSelected and where neccessary move to activity

Change-Id: I4d35ade6f45022944df4db787948c03b5bc14e5f
Signed-off-by: Rohan Hasabe <rohanhasabe8@gmail.com>
Signed-off-by: Bruno Martins <bgcngm@gmail.com>
This commit is contained in:
TheScarastic
2021-10-14 01:19:10 +05:30
committed by LuK1337
parent 3f5b2402b6
commit e854088f20
13 changed files with 32 additions and 288 deletions

View File

@@ -6,14 +6,15 @@
package org.lineageos.settings.doze
import android.os.Bundle
import android.preference.PreferenceActivity
import com.android.settingslib.collapsingtoolbar.CollapsingToolbarBaseActivity
import com.android.settingslib.collapsingtoolbar.R
class DozeSettingsActivity : PreferenceActivity() {
class DozeSettingsActivity : CollapsingToolbarBaseActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
fragmentManager
.beginTransaction()
.replace(android.R.id.content, DozeSettingsFragment(), TAG)
.replace(R.id.content_frame, DozeSettingsFragment(), TAG)
.commit()
}

View File

@@ -10,20 +10,16 @@ import android.app.AlertDialog
import android.os.Bundle
import android.os.Handler
import android.os.Looper
import android.view.LayoutInflater
import android.view.MenuItem
import android.view.View
import android.view.ViewGroup
import android.widget.CompoundButton
import android.widget.Switch
import android.widget.TextView
import androidx.preference.*
import com.android.settingslib.widget.MainSwitchPreference
import com.android.settingslib.widget.OnMainSwitchChangeListener
class DozeSettingsFragment : PreferenceFragment(), Preference.OnPreferenceChangeListener,
CompoundButton.OnCheckedChangeListener {
OnMainSwitchChangeListener {
private lateinit var alwaysOnDisplayPreference: SwitchPreference
private lateinit var switchBar: View
private lateinit var textView: TextView
private lateinit var switchBar: MainSwitchPreference
private var pickUpPreference: ListPreference? = null
private var pocketPreference: SwitchPreference? = null
@@ -32,7 +28,6 @@ class DozeSettingsFragment : PreferenceFragment(), Preference.OnPreferenceChange
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
addPreferencesFromResource(R.xml.doze_settings)
activity.actionBar?.setDisplayHomeAsUpEnabled(true)
val prefs = activity.getSharedPreferences("doze_settings", Activity.MODE_PRIVATE)!!
if (savedInstanceState == null && !prefs.getBoolean("first_help_shown", false)) {
@@ -46,6 +41,10 @@ class DozeSettingsFragment : PreferenceFragment(), Preference.OnPreferenceChange
}
val dozeEnabled = Utils.isDozeEnabled(context)
switchBar = findPreference(Utils.DOZE_ENABLE)!!
switchBar.addOnSwitchChangeListener(this)
switchBar.isChecked = dozeEnabled
alwaysOnDisplayPreference = findPreference(Utils.ALWAYS_ON_DISPLAY)!!
alwaysOnDisplayPreference.isEnabled = dozeEnabled
alwaysOnDisplayPreference.isChecked = Utils.isAlwaysOnEnabled(context)
@@ -80,35 +79,6 @@ class DozeSettingsFragment : PreferenceFragment(), Preference.OnPreferenceChange
}
}
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?
): View {
val view = LayoutInflater.from(context).inflate(R.layout.doze, container, false)
(view as ViewGroup).addView(super.onCreateView(inflater, container, savedInstanceState))
return view
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
val dozeEnabled = Utils.isDozeEnabled(context)
textView = view.findViewById(R.id.switch_text)
textView.text =
getString(if (dozeEnabled) R.string.switch_bar_on else R.string.switch_bar_off)
switchBar = view.findViewById(R.id.switch_bar)
val switchWidget = switchBar.findViewById<Switch>(android.R.id.switch_widget)
switchWidget.isChecked = dozeEnabled
switchWidget.setOnCheckedChangeListener(this)
switchBar.isActivated = dozeEnabled
switchBar.setOnClickListener {
switchWidget.isChecked = !switchWidget.isChecked
switchBar.isActivated = switchWidget.isChecked
}
}
override fun onPreferenceChange(preference: Preference, newValue: Any?): Boolean {
if (preference.key == Utils.ALWAYS_ON_DISPLAY) {
Utils.enableAlwaysOn(context, newValue as Boolean)
@@ -117,13 +87,11 @@ class DozeSettingsFragment : PreferenceFragment(), Preference.OnPreferenceChange
return true
}
override fun onCheckedChanged(compoundButton: CompoundButton, isChecked: Boolean) {
override fun onSwitchChanged(switchView: Switch, isChecked: Boolean) {
Utils.enableDoze(context, isChecked)
Utils.checkDozeService(context)
textView.text =
getString(if (isChecked) R.string.switch_bar_on else R.string.switch_bar_off)
switchBar.isActivated = isChecked
switchBar.isChecked = isChecked
if (!isChecked) {
Utils.enableAlwaysOn(context, false)
@@ -135,13 +103,4 @@ class DozeSettingsFragment : PreferenceFragment(), Preference.OnPreferenceChange
pocketPreference?.isEnabled = isChecked
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
return when (item.itemId) {
R.id.home -> {
activity.onBackPressed()
true
}
else -> false
}
}
}

View File

@@ -23,6 +23,7 @@ object Utils {
private const val DOZE_INTENT = "com.android.systemui.doze.pulse"
const val ALWAYS_ON_DISPLAY = "always_on_display"
const val DOZE_ENABLE = "doze_enable"
const val CATEGORY_PICKUP_SENSOR = "pickup_sensor"
const val CATEGORY_PROXIMITY_SENSOR = "proximity_sensor"