修改获取金币逻辑为 手动获取
This commit is contained in:
parent
32d201030d
commit
93543545c5
|
|
@ -156,8 +156,8 @@ class TasksFragment : AppViewsFragment<ViewBinding, UiState, ViewModel>(), OnTab
|
||||||
mDailyWatchVideoAdViewList.add(watchTaskItemView)
|
mDailyWatchVideoAdViewList.add(watchTaskItemView)
|
||||||
|
|
||||||
binding?.dailyTasksContainer!!.run {
|
binding?.dailyTasksContainer!!.run {
|
||||||
watchTaskItemView.initUI(R.mipmap.icon_video_task, R.string.daily_video_task_title,
|
watchTaskItemView.initUI(R.mipmap.icon_ad, R.string.daily_ad_task_title,
|
||||||
detail.target_count, detail.value, if (index == 0) R.string.resgatar else R.string.go_and_do)
|
detail.target_count, detail.value)
|
||||||
|
|
||||||
addView(watchTaskItemView, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT)
|
addView(watchTaskItemView, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT)
|
||||||
if (true) {
|
if (true) {
|
||||||
|
|
@ -183,7 +183,7 @@ class TasksFragment : AppViewsFragment<ViewBinding, UiState, ViewModel>(), OnTab
|
||||||
|
|
||||||
binding?.dailyTasksContainer!!.run {
|
binding?.dailyTasksContainer!!.run {
|
||||||
watchTaskItemView.initUI(R.mipmap.icon_video_task, R.string.daily_video_task_title,
|
watchTaskItemView.initUI(R.mipmap.icon_video_task, R.string.daily_video_task_title,
|
||||||
detail.target_count, detail.value, if (index == 0) R.string.resgatar else R.string.go_and_do)
|
detail.target_count, detail.value)
|
||||||
|
|
||||||
addView(watchTaskItemView, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT)
|
addView(watchTaskItemView, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT)
|
||||||
if (index != dailyWatchVideoTask.reward_details.size - 1) {
|
if (index != dailyWatchVideoTask.reward_details.size - 1) {
|
||||||
|
|
@ -205,16 +205,18 @@ class TasksFragment : AppViewsFragment<ViewBinding, UiState, ViewModel>(), OnTab
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun updateDailyWatchVideoUI() {
|
private fun updateDailyWatchVideoUI() {
|
||||||
val statusBean = TaskManager.instance().dailyWatchVideoStatus().getStatus()
|
val statusBean = TaskManager.instance().dailyWatchVideoStatus().getStatusBean()
|
||||||
|
val subTaskStatusList = statusBean.getSubTaskRewardState()
|
||||||
mDailyWatchVideoTaskViewList.forEachIndexed { index, view ->
|
mDailyWatchVideoTaskViewList.forEachIndexed { index, view ->
|
||||||
view.updateProgress(statusBean.getTodayWatchedCount())
|
view.updateProgress(statusBean.getTodayWatchedCount(), subTaskStatusList[index].state)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun updateDailyWatchAdUI() {
|
private fun updateDailyWatchAdUI() {
|
||||||
val statusBean = TaskManager.instance().dailyWatchAdStatus().getStatus()
|
val statusBean = TaskManager.instance().dailyWatchAdStatus().getStatusBean()
|
||||||
|
val subTaskStatusList = statusBean.getSubTaskRewardState()
|
||||||
mDailyWatchVideoAdViewList.forEachIndexed { index, view ->
|
mDailyWatchVideoAdViewList.forEachIndexed { index, view ->
|
||||||
view.updateProgress(statusBean.getTodayWatchedAdCount())
|
view.updateProgress(statusBean.getTodayWatchedAdCount(), subTaskStatusList[index].state)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,11 @@ 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.ResUtil
|
||||||
import com.ama.core.architecture.util.setOnClickBatch
|
import com.ama.core.architecture.util.setOnClickBatch
|
||||||
|
import com.gamedog.vididin.R
|
||||||
import com.gamedog.vididin.databinding.DailyTaskItemViewBinding
|
import com.gamedog.vididin.databinding.DailyTaskItemViewBinding
|
||||||
|
import com.gamedog.vididin.manager.taskbeans.BaseTaskState.Companion.STATE_CLAIMED
|
||||||
|
import com.gamedog.vididin.manager.taskbeans.BaseTaskState.Companion.STATE_FINISH
|
||||||
|
import com.gamedog.vididin.manager.taskbeans.BaseTaskState.Companion.STATE_ONGOING
|
||||||
|
|
||||||
|
|
||||||
class DailyTaskItemView @JvmOverloads constructor(
|
class DailyTaskItemView @JvmOverloads constructor(
|
||||||
|
|
@ -35,23 +39,50 @@ class DailyTaskItemView @JvmOverloads constructor(
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
fun initUI(titleIconRes: Int, titleRes: Int, videosNum: Int, goldReward: Int, actionRes: Int) {
|
fun initUI(titleIconRes: Int, titleRes: Int, videosNum: Int, goldReward: Int) {
|
||||||
mRewardNum = goldReward
|
mRewardNum = goldReward
|
||||||
mNeedWatchTotal = videosNum
|
mNeedWatchTotal = videosNum
|
||||||
|
|
||||||
mBinding.ivItemIcon.setImageResource(titleIconRes)
|
mBinding.ivItemIcon.setImageResource(titleIconRes)
|
||||||
mBinding.tvItemTitle.text = String.format(ResUtil.getString(titleRes), videosNum)
|
mBinding.tvItemTitle.text = String.format(ResUtil.getString(titleRes), videosNum)
|
||||||
mBinding.tvAction.setText(actionRes)
|
|
||||||
mBinding.tvRewardNum.text = "+$goldReward"
|
mBinding.tvRewardNum.text = "+$goldReward"
|
||||||
mBinding.tvItemProgress.text = "(0/$videosNum)"
|
mBinding.tvItemProgress.text = "(0/$videosNum)"
|
||||||
}
|
}
|
||||||
|
|
||||||
fun updateProgress(finishVideoNum: Int) {
|
fun updateProgress(watchedCount: Int, subTaskState: Int) {
|
||||||
val showWatchedNum = if (finishVideoNum > mNeedWatchTotal) mNeedWatchTotal else finishVideoNum
|
doUpdateProgress(watchedCount)
|
||||||
mBinding.tvItemProgress.text = "($showWatchedNum/$mNeedWatchTotal)"
|
|
||||||
mBinding.itemProgress.setProgress(100*showWatchedNum/mNeedWatchTotal)
|
with(mBinding.tvAction) {
|
||||||
|
when(subTaskState) {
|
||||||
|
STATE_ONGOING -> {
|
||||||
|
setText(R.string.go_and_do)
|
||||||
|
setBackgroundResource(R.drawable.bg_sub_task_normal)
|
||||||
|
isClickable = true
|
||||||
|
alpha = 1F
|
||||||
|
}
|
||||||
|
|
||||||
|
STATE_FINISH -> {
|
||||||
|
setText(R.string.resgatar)
|
||||||
|
setBackgroundResource(R.drawable.bg_sub_task_normal)
|
||||||
|
isClickable = true
|
||||||
|
alpha = 1F
|
||||||
|
}
|
||||||
|
|
||||||
|
STATE_CLAIMED -> {
|
||||||
|
setText(R.string.Resgatado)
|
||||||
|
setBackgroundResource(R.drawable.bg_sub_task_normal)
|
||||||
|
isClickable = false
|
||||||
|
alpha = 0.4F
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun doUpdateProgress(finishNum: Int) {
|
||||||
|
val properShowNumForCurSubTask = if (finishNum > mNeedWatchTotal) mNeedWatchTotal else finishNum
|
||||||
|
mBinding.tvItemProgress.text = "($properShowNumForCurSubTask/$mNeedWatchTotal)"
|
||||||
|
mBinding.itemProgress.setProgress(100*properShowNumForCurSubTask/mNeedWatchTotal)
|
||||||
|
}
|
||||||
|
|
||||||
fun setActionFun(action: ()->Unit) {
|
fun setActionFun(action: ()->Unit) {
|
||||||
mAction = action
|
mAction = action
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@ abstract class BaseTaskHelper<T: Any> {
|
||||||
SpUtil.instance().putObject(mSpKey, mStateBean)
|
SpUtil.instance().putObject(mSpKey, mStateBean)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getStatus() : T {
|
fun getStatusBean() : T {
|
||||||
return mStateBean
|
return mStateBean
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,14 @@
|
||||||
package com.gamedog.vididin.manager.helpers
|
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.ResUtil
|
|
||||||
import com.ama.core.architecture.util.SpUtil
|
import com.ama.core.architecture.util.SpUtil
|
||||||
import com.ama.core.architecture.util.eventbus.NotifyMan
|
import com.ama.core.architecture.util.eventbus.NotifyMan
|
||||||
import com.gamedog.vididin.R
|
import com.gamedog.vididin.R
|
||||||
import com.gamedog.vididin.VididinEvents
|
import com.gamedog.vididin.VididinEvents
|
||||||
import com.gamedog.vididin.core.login.login.AccountManager
|
import com.gamedog.vididin.core.login.login.AccountManager
|
||||||
|
import com.gamedog.vididin.manager.taskbeans.BaseTaskState.Companion.STATE_CLAIMED
|
||||||
|
import com.gamedog.vididin.manager.taskbeans.BaseTaskState.Companion.STATE_FINISH
|
||||||
|
import com.gamedog.vididin.manager.taskbeans.BaseTaskState.Companion.STATE_ONGOING
|
||||||
import com.gamedog.vididin.manager.taskbeans.TaskStateWatchAd
|
import com.gamedog.vididin.manager.taskbeans.TaskStateWatchAd
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -55,7 +57,7 @@ class DailyWatchAdTaskHelper : BaseTaskHelper<TaskStateWatchAd>() {
|
||||||
mStateBean.run {
|
mStateBean.run {
|
||||||
if (!isAllTaskFinish()) {
|
if (!isAllTaskFinish()) {
|
||||||
addWatchedCount(newAdWatchedNum)
|
addWatchedCount(newAdWatchedNum)
|
||||||
checkSubTaskFinishState()
|
calculateNewState()
|
||||||
saveState2Sp()
|
saveState2Sp()
|
||||||
notifyEvents()
|
notifyEvents()
|
||||||
}
|
}
|
||||||
|
|
@ -63,29 +65,36 @@ class DailyWatchAdTaskHelper : BaseTaskHelper<TaskStateWatchAd>() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fun checkSubTaskFinishState() {
|
fun calculateNewState() {
|
||||||
val todayWatchedCount = mStateBean.getTodayWatchedAdCount()
|
val todayWatchedCount = mStateBean.getTodayWatchedAdCount()
|
||||||
|
|
||||||
mStateBean.getSubTaskRewardState().forEachIndexed { index, subTaskState ->
|
mStateBean.getSubTaskRewardState().forEachIndexed { index, subTaskState ->
|
||||||
if (!subTaskState.isFinish && todayWatchedCount >= subTaskState.mTargetAdCount) {
|
val targetCount = subTaskState.mTargetAdCount
|
||||||
AccountManager.addGold(subTaskState.mRewardNum)
|
when(subTaskState.state) {
|
||||||
subTaskState.isFinish = true
|
STATE_ONGOING -> {
|
||||||
}
|
if (todayWatchedCount >= targetCount) {
|
||||||
}
|
subTaskState.state = STATE_FINISH
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getAdTaskShowingText() : String {
|
|
||||||
if (mStateBean.isAllTaskFinish()) {
|
|
||||||
return ResUtil.getString(R.string.done)
|
|
||||||
} else {
|
|
||||||
val subTaskStatusList = mStateBean.getSubTaskRewardState()
|
|
||||||
subTaskStatusList.forEach {
|
|
||||||
if (!it.isFinish) {
|
|
||||||
return it.mRewardNum.toString()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return ""
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun claimSubTaskReward(subTaskIndex: Int) : Boolean {
|
||||||
|
if (subTaskIndex >= 0 && subTaskIndex < mStateBean.getSubTaskRewardState().size) {
|
||||||
|
try {
|
||||||
|
val subTask = mStateBean.getSubTaskRewardState()[subTaskIndex]
|
||||||
|
if (subTask.state == STATE_FINISH) {
|
||||||
|
AccountManager.addGold(subTask.mRewardNum)
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
} catch (e: Exception) {
|
||||||
|
e.printStackTrace()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -5,6 +5,8 @@ import com.ama.core.architecture.util.SpUtil
|
||||||
import com.ama.core.architecture.util.eventbus.NotifyMan
|
import com.ama.core.architecture.util.eventbus.NotifyMan
|
||||||
import com.gamedog.vididin.VididinEvents
|
import com.gamedog.vididin.VididinEvents
|
||||||
import com.gamedog.vididin.core.login.login.AccountManager
|
import com.gamedog.vididin.core.login.login.AccountManager
|
||||||
|
import com.gamedog.vididin.manager.taskbeans.BaseTaskState.Companion.STATE_FINISH
|
||||||
|
import com.gamedog.vididin.manager.taskbeans.BaseTaskState.Companion.STATE_ONGOING
|
||||||
import com.gamedog.vididin.manager.taskbeans.DailyStateWatchVideoBean
|
import com.gamedog.vididin.manager.taskbeans.DailyStateWatchVideoBean
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -50,7 +52,7 @@ class DailyWatchVideoTaskHelper : BaseTaskHelper<DailyStateWatchVideoBean>() {
|
||||||
mStateBean.run {
|
mStateBean.run {
|
||||||
if (!isAllTaskFinish()) {
|
if (!isAllTaskFinish()) {
|
||||||
if (addWatchedVideoInfo(dataPair)) {
|
if (addWatchedVideoInfo(dataPair)) {
|
||||||
checkSubTaskFinishState()
|
calculateNewState()
|
||||||
saveState2Sp()
|
saveState2Sp()
|
||||||
notifyEvents()
|
notifyEvents()
|
||||||
}
|
}
|
||||||
|
|
@ -59,16 +61,35 @@ class DailyWatchVideoTaskHelper : BaseTaskHelper<DailyStateWatchVideoBean>() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fun checkSubTaskFinishState() {
|
fun calculateNewState() {
|
||||||
val todayWatchedCount = mStateBean.getTodayWatchedCount()
|
val todayWatchedCount = mStateBean.getTodayWatchedCount()
|
||||||
|
|
||||||
mStateBean.getSubTaskRewardState().forEachIndexed { index, subTaskState ->
|
mStateBean.getSubTaskRewardState().forEachIndexed { index, subTaskState ->
|
||||||
if (!subTaskState.isFinish && todayWatchedCount >= subTaskState.mTargetVideoCount) {
|
val targetCount = subTaskState.mTargetVideoCount
|
||||||
AccountManager.addGold(subTaskState.mRewardNum)
|
when(subTaskState.state) {
|
||||||
subTaskState.isFinish = true
|
STATE_ONGOING -> {
|
||||||
|
if (todayWatchedCount >= targetCount) {
|
||||||
|
subTaskState.state = STATE_FINISH
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun claimSubTaskReward(subTaskIndex: Int) : Boolean {
|
||||||
|
if (subTaskIndex >= 0 && subTaskIndex < mStateBean.getSubTaskRewardState().size) {
|
||||||
|
try {
|
||||||
|
val subTask = mStateBean.getSubTaskRewardState()[subTaskIndex]
|
||||||
|
if (subTask.state == STATE_FINISH) {
|
||||||
|
AccountManager.addGold(subTask.mRewardNum)
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
} catch (e: Exception) {
|
||||||
|
e.printStackTrace()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
package com.gamedog.vididin.manager.taskbeans
|
||||||
|
|
||||||
|
import kotlinx.serialization.Serializable
|
||||||
|
|
||||||
|
|
||||||
|
@Serializable
|
||||||
|
abstract class BaseTaskState {
|
||||||
|
companion object {
|
||||||
|
const val STATE_ONGOING = 1
|
||||||
|
const val STATE_FINISH = 2
|
||||||
|
const val STATE_CLAIMED = 3
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -6,7 +6,7 @@ import java.io.Serializable
|
||||||
data class TaskDailySignBean(
|
data class TaskDailySignBean(
|
||||||
var startDurationMs: Long = 0,
|
var startDurationMs: Long = 0,
|
||||||
val signStateList: MutableList<DailySignDayInfoBean> = mutableListOf()
|
val signStateList: MutableList<DailySignDayInfoBean> = mutableListOf()
|
||||||
): Serializable {
|
): BaseTaskState() {
|
||||||
init {
|
init {
|
||||||
signStateList.add(DailySignDayInfoBean())
|
signStateList.add(DailySignDayInfoBean())
|
||||||
signStateList.add(DailySignDayInfoBean())
|
signStateList.add(DailySignDayInfoBean())
|
||||||
|
|
|
||||||
|
|
@ -2,13 +2,13 @@ package com.gamedog.vididin.manager.taskbeans
|
||||||
|
|
||||||
|
|
||||||
import com.gamedog.vididin.main.fragments.task.RewardDetail
|
import com.gamedog.vididin.main.fragments.task.RewardDetail
|
||||||
import java.io.Serializable
|
import com.gamedog.vididin.manager.taskbeans.BaseTaskState.Companion.STATE_ONGOING
|
||||||
import kotlin.collections.forEach
|
import kotlin.collections.forEach
|
||||||
|
|
||||||
|
|
||||||
data class TaskStateWatchAd(
|
data class TaskStateWatchAd(
|
||||||
var todayMs: Long = 0,
|
var todayMs: Long = 0,
|
||||||
): Serializable {
|
): BaseTaskState() {
|
||||||
|
|
||||||
private var mWatchAdCount: Int = 0
|
private var mWatchAdCount: Int = 0
|
||||||
private val mSubTaskRewardState: MutableList<SubAdTaskBean> = mutableListOf()
|
private val mSubTaskRewardState: MutableList<SubAdTaskBean> = mutableListOf()
|
||||||
|
|
@ -21,14 +21,14 @@ data class TaskStateWatchAd(
|
||||||
}
|
}
|
||||||
|
|
||||||
fun isAllTaskFinish(): Boolean {
|
fun isAllTaskFinish(): Boolean {
|
||||||
return mSubTaskRewardState.all { it.isFinish }
|
return mSubTaskRewardState.all { it.state > STATE_ONGOING }
|
||||||
}
|
}
|
||||||
|
|
||||||
fun initSubTaskRewardList(subTasks: List<RewardDetail>) {
|
fun initSubTaskRewardList(subTasks: List<RewardDetail>) {
|
||||||
mSubTaskRewardState.clear()
|
mSubTaskRewardState.clear()
|
||||||
|
|
||||||
subTasks.forEach {
|
subTasks.forEach {
|
||||||
mSubTaskRewardState.add(SubAdTaskBean(it.value, it.target_count, false))
|
mSubTaskRewardState.add(SubAdTaskBean(it.value, it.target_count, STATE_ONGOING))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -47,7 +47,7 @@ data class TaskStateWatchAd(
|
||||||
data class SubAdTaskBean(
|
data class SubAdTaskBean(
|
||||||
val mRewardNum: Int,
|
val mRewardNum: Int,
|
||||||
val mTargetAdCount: Int,
|
val mTargetAdCount: Int,
|
||||||
var isFinish: Boolean = false,)
|
var state: Int = STATE_ONGOING,)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
package com.gamedog.vididin.manager.taskbeans
|
package com.gamedog.vididin.manager.taskbeans
|
||||||
|
|
||||||
import com.gamedog.vididin.main.fragments.task.RewardDetail
|
import com.gamedog.vididin.main.fragments.task.RewardDetail
|
||||||
import java.io.Serializable
|
import com.gamedog.vididin.manager.taskbeans.BaseTaskState.Companion.STATE_ONGOING
|
||||||
import java.util.concurrent.ConcurrentHashMap
|
import java.util.concurrent.ConcurrentHashMap
|
||||||
|
|
||||||
|
|
||||||
data class DailyStateWatchVideoBean(
|
data class DailyStateWatchVideoBean(
|
||||||
var todayMs: Long = 0,
|
var todayMs: Long = 0,
|
||||||
): Serializable {
|
): BaseTaskState() {
|
||||||
|
|
||||||
private val mWatchedMap = ConcurrentHashMap<String, Long>()
|
private val mWatchedMap = ConcurrentHashMap<String, Long>()
|
||||||
private val mSubTaskRewardState: MutableList<SubTaskBean> = mutableListOf()
|
private val mSubTaskRewardState: MutableList<SubTaskBean> = mutableListOf()
|
||||||
|
|
@ -36,14 +36,14 @@ data class DailyStateWatchVideoBean(
|
||||||
}
|
}
|
||||||
|
|
||||||
fun isAllTaskFinish(): Boolean {
|
fun isAllTaskFinish(): Boolean {
|
||||||
return mSubTaskRewardState.all { it.isFinish }
|
return mSubTaskRewardState.all { it.state >= STATE_CLAIMED }
|
||||||
}
|
}
|
||||||
|
|
||||||
fun initSubTaskRewardList(subTasks: List<RewardDetail>) {
|
fun initSubTaskRewardList(subTasks: List<RewardDetail>) {
|
||||||
mSubTaskRewardState.clear()
|
mSubTaskRewardState.clear()
|
||||||
|
|
||||||
subTasks.forEach {
|
subTasks.forEach {
|
||||||
mSubTaskRewardState.add(SubTaskBean(it.value, it.target_count, false))
|
mSubTaskRewardState.add(SubTaskBean(it.value, it.target_count, STATE_ONGOING))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -54,5 +54,5 @@ data class DailyStateWatchVideoBean(
|
||||||
data class SubTaskBean(
|
data class SubTaskBean(
|
||||||
val mRewardNum: Int,
|
val mRewardNum: Int,
|
||||||
val mTargetVideoCount: Int,
|
val mTargetVideoCount: Int,
|
||||||
var isFinish: Boolean = false,)
|
var state: Int = STATE_ONGOING,)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape android:shape="rectangle"
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<solid android:color="#ff938a84" />
|
||||||
|
<corners android:topLeftRadius="42dp" android:topRightRadius="42dp" android:bottomLeftRadius="42dp" android:bottomRightRadius="42dp" />
|
||||||
|
</shape>
|
||||||
|
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<shape android:shape="rectangle"
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<gradient android:type="linear" android:useLevel="true" android:startColor="#ffff2a2a"
|
||||||
|
android:endColor="#ffff862f" android:angle="90" />
|
||||||
|
<corners android:topLeftRadius="45dp" android:topRightRadius="45dp"
|
||||||
|
android:bottomLeftRadius="45dp" android:bottomRightRadius="45dp" />
|
||||||
|
</shape>
|
||||||
|
|
||||||
|
|
@ -112,11 +112,11 @@
|
||||||
android:layout_alignParentRight="true"
|
android:layout_alignParentRight="true"
|
||||||
android:layout_marginLeft="9dp"
|
android:layout_marginLeft="9dp"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:background="@drawable/vididinapp_feature_message_bg_task_fazer"
|
android:background="@drawable/bg_sub_task_normal"
|
||||||
android:textSize="14sp"
|
android:textSize="14sp"
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
android:textColor="@color/white"
|
android:textColor="@color/white"
|
||||||
android:text="@string/resgatar"
|
android:text="@string/go_and_do"
|
||||||
/>
|
/>
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 4.3 KiB |
|
|
@ -27,6 +27,7 @@
|
||||||
<string name="cash00">R$ 0.0</string>
|
<string name="cash00">R$ 0.0</string>
|
||||||
<string name="beginner_withdraw_title">Saque para Novatos</string>
|
<string name="beginner_withdraw_title">Saque para Novatos</string>
|
||||||
<string name="daily_video_task_title">Assistir a %d vídeo</string>
|
<string name="daily_video_task_title">Assistir a %d vídeo</string>
|
||||||
|
<string name="daily_ad_task_title">Assistir a %d Anúncio</string>
|
||||||
<string name="beginner_notify_title">Notificações push</string>
|
<string name="beginner_notify_title">Notificações push</string>
|
||||||
<string name="beginner_notify_desc">Ative as notificações e ganhe 200 moedas!</string>
|
<string name="beginner_notify_desc">Ative as notificações e ganhe 200 moedas!</string>
|
||||||
<string name="beginner_discord_title">Comunidade Discord</string>
|
<string name="beginner_discord_title">Comunidade Discord</string>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue