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:
@@ -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()
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user