From eee6565d72031e47e6dc5d3243bafec6f44cb184 Mon Sep 17 00:00:00 2001 From: Paul Akhamiogu Date: Fri, 10 Sep 2021 22:29:33 +0100 Subject: [PATCH] Recreate adapter when text color changes so it updates correctly --- .../clock/fragments/TimerFragment.kt | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/clock/fragments/TimerFragment.kt b/app/src/main/kotlin/com/simplemobiletools/clock/fragments/TimerFragment.kt index 46942ade..b974af0a 100644 --- a/app/src/main/kotlin/com/simplemobiletools/clock/fragments/TimerFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/clock/fragments/TimerFragment.kt @@ -45,31 +45,33 @@ class TimerFragment : Fragment() { override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View { view = (inflater.inflate(R.layout.fragment_timer, container, false) as ViewGroup).apply { - timerAdapter = TimerAdapter(requireActivity() as SimpleActivity, timers_list, ::refreshTimers, ::openEditTimer) - storeStateVariables() - - timers_list.adapter = timerAdapter timers_list.itemAnimator = DisabledItemChangeAnimator() - timer_add.setOnClickListener { activity?.run { hideKeyboard() openEditTimer(createNewTimer()) } } - - refreshTimers() } + initAdapter() + refreshTimers() return view } + private fun initAdapter() { + timerAdapter = TimerAdapter(requireActivity() as SimpleActivity, view.timers_list, ::refreshTimers, ::openEditTimer) + view.timers_list.adapter = timerAdapter + } + override fun onResume() { super.onResume() requireContext().updateTextColors(timer_fragment) val configTextColor = requireContext().config.textColor if (storedTextColor != configTextColor) { - (view.timers_list.adapter as TimerAdapter).updateTextColor(configTextColor) + initAdapter() + timerAdapter.updateTextColor(configTextColor) + refreshTimers() } }