Fixed crash after updating to 2.1.0

This commit is contained in:
X1nto 2020-12-19 20:09:42 +04:00
parent 983a9bb361
commit 2a5e46855c
9 changed files with 14 additions and 14 deletions

View File

@ -18,7 +18,7 @@ class ThemedMaterialButton @JvmOverloads constructor(
) : MaterialButton(context, attributeSet, defStyleAttr) {
init {
setBgColor(context.getDefaultPrefs().getInt("manager_accent", defAccentColor))
setBgColor(context.getDefaultPrefs().getInt("manager_accent_color", defAccentColor))
context.lifecycleOwner()?.let { owner ->
accentColor.observe(owner) { color ->
setBgColor(color.toInt())

View File

@ -15,7 +15,7 @@ class ThemedMaterialCheckbox @JvmOverloads constructor(
attributeSet: AttributeSet? = null,
) : MaterialCheckBox(context, attributeSet, R.attr.checkboxStyle) {
init {
buttonTintList = ColorStateList.valueOf(context.getDefaultPrefs().getInt("manager_accent", defAccentColor))
buttonTintList = ColorStateList.valueOf(context.getDefaultPrefs().getInt("manager_accent_color", defAccentColor))
context.lifecycleOwner()?.let { owner ->
accentColor.observe(owner) { color ->
buttonTintList = ColorStateList.valueOf(color.toInt())

View File

@ -15,7 +15,7 @@ class ThemedMaterialRadioButton @JvmOverloads constructor(
attributeSet: AttributeSet? = null,
) : MaterialRadioButton(context, attributeSet, R.attr.radioButtonStyle) {
init {
buttonTintList = ColorStateList.valueOf(context.getDefaultPrefs().getInt("manager_accent", defAccentColor))
buttonTintList = ColorStateList.valueOf(context.getDefaultPrefs().getInt("manager_accent_color", defAccentColor))
context.lifecycleOwner()?.let { owner ->
accentColor.observe(owner) { color ->
buttonTintList = ColorStateList.valueOf(color.toInt())

View File

@ -17,7 +17,7 @@ class ThemedOutlinedMaterialButton @JvmOverloads constructor(
defStyleAttr: Int = 0
) : MaterialButton(context, attributeSet, defStyleAttr) {
init {
applyAccent(context.getDefaultPrefs().getInt("manager_accent", defAccentColor))
applyAccent(context.getDefaultPrefs().getInt("manager_accent_color", defAccentColor))
context.lifecycleOwner()?.let { owner ->
accentColor.observe(owner) { color ->
applyAccent(color.toInt())

View File

@ -21,7 +21,7 @@ class ThemedSwitchCompat @JvmOverloads constructor(
private val states = arrayOf(intArrayOf(-android.R.attr.state_checked), intArrayOf(android.R.attr.state_checked))
init {
setSwitchColors(context.getDefaultPrefs().getInt("manager_accent", defAccentColor))
setSwitchColors(context.getDefaultPrefs().getInt("manager_accent_color", defAccentColor))
context.lifecycleOwner()?.let { owner ->
accentColor.observe(owner) { color ->
setSwitchColors(color.toInt())

View File

@ -14,7 +14,7 @@ class ThemedTextView @JvmOverloads constructor(
defStyleAttr: Int = 0
) : AppCompatTextView(context, attributeSet, defStyleAttr) {
init {
setTextColor(context.getDefaultPrefs().getInt("manager_accent", defAccentColor))
setTextColor(context.getDefaultPrefs().getInt("manager_accent_color", defAccentColor))
context.lifecycleOwner()?.let { owner ->
accentColor.observe(owner) { color ->
setTextColor(color.toInt())

View File

@ -43,12 +43,12 @@ class ManagerAccentColorDialog : BindingDialogFragment<DialogManagerAccentColorB
override fun onCancel(dialog: DialogInterface) {
super.onCancel(dialog)
mutableAccentColor.value = prefs.getInt("manager_accent", defAccentColor)
mutableAccentColor.value = prefs.getInt("manager_accent_color", defAccentColor)
}
private fun bindData() {
with(binding) {
val accent = prefs.getInt("manager_accent", defAccentColor)
val accent = prefs.getInt("manager_accent_color", defAccentColor)
hexEdittext.apply {
setText(accent.toHex(), TextView.BufferType.EDITABLE)
addTextChangedListener(object : TextWatcher {
@ -95,7 +95,7 @@ class ManagerAccentColorDialog : BindingDialogFragment<DialogManagerAccentColorB
try {
val colorFromEditText = Color.parseColor(hexEdittext.text.toString())
mutableAccentColor.value = colorFromEditText
prefs.edit { putInt("manager_accent", colorFromEditText) }
prefs.edit { putInt("manager_accent_color", colorFromEditText) }
} catch (e: IllegalArgumentException) {
Log.d("VMTheme", getString(R.string.failed_accent))
Toast.makeText(requireActivity(), getString(R.string.failed_accent), Toast.LENGTH_SHORT).show()
@ -105,7 +105,7 @@ class ManagerAccentColorDialog : BindingDialogFragment<DialogManagerAccentColorB
dismiss()
}
accentReset.setOnClickListener {
prefs.edit { putInt("manager_accent", defAccentColor) }
prefs.edit { putInt("manager_accent_color", defAccentColor) }
mutableAccentColor.value = defAccentColor
dismiss()
}

View File

@ -104,11 +104,11 @@ class SettingsFragment : BindingFragment<FragmentSettingsBinding>() {
}
private fun FragmentSettingsBinding.bindManagerAccentColor() {
managerAccentColor.setSummary(prefs.getInt("manager_accent", defAccentColor).toHex())
managerAccentColor.setSummary(prefs.getInt("manager_accent_color", defAccentColor).toHex())
managerAccentColor.apply {
setOnClickListener { showDialog(ManagerAccentColorDialog()) }
accentColor.observe(viewLifecycleOwner) {
managerAccentColor.setSummary(prefs.getInt("manager_accent", defAccentColor).toHex())
managerAccentColor.setSummary(prefs.getInt("manager_accent_color", defAccentColor).toHex())
}
}
}

View File

@ -70,14 +70,14 @@ object Extensions {
//Material team decided to keep their LinearProgressIndicator final
//At least extension methods exist
fun LinearProgressIndicator.applyAccent() {
with(accentColor.value ?: context.getDefaultPrefs().getInt("manager_accent", defAccentColor)) {
with(accentColor.value ?: context.getDefaultPrefs().getInt("manager_accent_color", defAccentColor)) {
setIndicatorColor(this)
trackColor = ColorUtils.setAlphaComponent(this, 70)
}
}
fun MaterialAlertDialogBuilder.applyAccent() {
with(accentColor.value ?: context.getDefaultPrefs().getInt("manager_accent", defAccentColor)) {
with(accentColor.value ?: context.getDefaultPrefs().getInt("manager_accent_color", defAccentColor)) {
show().apply {
getButton(DialogInterface.BUTTON_POSITIVE).setTextColor(this@with)
getButton(DialogInterface.BUTTON_NEGATIVE).setTextColor(this@with)