universal7885: parts: smartcharge: Nuke apply button

This commit is contained in:
roynatech2544 2022-10-18 19:42:38 +09:00
commit ffad88e852
4 changed files with 19 additions and 32 deletions

View file

@ -81,7 +81,6 @@
<string name="restart_title">reanudación de la carga actual % Setting</string>
<string name="limit_stat_title">Estadisticas del conteo del limite de carga desde el ultimo inicio</string>
<string name="restart_stat_title">Estadisticas del conteo de reanudaciónes de carga desde el ultimo inicio</string>
<string name="apply">Aplicar ajuste actual</string>
<string name="adjust_title">Mueva la barra para ajustar los valores</string>
<string name="adjust_summary">desde la izquierda el valor se movera de -10 -1 0 1 10</string>
<string name="smartcharge_description">Testa es una implementación simple de la carga inteligente

View file

@ -96,7 +96,6 @@
<string name="restart_title">Current Restart Charge % Setting</string>
<string name="limit_stat_title">Stats of limited charging count since last boot</string>
<string name="restart_stat_title">Stats of restarted charging count since last boot</string>
<string name="apply">Apply current settings</string>
<string name="adjust_title">Move the seekbar to adjust values</string>
<string name="adjust_summary">From the most left, the value will move by -10 -1 0 1 10</string>
<string name="smartcharge_description">This is a simple smartcharge implementation based on

View file

@ -45,10 +45,6 @@
android:icon="@drawable/ic_charge"
android:selectable="false"/>
<com.android.settingslib.widget.ButtonPreference
android:key="apply"
android:title="@string/apply"/>
<com.android.settingslib.widget.FooterPreference
android:title="@string/smartcharge_description"
android:selectable="false"/>

View file

@ -26,7 +26,6 @@ import androidx.preference.Preference
import androidx.preference.PreferenceFragmentCompat
import androidx.preference.PreferenceManager
import androidx.preference.SeekBarPreference
import com.android.settingslib.widget.ButtonPreference
import com.android.settingslib.widget.MainSwitchPreference
import com.android.settingslib.widget.OnMainSwitchChangeListener
import com.android.settingslib.widget.SelectorWithWidgetPreference
@ -36,13 +35,12 @@ import com.eurekateam.samsungextras.interfaces.SmartCharge
import java.util.concurrent.ScheduledThreadPoolExecutor
import java.util.concurrent.TimeUnit
class SmartChargeFragment : PreferenceFragmentCompat(), OnMainSwitchChangeListener, Preference.OnPreferenceClickListener, Preference.OnPreferenceChangeListener, SelectorWithWidgetPreference.OnClickListener {
class SmartChargeFragment : PreferenceFragmentCompat(), OnMainSwitchChangeListener, Preference.OnPreferenceChangeListener, SelectorWithWidgetPreference.OnClickListener {
private lateinit var mLimit: SelectorWithWidgetPreference
private lateinit var mRestart: SelectorWithWidgetPreference
private lateinit var mSharedPreferences: SharedPreferences
private lateinit var mSmartChargeBtn: MainSwitchPreference
private lateinit var mAdjust: SeekBarPreference
private lateinit var mApplyBtn: ButtonPreference
private lateinit var mLimitShow: Preference
private lateinit var mRestartShow: Preference
private lateinit var mLimitStat: Preference
@ -65,10 +63,7 @@ class SmartChargeFragment : PreferenceFragmentCompat(), OnMainSwitchChangeListen
mRestartShow = findPreference(PREF_RESTART)!!
mLimitStat = findPreference(PREF_LIMIT_STAT)!!
mRestartStat = findPreference(PREF_RESTART_STAT)!!
mApplyBtn = findPreference(PREF_APPLY)!!
mApplyBtn.setOnPreferenceClickListener(this)
mApplyBtn.isEnabled = false
mSmartChargeBtn.addOnSwitchChangeListener(this)
mSmartChargeBtn.isChecked = mSharedPreferences.getBoolean(PREF_SMARTCHARGE_MAIN, false)
mAdjust.min = 1
@ -121,36 +116,18 @@ class SmartChargeFragment : PreferenceFragmentCompat(), OnMainSwitchChangeListen
mSharedPreferences.edit().putInt(fromSelectedToId(), tmp).apply()
when (mSelected) {
SelectedOption.SELECTED_LIMIT -> {
mSharedPreferences.edit().putInt(PREF_LIMIT, tmp).apply()
mLimitShow
}
SelectedOption.SELECTED_RESTART -> {
mSharedPreferences.edit().putInt(PREF_RESTART, tmp).apply()
mRestartShow
}
}.summary = "$tmp %"
mMainHandler.post({ mSmartChargeBtn.isEnabled = false })
mMainHandler.post({ mApplyBtn.isEnabled = true })
mMainHandler.post({ mAdjust.value = 3 })
return true
}
return false
}
override fun onPreferenceClick(pref : Preference) {
if (pref == mApplyBtn) {
val limit = mSharedPreferences.getInt(PREF_LIMIT, 80)
val restart = mSharedPreferences.getInt(PREF_RESTART, 20)
if (limit > restart) {
mSmartCharge.setConfig(limit, restart)
mMainHandler.post({ mSmartChargeBtn.isEnabled = true })
mMainHandler.post({ mApplyBtn.isEnabled = false })
} else {
Toast.makeText(requireContext(), "Limit percent should be bigger than restart percent", Toast.LENGTH_SHORT).show()
}
}
}
private val mScheduler = Runnable {
requireActivity().runOnUiThread {
mLimitStat.summary = "${mSmartCharge.getStats(StatsType.TYPE_LIMITED_CNT)} times"
@ -160,10 +137,27 @@ class SmartChargeFragment : PreferenceFragmentCompat(), OnMainSwitchChangeListen
override fun onSwitchChanged(switchView: Switch, isChecked: Boolean) {
if (isChecked) {
val limit = mSharedPreferences.getInt(PREF_LIMIT, 80)
val restart = mSharedPreferences.getInt(PREF_RESTART, 20)
if (limit > restart) {
mSmartCharge.setConfig(limit, restart)
mMainHandler.post({
for (i in listOf(mAdjust, mLimit, mRestart))
i.isEnabled = false
})
} else {
Toast.makeText(requireContext(), "Limit percent should be bigger than restart percent", Toast.LENGTH_SHORT).show()
mMainHandler.post({ mSmartChargeBtn.isEnabled = false })
return
}
mSmartCharge.start()
mPoolExecutor.scheduleWithFixedDelay(mScheduler, 0, 5, TimeUnit.MINUTES)
mPoolExecutor.scheduleWithFixedDelay(mScheduler, 0, 3, TimeUnit.MINUTES)
} else {
mSmartCharge.stop()
mMainHandler.post({
for (i in listOf(mAdjust, mLimit, mRestart))
i.isEnabled = true
})
}
mSharedPreferences.edit().putBoolean(PREF_SMARTCHARGE_MAIN, isChecked).apply()
}
@ -176,7 +170,6 @@ class SmartChargeFragment : PreferenceFragmentCompat(), OnMainSwitchChangeListen
const val PREF_RESTART = "restart"
const val PREF_LIMIT_STAT = "limit_stat"
const val PREF_RESTART_STAT = "restart_stat"
const val PREF_APPLY = "apply"
const val PREF_ADJUST = "adjust"
}
}