Fixed crash after updating to 2.1.0
This commit is contained in:
parent
983a9bb361
commit
2a5e46855c
|
@ -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())
|
||||
|
|
|
@ -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())
|
||||
|
|
|
@ -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())
|
||||
|
|
|
@ -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())
|
||||
|
|
|
@ -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())
|
||||
|
|
|
@ -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())
|
||||
|
|
|
@ -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()
|
||||
}
|
||||
|
|
|
@ -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())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue