universal7885: parts: Make smartcharge settings compile

This commit is contained in:
roynatech2544 2022-10-15 05:27:12 +00:00
commit e44d93750c

View file

@ -17,8 +17,11 @@ package com.eurekateam.samsungextras.smartcharge
import android.content.SharedPreferences import android.content.SharedPreferences
import android.os.Bundle import android.os.Bundle
import android.os.Handler
import android.os.Looper
import android.view.View import android.view.View
import android.widget.Switch import android.widget.Switch
import android.widget.Toast
import androidx.preference.Preference import androidx.preference.Preference
import androidx.preference.PreferenceFragmentCompat import androidx.preference.PreferenceFragmentCompat
import androidx.preference.PreferenceManager import androidx.preference.PreferenceManager
@ -47,6 +50,7 @@ class SmartChargeFragment : PreferenceFragmentCompat(), OnMainSwitchChangeListen
private val mPoolExecutor = ScheduledThreadPoolExecutor(3) private val mPoolExecutor = ScheduledThreadPoolExecutor(3)
private var mSelected = SelectedOption.SELECTED_LIMIT private var mSelected = SelectedOption.SELECTED_LIMIT
private val mSmartCharge = SmartCharge() private val mSmartCharge = SmartCharge()
private val mMainHandler = Handler(Looper.getMainLooper())
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
addPreferencesFromResource(R.xml.smartcharge_settings) addPreferencesFromResource(R.xml.smartcharge_settings)
@ -75,20 +79,20 @@ class SmartChargeFragment : PreferenceFragmentCompat(), OnMainSwitchChangeListen
mRestart.setOnClickListener(this) mRestart.setOnClickListener(this)
mLimitShow.summary = "${mSharedPreferences.getInt(PREF_LIMIT, 20)} %" mLimitShow.summary = "${mSharedPreferences.getInt(PREF_LIMIT, 20)} %"
mRestartShow.summary = "${mSharedPreferences.getInt(PREF_RESTART, 80)} %" mRestartShow.summary = "${mSharedPreferences.getInt(PREF_RESTART, 80)} %"
updateSwitch(mLimit, true) mLimit.isChecked = true
} }
override fun onRadioButtonClicked(btn: SelectorWithWidgetPreference) { override fun onRadioButtonClicked(btn: SelectorWithWidgetPreference) {
when (btn) { when (btn) {
mLimit -> { mLimit -> {
mSelected = SelectedOption.SELECTED_LIMIT mSelected = SelectedOption.SELECTED_LIMIT
updateSwitch(mLimit, true) mMainHandler.post({ mLimit.isChecked = true })
updateSwitch(mRestart, false) mMainHandler.post({ mRestart.isChecked = false })
} }
mRestart -> { mRestart -> {
mSelected = SelectedOption.SELECTED_RESTART mSelected = SelectedOption.SELECTED_RESTART
updateSwitch(mLimit, false) mMainHandler.post({ mLimit.isChecked = false })
updateSwitch(mRestart, true) mMainHandler.post({ mRestart.isChecked = true })
} }
else -> {} else -> {}
} }
@ -103,10 +107,6 @@ class SmartChargeFragment : PreferenceFragmentCompat(), OnMainSwitchChangeListen
SelectedOption.SELECTED_RESTART -> PREF_RESTART SelectedOption.SELECTED_RESTART -> PREF_RESTART
} }
private inline fun<T> updateSwitch(obj : T, value : Boolean) {
(obj as View).post({ (obj as Preference).isChecked = value })
}
override fun onPreferenceChange(preference: Preference, newValue: Any): Boolean { override fun onPreferenceChange(preference: Preference, newValue: Any): Boolean {
if (preference == mAdjust) { if (preference == mAdjust) {
var tmp = mSharedPreferences.getInt(fromSelectedToId(), 50) var tmp = mSharedPreferences.getInt(fromSelectedToId(), 50)
@ -129,9 +129,9 @@ class SmartChargeFragment : PreferenceFragmentCompat(), OnMainSwitchChangeListen
mRestartShow mRestartShow
} }
}.summary = "$tmp %" }.summary = "$tmp %"
mSmartChargeBtn.isEnabled = false mMainHandler.post({ mSmartChargeBtn.isEnabled = false })
updateSwitch(mApplyBtn, true) mMainHandler.post({ mApplyBtn.isEnabled = true })
(mAdjust as View).post({ mAdjust.value = 3 }) mMainHandler.post({ mAdjust.value = 3 })
return true return true
} }
return false return false
@ -141,11 +141,13 @@ class SmartChargeFragment : PreferenceFragmentCompat(), OnMainSwitchChangeListen
if (v == mApplyBtn) { if (v == mApplyBtn) {
val limit = mSharedPreferences.getInt(PREF_LIMIT, 20) val limit = mSharedPreferences.getInt(PREF_LIMIT, 20)
val restart = mSharedPreferences.getInt(PREF_RESTART, 80) val restart = mSharedPreferences.getInt(PREF_RESTART, 80)
if (limit < restart) { if (limit > restart) {
mSmartCharge.setConfig(limit, restart) mSmartCharge.setConfig(limit, restart)
updateSwitch(mSmartChargeBtn, true) mMainHandler.post({ mSmartChargeBtn.isEnabled = true })
updateSwitch(mApplyBtn, false) mMainHandler.post({ mApplyBtn.isEnabled = false })
} } else {
Toast.makeText(this, "Limit percent should be bigger than restart percent", Toast.LENGTH_SHORT).show()
}
} }
} }