From 32d201030da2a68cc2dad9c88fbbb8d078b8f0fd Mon Sep 17 00:00:00 2001 From: renhaoting <370797079@qq.com> Date: Tue, 2 Dec 2025 13:58:21 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=82=E7=9C=8Bad=20UI=E7=9B=91=E5=90=AC?= =?UTF-8?q?=E5=8F=8A=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/gamedog/vididin/VididinEvents.kt | 5 +- .../{WatchVideoDialog.kt => WatchAdDialog.kt} | 2 +- .../vididin/main/fragments/TasksFragment.kt | 46 ++++++++++++++++--- .../home/fragment/HomeItemFragment.kt | 4 +- .../manager/helpers/DailyWatchAdTaskHelper.kt | 3 ++ ...inapp_feature_message_fragment_message.xml | 2 +- 6 files changed, 50 insertions(+), 12 deletions(-) rename app/src/main/java/com/gamedog/vididin/main/{WatchVideoDialog.kt => WatchAdDialog.kt} (82%) diff --git a/app/src/main/java/com/gamedog/vididin/VididinEvents.kt b/app/src/main/java/com/gamedog/vididin/VididinEvents.kt index a5e150b..9359f20 100644 --- a/app/src/main/java/com/gamedog/vididin/VididinEvents.kt +++ b/app/src/main/java/com/gamedog/vididin/VididinEvents.kt @@ -18,7 +18,8 @@ object VididinEvents { const val Event_AD_TASK_TYPE_Convert_Gold_2_Cash = 800 const val Event_AD_TASK_TYPE_Watch_Ad_For_Gold = 801 - const val Event_AD_TASK_TYPE_Withdraw = 802 - const val Event_AD_TASK_TYPE_Complement = 803 + const val Event_AD_TASK_TYPE_Watch_Ad_Daily = 802 + const val Event_AD_TASK_TYPE_Withdraw = 803 + const val Event_AD_TASK_TYPE_Complement = 804 } \ No newline at end of file diff --git a/app/src/main/java/com/gamedog/vididin/main/WatchVideoDialog.kt b/app/src/main/java/com/gamedog/vididin/main/WatchAdDialog.kt similarity index 82% rename from app/src/main/java/com/gamedog/vididin/main/WatchVideoDialog.kt rename to app/src/main/java/com/gamedog/vididin/main/WatchAdDialog.kt index 5e7f3f1..a63dcf9 100644 --- a/app/src/main/java/com/gamedog/vididin/main/WatchVideoDialog.kt +++ b/app/src/main/java/com/gamedog/vididin/main/WatchAdDialog.kt @@ -7,7 +7,7 @@ import com.gamedog.vididin.databinding.DialogWatchVideoBinding import com.gamedog.vididin.router.Router -class WatchVideoDialog(context: Activity, private val mTaskType: Int, private val mTaskDataJson: String?) : BindingDialog(context, DialogWatchVideoBinding::inflate) { +class WatchAdDialog(context: Activity, private val mTaskType: Int, private val mTaskDataJson: String?) : BindingDialog(context, DialogWatchVideoBinding::inflate) { init { build() 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 1933b55..31310d8 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 @@ -22,7 +22,7 @@ import com.gamedog.vididin.R import com.gamedog.vididin.VidiConst import com.gamedog.vididin.VididinEvents import com.gamedog.vididin.core.login.login.AccountManager -import com.gamedog.vididin.main.WatchVideoDialog +import com.gamedog.vididin.main.WatchAdDialog import com.gamedog.vididin.main.fragments.task.DailySignDialog import com.gamedog.vididin.main.fragments.task.TaskBean import com.gamedog.vididin.main.fragments.task.widget.DailyTaskItemView @@ -47,6 +47,7 @@ class TasksFragment : AppViewsFragment(), OnTab override var isBackgroundBright: Boolean = true private val mDailyWatchVideoTaskViewList = mutableListOf() + private val mDailyWatchVideoAdViewList = mutableListOf() override fun inflateViewBinding( @@ -78,7 +79,7 @@ class TasksFragment : AppViewsFragment(), OnTab } llTaskWatchVideo->{ - WatchVideoDialog(requireActivity(), VididinEvents.Event_AD_TASK_TYPE_Watch_Ad_For_Gold, null).show() + WatchAdDialog(requireActivity(), VididinEvents.Event_AD_TASK_TYPE_Watch_Ad_For_Gold, null).show() } llTaskGame->{ @@ -90,7 +91,7 @@ class TasksFragment : AppViewsFragment(), OnTab } tvWatchVideoForConvertGoldToCash->{ - WatchVideoDialog(requireActivity(), VididinEvents.Event_AD_TASK_TYPE_Convert_Gold_2_Cash, null).show() + WatchAdDialog(requireActivity(), VididinEvents.Event_AD_TASK_TYPE_Convert_Gold_2_Cash, null).show() } tvWithdraw->{ @@ -142,7 +143,33 @@ class TasksFragment : AppViewsFragment(), OnTab } private fun addDailySubTasks() { + //1. 阶梯广告 + val dailyWatchAdTask = TaskManager.instance().getDailyAdTask() + if (dailyWatchAdTask != null && dailyWatchAdTask.status == "active" + && dailyWatchAdTask.reward_details.isNotEmpty()) { + dailyWatchAdTask.reward_details.forEachIndexed { index, detail -> + val watchTaskItemView = DailyTaskItemView(requireActivity()) + watchTaskItemView.setActionFun { + gotoDailyWatchAd() + } + mDailyWatchVideoAdViewList.add(watchTaskItemView) + + binding?.dailyTasksContainer!!.run { + watchTaskItemView.initUI(R.mipmap.icon_video_task, R.string.daily_video_task_title, + detail.target_count, detail.value, if (index == 0) R.string.resgatar else R.string.go_and_do) + + addView(watchTaskItemView, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT) + if (true) { + val separateLine = View(requireActivity()) + separateLine.setBackgroundResource(R.color.gray_f2) + addView(separateLine, LinearLayout.LayoutParams.MATCH_PARENT, ResUtil.getPixelSize(R.dimen.dp1)) + } + } + } + } + + //2. 阶梯视频 val dailyWatchVideoTask = TaskManager.instance().getDailyVideoTask() if (dailyWatchVideoTask != null && dailyWatchVideoTask.status == "active" && dailyWatchVideoTask.reward_details.isNotEmpty()) { @@ -150,7 +177,7 @@ class TasksFragment : AppViewsFragment(), OnTab dailyWatchVideoTask.reward_details.forEachIndexed {index, detail -> val watchTaskItemView = DailyTaskItemView(requireActivity()) watchTaskItemView.setActionFun { - gotoWithVideo() + gotoWatchVideo() } mDailyWatchVideoTaskViewList.add(watchTaskItemView) @@ -185,7 +212,10 @@ class TasksFragment : AppViewsFragment(), OnTab } private fun updateDailyWatchAdUI() { - binding?.tvAdWatchRewardNum?.text = TaskManager.instance().dailyWatchAdStatus().getAdTaskShowingText() + val statusBean = TaskManager.instance().dailyWatchAdStatus().getStatus() + mDailyWatchVideoAdViewList.forEachIndexed { index, view -> + view.updateProgress(statusBean.getTodayWatchedAdCount()) + } } private fun updateUIGoldTotal() { @@ -276,9 +306,13 @@ class TasksFragment : AppViewsFragment(), OnTab }) } - private fun gotoWithVideo() { + private fun gotoWatchVideo() { Router.Mine.createMineFragment() } + private fun gotoDailyWatchAd() { + WatchAdDialog(requireActivity(), VididinEvents.Event_AD_TASK_TYPE_Watch_Ad_Daily, null).show() + } + } \ No newline at end of file diff --git a/app/src/main/java/com/gamedog/vididin/main/fragments/home/fragment/HomeItemFragment.kt b/app/src/main/java/com/gamedog/vididin/main/fragments/home/fragment/HomeItemFragment.kt index 91e60b6..c120261 100644 --- a/app/src/main/java/com/gamedog/vididin/main/fragments/home/fragment/HomeItemFragment.kt +++ b/app/src/main/java/com/gamedog/vididin/main/fragments/home/fragment/HomeItemFragment.kt @@ -16,7 +16,7 @@ import com.ama.core.common.widget.PopMenuIconView import com.gamedog.vididin.R import com.gamedog.vididin.VididinEvents import com.gamedog.vididin.beans.YoutubeVideo -import com.gamedog.vididin.main.WatchVideoDialog +import com.gamedog.vididin.main.WatchAdDialog import com.gamedog.vididin.router.Router import com.gamedog.vididin.widget.MyPlayerControlView import com.gamedog.vididin.youtubestatistic.TickerTimer @@ -63,7 +63,7 @@ class HomeItemFragment : AppViewsEmptyViewModelFragment() { Router.Benefit.startActivity(requireActivity()) }, PopMenuIconView.MenuItem(R.mipmap.home_menu_2) { - WatchVideoDialog(requireActivity(), VididinEvents.Event_AD_TASK_TYPE_Watch_Ad_For_Gold, null).show() + WatchAdDialog(requireActivity(), VididinEvents.Event_AD_TASK_TYPE_Watch_Ad_For_Gold, null).show() }, PopMenuIconView.MenuItem(R.mipmap.home_menu_3) { diff --git a/app/src/main/java/com/gamedog/vididin/manager/helpers/DailyWatchAdTaskHelper.kt b/app/src/main/java/com/gamedog/vididin/manager/helpers/DailyWatchAdTaskHelper.kt index 11b3eff..440f9ab 100644 --- a/app/src/main/java/com/gamedog/vididin/manager/helpers/DailyWatchAdTaskHelper.kt +++ b/app/src/main/java/com/gamedog/vididin/manager/helpers/DailyWatchAdTaskHelper.kt @@ -47,6 +47,9 @@ class DailyWatchAdTaskHelper : BaseTaskHelper() { return DateUtil.isToday(stateBean.todayMs) } + fun getTodayWatchedCount(): Int { + return mStateBean.getTodayWatchedAdCount() + } private fun handleOneAdWatched(newAdWatchedNum: Int) { mStateBean.run { diff --git a/app/src/main/res/layout/vididinapp_feature_message_fragment_message.xml b/app/src/main/res/layout/vididinapp_feature_message_fragment_message.xml index 7766f94..fb429a7 100644 --- a/app/src/main/res/layout/vididinapp_feature_message_fragment_message.xml +++ b/app/src/main/res/layout/vididinapp_feature_message_fragment_message.xml @@ -241,7 +241,7 @@ android:layout_height="wrap_content" android:gravity="center" android:layout_marginTop="-20dp" - android:text="0" + android:text="200" android:textColor="#FFFFFF" android:textSize="10sp" android:drawablePadding="3dp"