子任务根据state 刷新
This commit is contained in:
parent
e6c0220019
commit
0bf9922be7
|
|
@ -27,6 +27,8 @@ import com.gamedog.vididin.main.MainViewModel as ViewModel
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class BenefitActivity : AppViewsActivity<ViewBinding, UiState, ViewModel>(), OnTabStyleListener {
|
class BenefitActivity : AppViewsActivity<ViewBinding, UiState, ViewModel>(), OnTabStyleListener {
|
||||||
|
|
||||||
|
private val mSubTaskViewList = mutableListOf<BenefitTaskItemView>()
|
||||||
|
|
||||||
|
|
||||||
override val mViewModel: ViewModel by viewModels()
|
override val mViewModel: ViewModel by viewModels()
|
||||||
override fun inflateViewBinding(inflater: LayoutInflater) = ViewBinding.inflate(inflater)
|
override fun inflateViewBinding(inflater: LayoutInflater) = ViewBinding.inflate(inflater)
|
||||||
|
|
@ -64,6 +66,7 @@ class BenefitActivity : AppViewsActivity<ViewBinding, UiState, ViewModel>(), OnT
|
||||||
|
|
||||||
private fun initViewsByTaskState() {
|
private fun initViewsByTaskState() {
|
||||||
initAddSubTaskViews()
|
initAddSubTaskViews()
|
||||||
|
updateSubTasksUI()
|
||||||
updateTopBoxesUI()
|
updateTopBoxesUI()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -81,10 +84,22 @@ class BenefitActivity : AppViewsActivity<ViewBinding, UiState, ViewModel>(), OnT
|
||||||
subViewParam.topMargin = ResUtil.getPixelSize(R.dimen.dp10)
|
subViewParam.topMargin = ResUtil.getPixelSize(R.dimen.dp10)
|
||||||
subViewParam.bottomMargin = ResUtil.getPixelSize(R.dimen.dp10)
|
subViewParam.bottomMargin = ResUtil.getPixelSize(R.dimen.dp10)
|
||||||
binding.llSubTaskContainer.addView(subTaskView, subViewParam)
|
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() {
|
private fun updateTopBoxesUI() {
|
||||||
val taskStateHelper = TaskManager.instance().boxTaskStatus()
|
val taskStateHelper = TaskManager.instance().boxTaskStatus()
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,8 @@ import android.view.LayoutInflater
|
||||||
import android.widget.LinearLayout
|
import android.widget.LinearLayout
|
||||||
import com.ama.core.architecture.util.setOnClickBatch
|
import com.ama.core.architecture.util.setOnClickBatch
|
||||||
import com.gamedog.vididin.databinding.BenefitTaskItemViewBinding
|
import com.gamedog.vididin.databinding.BenefitTaskItemViewBinding
|
||||||
|
import com.gamedog.vididin.manager.TaskManager
|
||||||
|
import com.gamedog.vididin.manager.taskbeans.TaskStateBoxSub
|
||||||
|
|
||||||
|
|
||||||
class BenefitTaskItemView @JvmOverloads constructor(
|
class BenefitTaskItemView @JvmOverloads constructor(
|
||||||
|
|
@ -40,11 +42,17 @@ class BenefitTaskItemView @JvmOverloads constructor(
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fun setProgressInfo(progress: String) {
|
fun updateUIByState(subTaskState: TaskStateBoxSub, boxIndex: Int, subTaskIndex: Int) {
|
||||||
mBinding.tvProgressInfo.text = progress
|
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})"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -2,6 +2,7 @@ package com.gamedog.vididin.manager.helpers
|
||||||
|
|
||||||
import com.ama.core.architecture.util.DateUtil
|
import com.ama.core.architecture.util.DateUtil
|
||||||
import com.ama.core.architecture.util.SpUtil
|
import com.ama.core.architecture.util.SpUtil
|
||||||
|
import com.gamedog.vididin.R
|
||||||
import com.gamedog.vididin.main.fragments.task.BoxTaskRoot
|
import com.gamedog.vididin.main.fragments.task.BoxTaskRoot
|
||||||
import com.gamedog.vididin.manager.taskbeans.TaskStateBox
|
import com.gamedog.vididin.manager.taskbeans.TaskStateBox
|
||||||
import com.gamedog.vididin.manager.taskbeans.TaskStateBoxRoot
|
import com.gamedog.vididin.manager.taskbeans.TaskStateBoxRoot
|
||||||
|
|
@ -115,8 +116,58 @@ class BoxTaskHelper: BaseTaskHelper<TaskStateBoxRoot, BoxTaskRoot>() {
|
||||||
return waitClaimCashNum
|
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
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -95,4 +95,14 @@
|
||||||
<string name="benefit">Benefícios</string>
|
<string name="benefit">Benefícios</string>
|
||||||
|
|
||||||
|
|
||||||
|
<string name="box_subtask_hint_1_1">Assistir a 1 anúncio</string>
|
||||||
|
<string name="box_subtask_hint_1_2">Assistir a 3 vídeos</string>
|
||||||
|
<string name="box_subtask_hint_1_3">Concluir 1 check-in</string>
|
||||||
|
<string name="box_subtask_hint_2_1">Assistir a 15 anúncios</string>
|
||||||
|
<string name="box_subtask_hint_2_2">Assistir a 30 vídeos</string>
|
||||||
|
<string name="box_subtask_hint_2_3">Participar de 1 compra gratuita</string>
|
||||||
|
<string name="box_subtask_hint_3_1">Assistir a 30 anúncios</string>
|
||||||
|
<string name="box_subtask_hint_3_2">Assistir a 50 vídeos</string>
|
||||||
|
<string name="box_subtask_hint_3_3">Participar de 10 compras gratuitas</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
Loading…
Reference in New Issue