From dc7ff87e33f04bdef20d13ee25a2e1237ba762b6 Mon Sep 17 00:00:00 2001 From: renhaoting <370797079@qq.com> Date: Mon, 1 Dec 2025 17:24:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=A7=82=E7=9C=8B=E5=AE=8C?= =?UTF-8?q?=E6=88=90=E4=B8=80=E4=B8=AA=E8=A7=86=E9=A2=91=E5=90=8E=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=20UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vididin/main/fragments/TasksFragment.kt | 20 ++++++++++++++++++- .../task/widget/DailyTaskItemView.kt | 2 +- .../vididin/manager/helpers/BaseTaskHelper.kt | 3 +++ .../helpers/DailyWatchVideoTaskHelper.kt | 6 +++--- .../manager/taskbeans/TaskStateWatchVideo.kt | 3 +++ 5 files changed, 29 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/gamedog/vididin/main/fragments/TasksFragment.kt b/app/src/main/java/com/gamedog/vididin/main/fragments/TasksFragment.kt index 58d2e94..993b78f 100644 --- a/app/src/main/java/com/gamedog/vididin/main/fragments/TasksFragment.kt +++ b/app/src/main/java/com/gamedog/vididin/main/fragments/TasksFragment.kt @@ -175,6 +175,19 @@ class TasksFragment : AppViewsFragment(), OnTab } } + private fun updateDailyWatchUI() { + /*binding?.tvCashTotal?.text = buildString { + append(ResUtil.getString(R.string.cash)) + append(" ") + append(AccountManager.getCash()) + }*/ + + val statusBean = TaskManager.instance().dailyWatchStatus().getStatus() + mDailyWatchVideoTaskViewList.forEachIndexed { index, view -> + view.updateProgress(statusBean.getTodayWatchedCount()) + } + } + private fun updateUIGoldTotal() { binding?.tvGoldTotal?.text = AccountManager.getGold().toString() } @@ -193,8 +206,13 @@ class TasksFragment : AppViewsFragment(), OnTab VididinEvents.Event_Account_Cash_Changed -> { updateUICashTotal() } + + VididinEvents.Event_Toady_Watched_Total -> { + updateDailyWatchUI() + } } - }, VididinEvents.Event_Sign_State_Changed, VididinEvents.Event_Account_Cash_Changed, VididinEvents.Event_Account_Gold_Changed) + }, VididinEvents.Event_Sign_State_Changed, VididinEvents.Event_Account_Cash_Changed, + VididinEvents.Event_Account_Gold_Changed, VididinEvents.Event_Toady_Watched_Total) } private fun updateDailySignButUI() { diff --git a/app/src/main/java/com/gamedog/vididin/main/fragments/task/widget/DailyTaskItemView.kt b/app/src/main/java/com/gamedog/vididin/main/fragments/task/widget/DailyTaskItemView.kt index be84eb8..1316c5b 100644 --- a/app/src/main/java/com/gamedog/vididin/main/fragments/task/widget/DailyTaskItemView.kt +++ b/app/src/main/java/com/gamedog/vididin/main/fragments/task/widget/DailyTaskItemView.kt @@ -49,7 +49,7 @@ class DailyTaskItemView @JvmOverloads constructor( fun updateProgress(finishVideoNum: Int) { val showWatchedNum = if (finishVideoNum > mNeedWatchTotal) mNeedWatchTotal else finishVideoNum mBinding.tvItemProgress.text = "($showWatchedNum/$mNeedWatchTotal)" - mBinding.itemProgress.setProgress(showWatchedNum/mNeedWatchTotal) + mBinding.itemProgress.setProgress(100*showWatchedNum/mNeedWatchTotal) } diff --git a/app/src/main/java/com/gamedog/vididin/manager/helpers/BaseTaskHelper.kt b/app/src/main/java/com/gamedog/vididin/manager/helpers/BaseTaskHelper.kt index 0c37d9a..5cc08a7 100644 --- a/app/src/main/java/com/gamedog/vididin/manager/helpers/BaseTaskHelper.kt +++ b/app/src/main/java/com/gamedog/vididin/manager/helpers/BaseTaskHelper.kt @@ -40,6 +40,9 @@ abstract class BaseTaskHelper { SpUtil.instance().putObject(mSpKey, mStateBean) } + fun getStatus() : T { + return mStateBean + } fun release() { NotifyMan.instance().unregister(mEventCallback) diff --git a/app/src/main/java/com/gamedog/vididin/manager/helpers/DailyWatchVideoTaskHelper.kt b/app/src/main/java/com/gamedog/vididin/manager/helpers/DailyWatchVideoTaskHelper.kt index b2a47e2..1603c07 100644 --- a/app/src/main/java/com/gamedog/vididin/manager/helpers/DailyWatchVideoTaskHelper.kt +++ b/app/src/main/java/com/gamedog/vididin/manager/helpers/DailyWatchVideoTaskHelper.kt @@ -21,7 +21,7 @@ class DailyWatchVideoTaskHelper : BaseTaskHelper() { override fun loadTaskFromSp() { val spStateBean = SpUtil.instance().getObject(mSpKey) - if (spStateBean == null || !isCurBeanInToday(spStateBean)) { + if (spStateBean == null || !isTodayStatusBean(spStateBean)) { generateTodayTask() saveState2Sp() } else { @@ -41,7 +41,7 @@ class DailyWatchVideoTaskHelper : BaseTaskHelper() { mStateBean = DailyStateWatchVideoBean(DateUtil.getCurTimeMs()) } - private fun isCurBeanInToday(stateBean: DailyStateWatchVideoBean): Boolean { + private fun isTodayStatusBean(stateBean: DailyStateWatchVideoBean): Boolean { return DateUtil.isToday(stateBean.todayStartMs) } @@ -49,7 +49,7 @@ class DailyWatchVideoTaskHelper : BaseTaskHelper() { private fun handleVideoWatched(dataPair: Pair) { mStateBean.run { addWatchedVideoInfo(dataPair) - + notifyEvents() } } diff --git a/app/src/main/java/com/gamedog/vididin/manager/taskbeans/TaskStateWatchVideo.kt b/app/src/main/java/com/gamedog/vididin/manager/taskbeans/TaskStateWatchVideo.kt index f5d9c50..235013b 100644 --- a/app/src/main/java/com/gamedog/vididin/manager/taskbeans/TaskStateWatchVideo.kt +++ b/app/src/main/java/com/gamedog/vididin/manager/taskbeans/TaskStateWatchVideo.kt @@ -26,6 +26,9 @@ data class DailyStateWatchVideoBean( } + fun getTodayWatchedCount(): Int { + return mWatchedMap.size + } }