新手任务状态 事件接入 updateUI
This commit is contained in:
parent
294100b146
commit
81ab5823ec
|
|
@ -110,35 +110,18 @@ class TasksFragment : AppViewsFragment<ViewBinding, UiState, ViewModel>(), OnTab
|
|||
with(beginnerTaskWithdraw) {
|
||||
initUI(R.mipmap.icon_cash_s, R.string.beginner_withdraw_title, R.string.resgatar)
|
||||
//setRewardTextStyle(21, R.color.green_39)
|
||||
setActionFun {
|
||||
gotoWithDraw()
|
||||
}
|
||||
val stateBean = TaskManager.instance().newbieFirstWithdrawStatus().getStatusBean()
|
||||
setTaskStateInfo(stateBean.rewardGoldNum.toString(),
|
||||
if (stateBean.hasClaimReward) R.string.finished else R.string.go_and_do,
|
||||
ResUtil.getString(R.string.beginner_withdraw_desc))
|
||||
updateNewBieFirstWithdrawUI()
|
||||
}
|
||||
|
||||
|
||||
with(beginnerTaskDiscord) {
|
||||
initUI(R.mipmap.icon_dicord, R.string.beginner_discord_title,R.string.resgatar)
|
||||
setActionFun {
|
||||
gotoDiscord()
|
||||
}
|
||||
val stateBean = TaskManager.instance().newbieJoinDiscordStatus().getStatusBean()
|
||||
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))
|
||||
updateNewBieDiscordUI()
|
||||
}
|
||||
|
||||
with(beginnerTaskEnableNotify) {
|
||||
initUI(R.mipmap.icon_notify, R.string.beginner_notify_title,R.string.Resgatado)
|
||||
beginnerTaskEnableNotify.setActionFun {
|
||||
gotoNotification()
|
||||
}
|
||||
|
||||
val stateBean = TaskManager.instance().newbieEnableNotifyStatus().getStatusBean()
|
||||
setTaskStateInfo(stateBean.rewardGoldNum.toString(), if (stateBean.hasClaimReward) R.string.finished else R.string.go_and_do,
|
||||
String.format(ResUtil.getString(R.string.beginner_notify_desc), stateBean.rewardGoldNum))
|
||||
updateNewBieNotifyUI()
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -269,15 +252,15 @@ class TasksFragment : AppViewsFragment<ViewBinding, UiState, ViewModel>(), OnTab
|
|||
}
|
||||
|
||||
VididinEvents.EVENT_NEWBIE_DISCORD_TASK_CHANGED -> {
|
||||
|
||||
updateNewBieDiscordUI()
|
||||
}
|
||||
|
||||
VididinEvents.EVENT_NEWBIE_NOTIFY_TASK_CHANGED -> {
|
||||
|
||||
updateNewBieNotifyUI()
|
||||
}
|
||||
|
||||
VididinEvents.EVENT_NEWBIE_FIRST_WITHDRAW_TASK_CHANGED -> {
|
||||
|
||||
updateNewBieFirstWithdrawUI()
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -307,6 +290,58 @@ class TasksFragment : AppViewsFragment<ViewBinding, UiState, ViewModel>(), OnTab
|
|||
}
|
||||
}
|
||||
|
||||
private fun updateNewBieFirstWithdrawUI() {
|
||||
with(binding?.beginnerTaskWithdraw!!) {
|
||||
setActionFun {
|
||||
gotoWithDraw()
|
||||
}
|
||||
val stateBean = TaskManager.instance().newbieFirstWithdrawStatus().getStatusBean()
|
||||
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
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private fun updateNewBieDiscordUI() {
|
||||
with(binding?.beginnerTaskDiscord!!) {
|
||||
setActionFun {
|
||||
gotoDiscord()
|
||||
}
|
||||
val stateBean = TaskManager.instance().newbieJoinDiscordStatus().getStatusBean()
|
||||
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
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private fun updateNewBieNotifyUI() {
|
||||
with(binding?.beginnerTaskEnableNotify!!) {
|
||||
val isNotifyEnable = AndroidUtil.isNotificationEnabled()
|
||||
val stateBean = TaskManager.instance().newbieEnableNotifyStatus().getStatusBean()
|
||||
setActionFun {
|
||||
if (!isNotifyEnable) {
|
||||
gotoNotification()
|
||||
} else {
|
||||
if (TaskManager.instance().newbieEnableNotifyStatus().claimReward()) {
|
||||
DailySignSuccessDialog(requireActivity()).initData(stateBean.rewardGoldNum, false).show()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
val actionButRes = if (stateBean.hasClaimReward) R.string.finished 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)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
override fun ViewBinding.initObservers() {
|
||||
}
|
||||
|
||||
|
|
@ -348,6 +383,7 @@ class TasksFragment : AppViewsFragment<ViewBinding, UiState, ViewModel>(), OnTab
|
|||
})
|
||||
}
|
||||
|
||||
|
||||
private fun handleDailyVideoButClicked(itemIndex: Int) {
|
||||
val subTaskList = TaskManager.instance().dailyWatchVideoStatus().getStatusBean().getSubTaskRewardState()
|
||||
if (itemIndex >= 0 && itemIndex < subTaskList.size) {
|
||||
|
|
|
|||
|
|
@ -4,14 +4,11 @@ import android.content.Context
|
|||
import android.util.AttributeSet
|
||||
import android.view.LayoutInflater
|
||||
import android.widget.LinearLayout
|
||||
import com.ama.core.architecture.util.ResUtil
|
||||
import com.ama.core.architecture.util.setOnClickBatch
|
||||
import com.gamedog.vididin.R
|
||||
import com.gamedog.vididin.VidiConst
|
||||
import com.gamedog.vididin.databinding.BeginnerTaskItemViewBinding
|
||||
import com.gamedog.vididin.main.fragments.task.Task
|
||||
import com.gamedog.vididin.manager.TaskManager
|
||||
import com.gamedog.vididin.manager.helpers.NewbieEnableNotifyHelper
|
||||
|
||||
|
||||
class BeginnerTaskItemView @JvmOverloads constructor(
|
||||
|
|
@ -60,10 +57,16 @@ class BeginnerTaskItemView @JvmOverloads constructor(
|
|||
mBinding.tvRewardNum.setTextColor(color)
|
||||
}
|
||||
|
||||
fun setTaskStateInfo(rewardNum: String, textRes: Int, describleStr: String) {
|
||||
fun setTaskStateInfo(
|
||||
rewardNum: String,
|
||||
textRes: Int,
|
||||
describleStr: String,
|
||||
hasClaimReward: Boolean
|
||||
) {
|
||||
mBinding.tvRewardNum.text = rewardNum
|
||||
mBinding.tvAction.setText(textRes)
|
||||
mBinding.tvItemDescrible.text = describleStr
|
||||
mBinding.tvAction.isClickable = !hasClaimReward
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -27,12 +27,15 @@ class NewbieEnableNotifyHelper: BaseTaskHelper<TaskStateNewBieEnableNotify, Task
|
|||
return TaskStateNewBieEnableNotify(mTaskConfig.reward_value)
|
||||
}
|
||||
|
||||
fun claimReward() {
|
||||
fun claimReward() : Boolean {
|
||||
if (!mStateBean.hasClaimReward) {
|
||||
AccountManager.addGold(mStateBean.rewardGoldNum)
|
||||
mStateBean.hasClaimReward = true
|
||||
saveState2Sp()
|
||||
notifyStateChangeEvent()
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
private fun notifyStateChangeEvent() {
|
||||
|
|
|
|||
|
|
@ -25,12 +25,15 @@ class NewbieFirstWithdrawHelper: BaseTaskHelper<TaskStateNewBieFirstWithDraw, Ta
|
|||
return TaskStateNewBieFirstWithDraw(mTaskConfig.reward_value)
|
||||
}
|
||||
|
||||
fun claimReward() {
|
||||
fun claimReward(): Boolean {
|
||||
if (!mStateBean.hasClaimReward) {
|
||||
AccountManager.addGold(mStateBean.rewardGoldNum)
|
||||
mStateBean.hasClaimReward = true
|
||||
saveState2Sp()
|
||||
notifyStateChangeEvent()
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
private fun notifyStateChangeEvent() {
|
||||
|
|
|
|||
|
|
@ -25,12 +25,15 @@ class NewbieJoinDiscordHelper: BaseTaskHelper<TaskStateNewBieJoinDiscord, Task>(
|
|||
return TaskStateNewBieJoinDiscord(mTaskConfig.reward_value)
|
||||
}
|
||||
|
||||
fun claimReward() {
|
||||
fun claimReward() : Boolean {
|
||||
if (!mStateBean.hasClaimReward) {
|
||||
AccountManager.addGold(mStateBean.rewardGoldNum)
|
||||
mStateBean.hasClaimReward = true
|
||||
saveState2Sp()
|
||||
notifyStateChangeEvent()
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
private fun notifyStateChangeEvent() {
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ import android.os.Build
|
|||
import android.os.Bundle
|
||||
import android.provider.Settings
|
||||
import android.widget.Toast
|
||||
import androidx.core.app.NotificationManagerCompat
|
||||
import com.ama.core.architecture.BaseApp
|
||||
import kotlin.random.Random
|
||||
|
||||
|
|
@ -65,6 +66,10 @@ class AndroidUtil private constructor() {
|
|||
|
||||
|
||||
|
||||
fun isNotificationEnabled(): Boolean {
|
||||
return NotificationManagerCompat.from(BaseApp.appContext()).areNotificationsEnabled()
|
||||
}
|
||||
|
||||
|
||||
|
||||
fun getAppVersionInfo(): String {
|
||||
|
|
|
|||
Loading…
Reference in New Issue