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 621617a..8495da6 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 @@ -27,6 +27,8 @@ import com.gamedog.vididin.main.MainViewModel as ViewModel @AndroidEntryPoint class BenefitActivity : AppViewsActivity(), OnTabStyleListener { + private val mSubTaskViewList = mutableListOf() + override val mViewModel: ViewModel by viewModels() override fun inflateViewBinding(inflater: LayoutInflater) = ViewBinding.inflate(inflater) @@ -64,6 +66,7 @@ class BenefitActivity : AppViewsActivity(), OnT private fun initViewsByTaskState() { initAddSubTaskViews() + updateSubTasksUI() updateTopBoxesUI() } @@ -81,10 +84,22 @@ class BenefitActivity : AppViewsActivity(), OnT subViewParam.topMargin = ResUtil.getPixelSize(R.dimen.dp10) subViewParam.bottomMargin = ResUtil.getPixelSize(R.dimen.dp10) binding.llSubTaskContainer.addView(subTaskView, subViewParam) + + mSubTaskViewList.add(subTaskView) } } + private fun updateSubTasksUI() { + val taskStateHelper = TaskManager.instance().boxTaskStatus() + val currentBoxIndex = taskStateHelper.getCurrentBoxIndex() + val subTaskStateList = taskStateHelper.getStatusBean().tasks[currentBoxIndex].tasks + if (subTaskStateList.size == mSubTaskViewList.size) { + mSubTaskViewList.forEachIndexed { index, view -> + view.updateUIByState(subTaskStateList[index], currentBoxIndex,index) + } + } + } private fun updateTopBoxesUI() { val taskStateHelper = TaskManager.instance().boxTaskStatus() diff --git a/app/src/main/java/com/gamedog/vididin/features/benefit/widget/BenefitTaskItemView.kt b/app/src/main/java/com/gamedog/vididin/features/benefit/widget/BenefitTaskItemView.kt index 345db02..2e71a0e 100644 --- a/app/src/main/java/com/gamedog/vididin/features/benefit/widget/BenefitTaskItemView.kt +++ b/app/src/main/java/com/gamedog/vididin/features/benefit/widget/BenefitTaskItemView.kt @@ -6,6 +6,8 @@ import android.view.LayoutInflater import android.widget.LinearLayout import com.ama.core.architecture.util.setOnClickBatch import com.gamedog.vididin.databinding.BenefitTaskItemViewBinding +import com.gamedog.vididin.manager.TaskManager +import com.gamedog.vididin.manager.taskbeans.TaskStateBoxSub class BenefitTaskItemView @JvmOverloads constructor( @@ -40,11 +42,17 @@ class BenefitTaskItemView @JvmOverloads constructor( } - fun setProgressInfo(progress: String) { - mBinding.tvProgressInfo.text = progress + fun updateUIByState(subTaskState: TaskStateBoxSub, boxIndex: Int, subTaskIndex: Int) { + with (mBinding) { + val finishNum = if (subTaskState.finishedNum > subTaskState.required_count) subTaskState.required_count else subTaskState.finishedNum + val progressNum: Int = finishNum * 100 / subTaskState.required_count + + //ivItemIcon.setImageResource(R.mipmap.icon_cash_s) + tvItemTitle.setText(TaskManager.instance().boxTaskStatus().getSubTaskHintStrRes(boxIndex, subTaskIndex)) + progressBar.setProgress(progressNum) + tvProgressInfo.text = "($finishNum/${subTaskState.required_count})" + } } - - } \ No newline at end of file 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 155d890..d214a31 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.gamedog.vididin.R import com.gamedog.vididin.main.fragments.task.BoxTaskRoot import com.gamedog.vididin.manager.taskbeans.TaskStateBox import com.gamedog.vididin.manager.taskbeans.TaskStateBoxRoot @@ -115,8 +116,58 @@ class BoxTaskHelper: BaseTaskHelper() { return waitClaimCashNum } + fun getSubTaskHintStrRes(boxIndex: Int, subTaskIndex: Int): Int { + when (boxIndex) { + 0-> { + when (boxIndex) { + 0-> { + return R.string.box_subtask_hint_1_1 + } + 1-> { + return R.string.box_subtask_hint_1_1 + } + 2-> { + return R.string.box_subtask_hint_1_1 + } + } + } + 1-> { + when (boxIndex) { + 0-> { + return R.string.box_subtask_hint_2_1 + } + + 1-> { + return R.string.box_subtask_hint_2_1 + } + + 2-> { + return R.string.box_subtask_hint_2_1 + } + } + } + + 2-> { + when (boxIndex) { + 0-> { + return R.string.box_subtask_hint_3_1 + } + + 1-> { + return R.string.box_subtask_hint_3_1 + } + + 2-> { + return R.string.box_subtask_hint_3_1 + } + } + } + } + + return 0 + } } \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a5202b7..b018525 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -95,4 +95,14 @@ Benefícios + Assistir a 1 anúncio + Assistir a 3 vídeos + Concluir 1 check-in + Assistir a 15 anúncios + Assistir a 30 vídeos + Participar de 1 compra gratuita + Assistir a 30 anúncios + Assistir a 50 vídeos + Participar de 10 compras gratuitas + \ No newline at end of file