From 9189b845ef6e7b088c99642e57936de70334fcc4 Mon Sep 17 00:00:00 2001 From: renhaoting <370797079@qq.com> Date: Thu, 4 Dec 2025 11:02:00 +0800 Subject: [PATCH] =?UTF-8?q?box=E8=B7=B3=E8=BD=AC=20/=20=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/gamedog/vididin/VididinEvents.kt | 5 +++- .../features/benefit/BenefitActivity.kt | 23 +++++++++++++++---- .../com/gamedog/vididin/main/MainActivity.kt | 6 ++++- .../vididin/main/fragments/TasksFragment.kt | 7 +++++- .../vididin/manager/helpers/BoxTaskHelper.kt | 8 ++++++- 5 files changed, 41 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/gamedog/vididin/VididinEvents.kt b/app/src/main/java/com/gamedog/vididin/VididinEvents.kt index 7548edb..a19a956 100644 --- a/app/src/main/java/com/gamedog/vididin/VididinEvents.kt +++ b/app/src/main/java/com/gamedog/vididin/VididinEvents.kt @@ -16,6 +16,8 @@ object VididinEvents { const val EVENT_DAILY_WATCHED_VIDEO_NUM_CHANGED = 705 const val EVENT_DAILY_WATCHED_AD_NUM_CHANGED = 706 + const val EVENT_BOX_TASK_STATE_CHANGED = 707 + const val Event_AD_TASK_TYPE_Convert_Gold_2_Cash = 800 @@ -30,6 +32,7 @@ object VididinEvents { // UI jump related const val EVENT_JUMP_2_FIRST_WITHDRAW = 900 - const val EVENT_JUMP_2_SIGN = 901 + const val EVENT_JUMP_2_VIDEO = 901 + const val EVENT_JUMP_2_SIGN= 902 } \ No newline at end of file diff --git a/app/src/main/java/com/gamedog/vididin/features/benefit/BenefitActivity.kt b/app/src/main/java/com/gamedog/vididin/features/benefit/BenefitActivity.kt index 65f2834..b9031ef 100644 --- a/app/src/main/java/com/gamedog/vididin/features/benefit/BenefitActivity.kt +++ b/app/src/main/java/com/gamedog/vididin/features/benefit/BenefitActivity.kt @@ -9,9 +9,11 @@ import android.widget.LinearLayout import androidx.activity.viewModels import com.ama.core.architecture.appBase.AppViewsActivity import com.ama.core.architecture.util.ResUtil +import com.ama.core.architecture.util.eventbus.NotifyMan import com.gamedog.vididin.R import com.gamedog.vididin.VididinEvents import com.gamedog.vididin.features.benefit.widget.BenefitTaskItemView +import com.gamedog.vididin.main.fragments.task.DailySignDialog import com.gamedog.vididin.main.interfaces.OnTabStyleListener import com.gamedog.vididin.manager.TaskManager import com.gamedog.vididin.manager.TaskManager.Companion.BOX_SUB_TASK_TYPE_AD @@ -48,8 +50,16 @@ class BenefitActivity : AppViewsActivity(), OnT initViewsByTaskState() } - override fun ViewBinding.initListeners() { + + override fun ViewBinding.initListeners() { + registerEvents({ data-> + when (data?.mEventType) { + VididinEvents.EVENT_BOX_TASK_STATE_CHANGED -> { + updateUI() + } + } + }, VididinEvents.EVENT_BOX_TASK_STATE_CHANGED) } override fun ViewBinding.initObservers() { @@ -71,6 +81,11 @@ class BenefitActivity : AppViewsActivity(), OnT updateTopBoxesUI() } + private fun updateUI() { + updateSubTasksUI() + updateTopBoxesUI() + } + private fun initAddSubTaskViews() { val taskStateHelper = TaskManager.instance().boxTaskStatus() val currentBoxState = taskStateHelper.getStatusBean().tasks[taskStateHelper.getCurrentBoxIndex()] @@ -98,11 +113,12 @@ class BenefitActivity : AppViewsActivity(), OnT } BOX_SUB_TASK_TYPE_SIGN -> { - // TODO - + DailySignDialog(this@BenefitActivity).show() } BOX_SUB_TASK_TYPE_VIDEO -> { - + finish() + NotifyMan.instance().sendEvent(VididinEvents.EVENT_JUMP_2_VIDEO, null) } BOX_SUB_TASK_TYPE_ZERO_BUY -> { @@ -110,7 +126,6 @@ class BenefitActivity : AppViewsActivity(), OnT } } - finish() } private fun updateSubTasksUI() { diff --git a/app/src/main/java/com/gamedog/vididin/main/MainActivity.kt b/app/src/main/java/com/gamedog/vididin/main/MainActivity.kt index ff98156..9cbe0d1 100644 --- a/app/src/main/java/com/gamedog/vididin/main/MainActivity.kt +++ b/app/src/main/java/com/gamedog/vididin/main/MainActivity.kt @@ -117,9 +117,13 @@ class MainActivity : AppViewsActivity(), OnTabS VididinEvents.Event_AD_TASK_TYPE_Watch_Ad_Earn_Gold-> { DailySignSuccessDialog(this@MainActivity).initData(VidiConst.WATCH_AD_REWARD_GOLD.toInt(), false).show() } + + VididinEvents.EVENT_JUMP_2_VIDEO-> { + switchTab(0) + } } - }, VididinEvents.Event_AD_TASK_TYPE_Watch_Ad_Earn_Gold) + }, VididinEvents.Event_AD_TASK_TYPE_Watch_Ad_Earn_Gold, VididinEvents.EVENT_JUMP_2_VIDEO) } override fun ViewBinding.initObservers() { 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 0bac701..86a28c9 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 @@ -34,6 +34,7 @@ import com.gamedog.vididin.manager.taskbeans.BaseTaskState.Companion.STATE_FINIS import com.gamedog.vididin.manager.taskbeans.BaseTaskState.Companion.STATE_ONGOING import com.gamedog.vididin.router.Router import dagger.hilt.android.AndroidEntryPoint +import kotlinx.coroutines.Runnable import kotlinx.coroutines.launch import kotlin.getValue import com.gamedog.vididin.databinding.VididinappFeatureMessageFragmentMessageBinding as ViewBinding @@ -252,7 +253,11 @@ class TasksFragment : AppViewsFragment(), OnTab } VididinEvents.EVENT_JUMP_2_FIRST_WITHDRAW -> { - scroll2FirstWithdraw() + binding?.newbieContainer?.postDelayed(object : Runnable { + override fun run() { + scroll2FirstWithdraw() + } + },1000) } } }, VididinEvents.Event_Sign_State_Changed, VididinEvents.Event_Account_Cash_Changed, diff --git a/app/src/main/java/com/gamedog/vididin/manager/helpers/BoxTaskHelper.kt b/app/src/main/java/com/gamedog/vididin/manager/helpers/BoxTaskHelper.kt index 0c64681..d42806c 100644 --- a/app/src/main/java/com/gamedog/vididin/manager/helpers/BoxTaskHelper.kt +++ b/app/src/main/java/com/gamedog/vididin/manager/helpers/BoxTaskHelper.kt @@ -2,6 +2,7 @@ package com.gamedog.vididin.manager.helpers import com.ama.core.architecture.util.DateUtil import com.ama.core.architecture.util.SpUtil +import com.ama.core.architecture.util.eventbus.NotifyMan import com.gamedog.vididin.R import com.gamedog.vididin.VididinEvents import com.gamedog.vididin.main.fragments.task.BoxTaskRoot @@ -82,12 +83,17 @@ class BoxTaskHelper: BaseTaskHelper() { && !isBoxSubTaskFinished(currentBoxIndex, index)) { subTask.finishedNum++ saveState2Sp() - // TODO - if need notify + + notifyEvent() } } } } + private fun notifyEvent() { + NotifyMan.instance().sendEvent(VididinEvents.EVENT_BOX_TASK_STATE_CHANGED, null) + } + private fun isBoxRootTaskExpired(taskStateBoxRoot: TaskStateBoxRoot): Boolean { var totalDurationDays = 0