From 13e6667cfd89aa5660eda2a36ad01908286a90dd Mon Sep 17 00:00:00 2001 From: roynatech2544 Date: Tue, 25 Oct 2022 20:48:26 +0900 Subject: [PATCH] universal7885: FMRadio: Fix crash and freq mismatch - For ChannelListFragment, check if the fragment is added to an Activity and run requireactivity() - For MainFragment, re-fetch the freq every time that fragment is drawn --- .../fmradio/fragments/ChannelListFragment.kt | 12 +++++++----- .../com/eurekateam/fmradio/fragments/MainFragment.kt | 3 +++ 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/universal7885-common/apps/FMRadio/src/com/eurekateam/fmradio/fragments/ChannelListFragment.kt b/universal7885-common/apps/FMRadio/src/com/eurekateam/fmradio/fragments/ChannelListFragment.kt index 4b78f05..36240fe 100644 --- a/universal7885-common/apps/FMRadio/src/com/eurekateam/fmradio/fragments/ChannelListFragment.kt +++ b/universal7885-common/apps/FMRadio/src/com/eurekateam/fmradio/fragments/ChannelListFragment.kt @@ -62,12 +62,14 @@ class ChannelListFragment : object : IWaitUntil { override fun cond(): Boolean = mNativeIF.mDefaultCtl.getValue(GetType.GET_TYPE_FM_MUTEX_LOCKED) == 0 override fun todo() { - (requireActivity() as MainActivity).getMySupportFragmentManager().apply { - beginTransaction().remove(this@ChannelListFragment).commit() - executePendingTransactions() - beginTransaction().add(R.id.container_view, this@ChannelListFragment).commit() + if (isAdded()) { + (requireActivity() as MainActivity).getMySupportFragmentManager().apply { + beginTransaction().remove(this@ChannelListFragment).commit() + executePendingTransactions() + beginTransaction().add(R.id.container_view, this@ChannelListFragment).commit() + } + requireActivity().window.clearFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE) } - requireActivity().window.clearFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE) } } ) diff --git a/universal7885-common/apps/FMRadio/src/com/eurekateam/fmradio/fragments/MainFragment.kt b/universal7885-common/apps/FMRadio/src/com/eurekateam/fmradio/fragments/MainFragment.kt index a31ca06..896bf91 100644 --- a/universal7885-common/apps/FMRadio/src/com/eurekateam/fmradio/fragments/MainFragment.kt +++ b/universal7885-common/apps/FMRadio/src/com/eurekateam/fmradio/fragments/MainFragment.kt @@ -142,6 +142,9 @@ class MainFragment : } ) mFreqSearchDone = true + } else { + val mNewFreq = mFMInterface.mDefaultCtl.getValue(GetType.GET_TYPE_FM_FREQ) + mFMFreq.text = mCleanFormat.format(mNewFreq.toFloat() / 1000) } // Update track list and fav button return mRootView