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