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) {
|
) : MaterialButton(context, attributeSet, defStyleAttr) {
|
||||||
|
|
||||||
init {
|
init {
|
||||||
setBgColor(context.getDefaultPrefs().getInt("manager_accent", defAccentColor))
|
setBgColor(context.getDefaultPrefs().getInt("manager_accent_color", defAccentColor))
|
||||||
context.lifecycleOwner()?.let { owner ->
|
context.lifecycleOwner()?.let { owner ->
|
||||||
accentColor.observe(owner) { color ->
|
accentColor.observe(owner) { color ->
|
||||||
setBgColor(color.toInt())
|
setBgColor(color.toInt())
|
||||||
|
|
|
@ -15,7 +15,7 @@ class ThemedMaterialCheckbox @JvmOverloads constructor(
|
||||||
attributeSet: AttributeSet? = null,
|
attributeSet: AttributeSet? = null,
|
||||||
) : MaterialCheckBox(context, attributeSet, R.attr.checkboxStyle) {
|
) : MaterialCheckBox(context, attributeSet, R.attr.checkboxStyle) {
|
||||||
init {
|
init {
|
||||||
buttonTintList = ColorStateList.valueOf(context.getDefaultPrefs().getInt("manager_accent", defAccentColor))
|
buttonTintList = ColorStateList.valueOf(context.getDefaultPrefs().getInt("manager_accent_color", defAccentColor))
|
||||||
context.lifecycleOwner()?.let { owner ->
|
context.lifecycleOwner()?.let { owner ->
|
||||||
accentColor.observe(owner) { color ->
|
accentColor.observe(owner) { color ->
|
||||||
buttonTintList = ColorStateList.valueOf(color.toInt())
|
buttonTintList = ColorStateList.valueOf(color.toInt())
|
||||||
|
|
|
@ -15,7 +15,7 @@ class ThemedMaterialRadioButton @JvmOverloads constructor(
|
||||||
attributeSet: AttributeSet? = null,
|
attributeSet: AttributeSet? = null,
|
||||||
) : MaterialRadioButton(context, attributeSet, R.attr.radioButtonStyle) {
|
) : MaterialRadioButton(context, attributeSet, R.attr.radioButtonStyle) {
|
||||||
init {
|
init {
|
||||||
buttonTintList = ColorStateList.valueOf(context.getDefaultPrefs().getInt("manager_accent", defAccentColor))
|
buttonTintList = ColorStateList.valueOf(context.getDefaultPrefs().getInt("manager_accent_color", defAccentColor))
|
||||||
context.lifecycleOwner()?.let { owner ->
|
context.lifecycleOwner()?.let { owner ->
|
||||||
accentColor.observe(owner) { color ->
|
accentColor.observe(owner) { color ->
|
||||||
buttonTintList = ColorStateList.valueOf(color.toInt())
|
buttonTintList = ColorStateList.valueOf(color.toInt())
|
||||||
|
|
|
@ -17,7 +17,7 @@ class ThemedOutlinedMaterialButton @JvmOverloads constructor(
|
||||||
defStyleAttr: Int = 0
|
defStyleAttr: Int = 0
|
||||||
) : MaterialButton(context, attributeSet, defStyleAttr) {
|
) : MaterialButton(context, attributeSet, defStyleAttr) {
|
||||||
init {
|
init {
|
||||||
applyAccent(context.getDefaultPrefs().getInt("manager_accent", defAccentColor))
|
applyAccent(context.getDefaultPrefs().getInt("manager_accent_color", defAccentColor))
|
||||||
context.lifecycleOwner()?.let { owner ->
|
context.lifecycleOwner()?.let { owner ->
|
||||||
accentColor.observe(owner) { color ->
|
accentColor.observe(owner) { color ->
|
||||||
applyAccent(color.toInt())
|
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))
|
private val states = arrayOf(intArrayOf(-android.R.attr.state_checked), intArrayOf(android.R.attr.state_checked))
|
||||||
|
|
||||||
init {
|
init {
|
||||||
setSwitchColors(context.getDefaultPrefs().getInt("manager_accent", defAccentColor))
|
setSwitchColors(context.getDefaultPrefs().getInt("manager_accent_color", defAccentColor))
|
||||||
context.lifecycleOwner()?.let { owner ->
|
context.lifecycleOwner()?.let { owner ->
|
||||||
accentColor.observe(owner) { color ->
|
accentColor.observe(owner) { color ->
|
||||||
setSwitchColors(color.toInt())
|
setSwitchColors(color.toInt())
|
||||||
|
|
|
@ -14,7 +14,7 @@ class ThemedTextView @JvmOverloads constructor(
|
||||||
defStyleAttr: Int = 0
|
defStyleAttr: Int = 0
|
||||||
) : AppCompatTextView(context, attributeSet, defStyleAttr) {
|
) : AppCompatTextView(context, attributeSet, defStyleAttr) {
|
||||||
init {
|
init {
|
||||||
setTextColor(context.getDefaultPrefs().getInt("manager_accent", defAccentColor))
|
setTextColor(context.getDefaultPrefs().getInt("manager_accent_color", defAccentColor))
|
||||||
context.lifecycleOwner()?.let { owner ->
|
context.lifecycleOwner()?.let { owner ->
|
||||||
accentColor.observe(owner) { color ->
|
accentColor.observe(owner) { color ->
|
||||||
setTextColor(color.toInt())
|
setTextColor(color.toInt())
|
||||||
|
|
|
@ -43,12 +43,12 @@ class ManagerAccentColorDialog : BindingDialogFragment<DialogManagerAccentColorB
|
||||||
|
|
||||||
override fun onCancel(dialog: DialogInterface) {
|
override fun onCancel(dialog: DialogInterface) {
|
||||||
super.onCancel(dialog)
|
super.onCancel(dialog)
|
||||||
mutableAccentColor.value = prefs.getInt("manager_accent", defAccentColor)
|
mutableAccentColor.value = prefs.getInt("manager_accent_color", defAccentColor)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun bindData() {
|
private fun bindData() {
|
||||||
with(binding) {
|
with(binding) {
|
||||||
val accent = prefs.getInt("manager_accent", defAccentColor)
|
val accent = prefs.getInt("manager_accent_color", defAccentColor)
|
||||||
hexEdittext.apply {
|
hexEdittext.apply {
|
||||||
setText(accent.toHex(), TextView.BufferType.EDITABLE)
|
setText(accent.toHex(), TextView.BufferType.EDITABLE)
|
||||||
addTextChangedListener(object : TextWatcher {
|
addTextChangedListener(object : TextWatcher {
|
||||||
|
@ -95,7 +95,7 @@ class ManagerAccentColorDialog : BindingDialogFragment<DialogManagerAccentColorB
|
||||||
try {
|
try {
|
||||||
val colorFromEditText = Color.parseColor(hexEdittext.text.toString())
|
val colorFromEditText = Color.parseColor(hexEdittext.text.toString())
|
||||||
mutableAccentColor.value = colorFromEditText
|
mutableAccentColor.value = colorFromEditText
|
||||||
prefs.edit { putInt("manager_accent", colorFromEditText) }
|
prefs.edit { putInt("manager_accent_color", colorFromEditText) }
|
||||||
} catch (e: IllegalArgumentException) {
|
} catch (e: IllegalArgumentException) {
|
||||||
Log.d("VMTheme", getString(R.string.failed_accent))
|
Log.d("VMTheme", getString(R.string.failed_accent))
|
||||||
Toast.makeText(requireActivity(), getString(R.string.failed_accent), Toast.LENGTH_SHORT).show()
|
Toast.makeText(requireActivity(), getString(R.string.failed_accent), Toast.LENGTH_SHORT).show()
|
||||||
|
@ -105,7 +105,7 @@ class ManagerAccentColorDialog : BindingDialogFragment<DialogManagerAccentColorB
|
||||||
dismiss()
|
dismiss()
|
||||||
}
|
}
|
||||||
accentReset.setOnClickListener {
|
accentReset.setOnClickListener {
|
||||||
prefs.edit { putInt("manager_accent", defAccentColor) }
|
prefs.edit { putInt("manager_accent_color", defAccentColor) }
|
||||||
mutableAccentColor.value = defAccentColor
|
mutableAccentColor.value = defAccentColor
|
||||||
dismiss()
|
dismiss()
|
||||||
}
|
}
|
||||||
|
|
|
@ -104,11 +104,11 @@ class SettingsFragment : BindingFragment<FragmentSettingsBinding>() {
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun FragmentSettingsBinding.bindManagerAccentColor() {
|
private fun FragmentSettingsBinding.bindManagerAccentColor() {
|
||||||
managerAccentColor.setSummary(prefs.getInt("manager_accent", defAccentColor).toHex())
|
managerAccentColor.setSummary(prefs.getInt("manager_accent_color", defAccentColor).toHex())
|
||||||
managerAccentColor.apply {
|
managerAccentColor.apply {
|
||||||
setOnClickListener { showDialog(ManagerAccentColorDialog()) }
|
setOnClickListener { showDialog(ManagerAccentColorDialog()) }
|
||||||
accentColor.observe(viewLifecycleOwner) {
|
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
|
//Material team decided to keep their LinearProgressIndicator final
|
||||||
//At least extension methods exist
|
//At least extension methods exist
|
||||||
fun LinearProgressIndicator.applyAccent() {
|
fun LinearProgressIndicator.applyAccent() {
|
||||||
with(accentColor.value ?: context.getDefaultPrefs().getInt("manager_accent", defAccentColor)) {
|
with(accentColor.value ?: context.getDefaultPrefs().getInt("manager_accent_color", defAccentColor)) {
|
||||||
setIndicatorColor(this)
|
setIndicatorColor(this)
|
||||||
trackColor = ColorUtils.setAlphaComponent(this, 70)
|
trackColor = ColorUtils.setAlphaComponent(this, 70)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun MaterialAlertDialogBuilder.applyAccent() {
|
fun MaterialAlertDialogBuilder.applyAccent() {
|
||||||
with(accentColor.value ?: context.getDefaultPrefs().getInt("manager_accent", defAccentColor)) {
|
with(accentColor.value ?: context.getDefaultPrefs().getInt("manager_accent_color", defAccentColor)) {
|
||||||
show().apply {
|
show().apply {
|
||||||
getButton(DialogInterface.BUTTON_POSITIVE).setTextColor(this@with)
|
getButton(DialogInterface.BUTTON_POSITIVE).setTextColor(this@with)
|
||||||
getButton(DialogInterface.BUTTON_NEGATIVE).setTextColor(this@with)
|
getButton(DialogInterface.BUTTON_NEGATIVE).setTextColor(this@with)
|
||||||
|
|
Loading…
Reference in New Issue