From 44380be0f169b4263466ff18fba39362eb8784cd Mon Sep 17 00:00:00 2001 From: renhaoting <370797079@qq.com> Date: Thu, 15 Jan 2026 19:25:40 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E6=96=B0=E6=89=8B=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E3=80=91=E5=B7=B2=E5=AE=8C=E6=88=90=E7=9A=84=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E4=BC=9A=E6=B6=88=E5=A4=B1=EF=BC=8C=E5=89=A9=E4=BD=99=E6=9C=AA?= =?UTF-8?q?=E5=AE=8C=E6=88=90=E7=9A=84=E4=BB=BB=E5=8A=A1=E4=BC=9A=E5=BE=80?= =?UTF-8?q?=E4=B8=8A=E5=A1=AB=E5=85=85=EF=BC=8C=E5=AE=9E=E9=99=85=E6=B8=B8?= =?UTF-8?q?=E6=88=8F=E4=B8=AD=E5=B7=B2=E7=BB=8F=E5=AE=8C=E6=88=90=E7=9A=84?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=9C=AA=E6=B6=88=E5=A4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vididin/main/fragments/TasksFragment.kt | 90 +++++++++++-------- .../helpers/NewbieJoinDiscordHelper.kt | 10 +++ .../taskbeans/TaskStateNewBieJoinDiscord.kt | 1 + ...inapp_feature_message_fragment_message.xml | 68 +++++++++----- 4 files changed, 110 insertions(+), 59 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 dfc9959..2d07c68 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 @@ -341,45 +341,61 @@ class TasksFragment : AppViewsFragment(), OnTab private fun updateNewBieFirstWithdrawUI() { with(binding?.beginnerTaskWithdraw!!) { val stateBean = TaskManager.instance().newbieFirstWithdrawStatus().getStatusBean() - setActionFun { - if (stateBean.hasWithdrawed && !stateBean.hasClaimReward) { - TaskManager.instance().newbieFirstWithdrawStatus().claimReward() - } else { - gotoWithDraw() - } - } - setTaskStateInfo( - stateBean.rewardGoldNum.toString(), - if (stateBean.hasClaimReward) R.string.finished else R.string.go_and_do, - ResUtil.getString(R.string.beginner_withdraw_desc), - stateBean.hasClaimReward - ) + if (stateBean.hasClaimReward) { + binding?.llRootFirstWithdrarw?.isVisible = false + } else { + setActionFun { + if (stateBean.hasWithdrawed && !stateBean.hasClaimReward) { + TaskManager.instance().newbieFirstWithdrawStatus().claimReward() + } else { + gotoWithDraw() + } + } + + setTaskStateInfo( + stateBean.rewardGoldNum.toString(), + if (stateBean.hasClaimReward) R.string.resgatar else R.string.go_and_do, + ResUtil.getString(R.string.beginner_withdraw_desc), + stateBean.hasClaimReward + ) + } } } private fun updateNewBieDiscordUI() { with(binding?.beginnerTaskDiscord!!) { val stateBean = TaskManager.instance().newbieJoinDiscordStatus().getStatusBean() - val hasClaimDiscordGold = stateBean.hasClaimReward - setActionFun { - if (!hasClaimDiscordGold) { - gotoDiscord() - postDelayed({ - if (TaskManager.instance().newbieJoinDiscordStatus().claimReward()) { - DailySignSuccessDialog(requireActivity()).initData(stateBean.rewardGoldNum, false).show() - updateNewBieDiscordUI() - } - }, 5000) - } - } + //val hasClaimDiscordGold = stateBean.hasClaimReward - setTaskStateInfo( - stateBean.rewardGoldNum.toString(), - if (stateBean.hasClaimReward) R.string.finished else R.string.go_and_do, - String.format(ResUtil.getString(R.string.beginner_discord_desc), stateBean.rewardGoldNum), - stateBean.hasClaimReward - ) + if (stateBean.hasClaimReward) { + binding?.llRootDiscord?.isVisible = false + } else { + setActionFun { + if (!stateBean.hasClaimReward) { + if (stateBean.hasJoined) { + if (TaskManager.instance().newbieJoinDiscordStatus().claimReward()) { + DailySignSuccessDialog(requireActivity()).initData(stateBean.rewardGoldNum, false).show() + updateNewBieDiscordUI() + } + } else { + gotoDiscord() + postDelayed({ + if (TaskManager.instance().newbieJoinDiscordStatus().setHasJoinedDiscord()) { + updateNewBieDiscordUI() + } + }, 5000) + } + } + } + + setTaskStateInfo( + stateBean.rewardGoldNum.toString(), + if (stateBean.hasClaimReward) R.string.Resgatado else (if (stateBean.hasJoined) R.string.resgatar else R.string.go_and_do), + String.format(ResUtil.getString(R.string.beginner_discord_desc), stateBean.rewardGoldNum), + stateBean.hasClaimReward + ) + } } } @@ -399,10 +415,14 @@ class TasksFragment : AppViewsFragment(), OnTab } val stateBean = TaskManager.instance().newbieEnableNotifyStatus().getStatusBean() - val isNotifyEnable = AndroidUtil.isNotificationEnabled() - val actionButRes = if (stateBean.hasClaimReward) R.string.Resgatado else (if (isNotifyEnable) R.string.resgatar else R.string.go_and_do) - setTaskStateInfo(stateBean.rewardGoldNum.toString(), actionButRes, - String.format(ResUtil.getString(R.string.beginner_notify_desc), stateBean.rewardGoldNum), stateBean.hasClaimReward) + if (stateBean.hasClaimReward) { + binding?.llRootNotify?.isVisible = false + } else { + val isNotifyEnable = AndroidUtil.isNotificationEnabled() + val actionButRes = if (stateBean.hasClaimReward) R.string.Resgatado else (if (isNotifyEnable) R.string.resgatar else R.string.go_and_do) + setTaskStateInfo(stateBean.rewardGoldNum.toString(), actionButRes, + String.format(ResUtil.getString(R.string.beginner_notify_desc), stateBean.rewardGoldNum), stateBean.hasClaimReward) + } } } diff --git a/app/src/main/java/com/gamedog/vididin/manager/helpers/NewbieJoinDiscordHelper.kt b/app/src/main/java/com/gamedog/vididin/manager/helpers/NewbieJoinDiscordHelper.kt index 8090036..5649a84 100644 --- a/app/src/main/java/com/gamedog/vididin/manager/helpers/NewbieJoinDiscordHelper.kt +++ b/app/src/main/java/com/gamedog/vididin/manager/helpers/NewbieJoinDiscordHelper.kt @@ -40,6 +40,16 @@ class NewbieJoinDiscordHelper: BaseTaskHelper( return false } + fun setHasJoinedDiscord() : Boolean { + if (!mStateBean.hasClaimReward) { + mStateBean.hasJoined = true + saveState2Sp() + notifyStateChangeEvent() + return true + } + return false + } + private fun notifyStateChangeEvent() { NotifyMan.instance().sendEvent(VididinEvents.EVENT_NEWBIE_DISCORD_TASK_CHANGED, null) } diff --git a/app/src/main/java/com/gamedog/vididin/manager/taskbeans/TaskStateNewBieJoinDiscord.kt b/app/src/main/java/com/gamedog/vididin/manager/taskbeans/TaskStateNewBieJoinDiscord.kt index 923df6b..4325b18 100644 --- a/app/src/main/java/com/gamedog/vididin/manager/taskbeans/TaskStateNewBieJoinDiscord.kt +++ b/app/src/main/java/com/gamedog/vididin/manager/taskbeans/TaskStateNewBieJoinDiscord.kt @@ -8,6 +8,7 @@ import java.io.Serializable data class TaskStateNewBieJoinDiscord( var rewardGoldNum: Int, var hasClaimReward: Boolean = false, + var hasJoined: Boolean = false ): Serializable { } 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 4731e19..e938f6e 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 @@ -501,41 +501,61 @@ android:layout_marginTop="20dp" android:orientation="vertical" android:paddingHorizontal="15dp"> - - + android:orientation="vertical"> + - + + - + android:orientation="vertical"> + - + + - + android:orientation="vertical"> + + + +