子任务根据state 刷新
This commit is contained in:
parent
e6c0220019
commit
0bf9922be7
|
|
@ -27,6 +27,8 @@ import com.gamedog.vididin.main.MainViewModel as ViewModel
|
|||
@AndroidEntryPoint
|
||||
class BenefitActivity : AppViewsActivity<ViewBinding, UiState, ViewModel>(), OnTabStyleListener {
|
||||
|
||||
private val mSubTaskViewList = mutableListOf<BenefitTaskItemView>()
|
||||
|
||||
|
||||
override val mViewModel: ViewModel by viewModels()
|
||||
override fun inflateViewBinding(inflater: LayoutInflater) = ViewBinding.inflate(inflater)
|
||||
|
|
@ -64,6 +66,7 @@ class BenefitActivity : AppViewsActivity<ViewBinding, UiState, ViewModel>(), OnT
|
|||
|
||||
private fun initViewsByTaskState() {
|
||||
initAddSubTaskViews()
|
||||
updateSubTasksUI()
|
||||
updateTopBoxesUI()
|
||||
}
|
||||
|
||||
|
|
@ -81,10 +84,22 @@ class BenefitActivity : AppViewsActivity<ViewBinding, UiState, ViewModel>(), 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()
|
||||
|
|
|
|||
|
|
@ -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})"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -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<TaskStateBoxRoot, BoxTaskRoot>() {
|
|||
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="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>
|
||||
Loading…
Reference in New Issue