From f21e66fab6c7e49e79aed41fe44eaa48b2a4a148 Mon Sep 17 00:00:00 2001 From: HuanCheng65 <22636177+HuanCheng65@users.noreply.github.com> Date: Fri, 2 Sep 2022 17:10:02 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E4=B8=BB=E9=A1=B5?= =?UTF-8?q?=E9=97=AA=E9=80=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../post/fragments/MainForumListFragment.kt | 38 +++++++++++-------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/com/huanchengfly/tieba/post/fragments/MainForumListFragment.kt b/app/src/main/java/com/huanchengfly/tieba/post/fragments/MainForumListFragment.kt index ce961f8b..7ebe90f9 100644 --- a/app/src/main/java/com/huanchengfly/tieba/post/fragments/MainForumListFragment.kt +++ b/app/src/main/java/com/huanchengfly/tieba/post/fragments/MainForumListFragment.kt @@ -208,22 +208,28 @@ class MainForumListFragment : BaseFragment(), Refreshable, Toolbar.OnMenuItemCli } val workInfoLiveData = WorkManager.getInstance(attachContext).getWorkInfoByIdLiveData(id) - workInfoLiveData.observe(viewLifecycleOwner) { - if (it == null) { - workInfoLiveData.removeObservers(viewLifecycleOwner) - return@observe - } - if (it.progress.getBoolean(DATA_SUCCESS, false)) { - workInfoLiveData.removeObservers(viewLifecycleOwner) - } - if (DateTimeUtils.isToday( - it.progress.getLong( - DATA_TIMESTAMP, - System.currentTimeMillis() - ) - ) && it.progress.hasKeyWithValueOfType(DATA_SUCCESS) - ) { - okSignProgressData = it.progress + if (view != null) { + runCatching { + workInfoLiveData.observe(viewLifecycleOwner) { + runCatching { + if (it == null) { + workInfoLiveData.removeObservers(viewLifecycleOwner) + return@observe + } + if (it.progress.getBoolean(DATA_SUCCESS, false)) { + workInfoLiveData.removeObservers(viewLifecycleOwner) + } + } + if (DateTimeUtils.isToday( + it.progress.getLong( + DATA_TIMESTAMP, + System.currentTimeMillis() + ) + ) && it.progress.hasKeyWithValueOfType(DATA_SUCCESS) + ) { + okSignProgressData = it.progress + } + } } } } else {