新建其他bean 和 statusHelper
This commit is contained in:
parent
738b0b3ae9
commit
6ea2af01fe
|
|
@ -188,7 +188,7 @@ class TasksFragment : AppViewsFragment<ViewBinding, UiState, ViewModel>(), OnTab
|
|||
}
|
||||
|
||||
private fun updateDailySignButUI() {
|
||||
val hasFinishAllSignWork = TaskManager.instance().dailySignTask().isDailySignAllOperationDone()
|
||||
val hasFinishAllSignWork = TaskManager.instance().dailySignStatus().isDailySignAllOperationDone()
|
||||
|
||||
binding?.ivGotoDailySign?.apply {
|
||||
setText(
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
package com.gamedog.vididin.main.fragments.task
|
||||
|
||||
import android.app.Activity
|
||||
import android.content.Context
|
||||
import androidx.core.view.isVisible
|
||||
import com.ama.core.architecture.util.setOnClickBatch
|
||||
import com.ama.core.architecture.widget.BindingDialog
|
||||
|
|
@ -57,7 +56,7 @@ class DailySignDialog(context: Activity) : BindingDialog<DialogDailySignBinding>
|
|||
}
|
||||
|
||||
private fun clickedNormalSign() {
|
||||
if (TaskManager.instance().dailySignTask().executeDailySign(mCurDayIndex, false, false)) {
|
||||
if (TaskManager.instance().dailySignStatus().executeDailySign(mCurDayIndex, false, false)) {
|
||||
DailySignSuccessDialog(mActivity).initData(mConfigList?.get(mCurDayIndex)?.value, true).show()
|
||||
updateUI(mCurDayIndex)
|
||||
}
|
||||
|
|
@ -65,7 +64,7 @@ class DailySignDialog(context: Activity) : BindingDialog<DialogDailySignBinding>
|
|||
|
||||
private fun clickedAdSingleBut() {
|
||||
startAdTask("signalAd", {
|
||||
if (TaskManager.instance().dailySignTask().executeDailySign(mCurDayIndex, false, true)) {
|
||||
if (TaskManager.instance().dailySignStatus().executeDailySign(mCurDayIndex, false, true)) {
|
||||
DailySignSuccessDialog(mActivity).initData(mConfigList?.get(mCurDayIndex)?.value, false).show()
|
||||
updateUI(mCurDayIndex)
|
||||
}
|
||||
|
|
@ -74,7 +73,7 @@ class DailySignDialog(context: Activity) : BindingDialog<DialogDailySignBinding>
|
|||
|
||||
private fun clickedAdDoubleBut() {
|
||||
startAdTask("doubleAd", {
|
||||
if (TaskManager.instance().dailySignTask().executeDailySign(mCurDayIndex, true, true)) {
|
||||
if (TaskManager.instance().dailySignStatus().executeDailySign(mCurDayIndex, true, true)) {
|
||||
DailySignSuccessDialog(mActivity).initData((mConfigList?.get(mCurDayIndex)?.value)?.times(
|
||||
2
|
||||
), false).show()
|
||||
|
|
@ -84,10 +83,10 @@ class DailySignDialog(context: Activity) : BindingDialog<DialogDailySignBinding>
|
|||
}
|
||||
|
||||
private fun clickedComplementSign() {
|
||||
val firstForgotSignDayIndex = TaskManager.instance().dailySignTask().getForgotSignFirstDayIndex()
|
||||
val firstForgotSignDayIndex = TaskManager.instance().dailySignStatus().getForgotSignFirstDayIndex()
|
||||
if (firstForgotSignDayIndex > 0) {
|
||||
startAdTask("complementAd", {
|
||||
if (TaskManager.instance().dailySignTask().executeDailySign(firstForgotSignDayIndex, false, false)){
|
||||
if (TaskManager.instance().dailySignStatus().executeDailySign(firstForgotSignDayIndex, false, false)){
|
||||
DailySignSuccessDialog(mActivity).initData(mConfigList?.get(firstForgotSignDayIndex)?.value, false).show()
|
||||
updateUI(firstForgotSignDayIndex)
|
||||
}
|
||||
|
|
@ -121,14 +120,14 @@ class DailySignDialog(context: Activity) : BindingDialog<DialogDailySignBinding>
|
|||
mConfigList?.let {
|
||||
mSignItemViewList.forEachIndexed { index, itemView->
|
||||
itemView.setData(mConfigList!![index],
|
||||
TaskManager.instance().dailySignTask().getDailySignStateBean(index))
|
||||
TaskManager.instance().dailySignStatus().getDailySignStateBean(index))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun initSignState() {
|
||||
mCurDayIndex = TaskManager.instance().dailySignTask().getCurDayIndexOfDailyCheckIn()
|
||||
mCurDayIndex = TaskManager.instance().dailySignStatus().getCurDayIndexOfDailyCheckIn()
|
||||
mSignItemViewList[mCurDayIndex].setSelectState(true)
|
||||
updateUI(mCurDayIndex)
|
||||
}
|
||||
|
|
@ -141,7 +140,7 @@ class DailySignDialog(context: Activity) : BindingDialog<DialogDailySignBinding>
|
|||
|
||||
|
||||
mBinding.tvSignedTotal.text = buildString {
|
||||
append(TaskManager.instance().dailySignTask().getSignDaysTotal())
|
||||
append(TaskManager.instance().dailySignStatus().getSignDaysTotal())
|
||||
append("/7")
|
||||
}
|
||||
mSignItemViewList[signedDayIndex].updateUI()
|
||||
|
|
@ -163,7 +162,7 @@ class DailySignDialog(context: Activity) : BindingDialog<DialogDailySignBinding>
|
|||
mConfigList?.get(mCurDayIndex)?.value
|
||||
}
|
||||
} else {
|
||||
val forgotSignDays = TaskManager.instance().dailySignTask().getForgotSignDays()
|
||||
val forgotSignDays = TaskManager.instance().dailySignStatus().getForgotSignDays()
|
||||
if (forgotSignDays > 0) {
|
||||
mBinding.actionNormalTwoButs.isVisible = false
|
||||
mBinding.actionWatchAd.isVisible = false
|
||||
|
|
|
|||
|
|
@ -114,7 +114,7 @@ class WeekStatusView @JvmOverloads constructor(
|
|||
override fun onDraw(canvas: Canvas) {
|
||||
super.onDraw(canvas)
|
||||
|
||||
val dayStateList = TaskManager.instance().dailySignTask().getDayStateList()
|
||||
val dayStateList = TaskManager.instance().dailySignStatus().getDayStateList()
|
||||
if (dayStateList.isEmpty()) return
|
||||
|
||||
val totalWidth = measuredWidth.toFloat()
|
||||
|
|
@ -140,7 +140,7 @@ class WeekStatusView @JvmOverloads constructor(
|
|||
|
||||
// reward text
|
||||
textPaint.textSize = rewardTextSize
|
||||
val rewardNum = TaskManager.instance().dailySignTask().getRewardNumOfDailySign(index)
|
||||
val rewardNum = TaskManager.instance().dailySignStatus().getRewardNumOfDailySign(index)
|
||||
textPaint.color = if (dayStatus.hasSigned) rewardTextSignedColor else rewardTextColor
|
||||
canvas.drawText(rewardNum.toString(), centerX, vertiMagin + dayTextSize + componentGap + 2*circleRadius + componentGap, textPaint)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,8 +3,12 @@ package com.gamedog.vididin.manager
|
|||
import com.ama.core.architecture.util.FileUtil
|
||||
import com.gamedog.vididin.main.fragments.task.Task
|
||||
import com.gamedog.vididin.main.fragments.task.TaskBean
|
||||
import com.gamedog.vididin.manager.helpers.DailyBoxHelper
|
||||
import com.gamedog.vididin.manager.helpers.DailySignTaskHelper
|
||||
import com.gamedog.vididin.manager.helpers.DailyWatchVideoTaskHelper
|
||||
import com.gamedog.vididin.manager.helpers.NewbieEnableNotifyHelper
|
||||
import com.gamedog.vididin.manager.helpers.NewbieFirstWithdrawHelper
|
||||
import com.gamedog.vididin.manager.helpers.NewbieJoinDiscordHelper
|
||||
import com.google.gson.GsonBuilder
|
||||
import kotlinx.coroutines.sync.Mutex
|
||||
import kotlinx.coroutines.sync.withLock
|
||||
|
|
@ -25,9 +29,6 @@ class TaskManager private constructor() {
|
|||
private const val TAG_TASK_DAILY_VIDEO = "daily_video_ladder"
|
||||
private const val TAG_TASK_DAILY_AD = "daily_ad_ladder"
|
||||
|
||||
|
||||
|
||||
|
||||
@Volatile
|
||||
private var instance: TaskManager? = null
|
||||
|
||||
|
|
@ -43,24 +44,24 @@ class TaskManager private constructor() {
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
private val mDailySignTaskHelper by lazy { DailySignTaskHelper() }
|
||||
|
||||
private val mDailyWatchVideoTaskHelper by lazy { DailyWatchVideoTaskHelper() }
|
||||
|
||||
private val mutex = Mutex()
|
||||
|
||||
@Volatile
|
||||
private var initialized = false
|
||||
private var mTaskConfig: TaskBean? = null
|
||||
private val mutex = Mutex()
|
||||
private val mGson = GsonBuilder().create()
|
||||
private var mTaskConfig: TaskBean? = null
|
||||
private val mDailySignTaskHelper by lazy { DailySignTaskHelper() }
|
||||
private val mDailyWatchVideoTaskHelper by lazy { DailyWatchVideoTaskHelper() }
|
||||
private val mDailyBoxHelper by lazy { DailyBoxHelper() }
|
||||
private val mNewbieJoinDiscordHelper by lazy { NewbieJoinDiscordHelper() }
|
||||
private val mNewbieEnableNotifyHelper by lazy { NewbieEnableNotifyHelper() }
|
||||
private val mNewbieFirstWithdrawHelper by lazy { NewbieFirstWithdrawHelper() }
|
||||
|
||||
|
||||
|
||||
|
||||
init {
|
||||
loadTaskConfigAsync()
|
||||
|
||||
|
||||
// TODO - remove test code
|
||||
if (true) {
|
||||
mDailySignTaskHelper.generateTestDailySignTestBean()
|
||||
|
|
@ -94,29 +95,42 @@ class TaskManager private constructor() {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
private suspend fun initHelpers() {
|
||||
mDailySignTaskHelper.initDatas(getDailyCheckInTask()!!)
|
||||
mDailyWatchVideoTaskHelper.initDatas(getDailyVideoTask()!!)
|
||||
mDailyBoxHelper.initDatas(getDailyVideoTask()!!) // TODO - get right box task config
|
||||
mNewbieJoinDiscordHelper.initDatas(getNewbieJoinDiscordTask()!!)
|
||||
mNewbieEnableNotifyHelper.initDatas(getNewbieEnableNotifyTask()!!)
|
||||
mNewbieFirstWithdrawHelper.initDatas(getNewbieFirstWithdrawTask()!!)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
fun dailySignTask(): DailySignTaskHelper {
|
||||
//------------------------- Tasks Getter ------------------------------
|
||||
fun dailySignStatus(): DailySignTaskHelper {
|
||||
return mDailySignTaskHelper
|
||||
}
|
||||
|
||||
fun dailyWatchTask(): DailyWatchVideoTaskHelper {
|
||||
fun dailyWatchStatus(): DailyWatchVideoTaskHelper {
|
||||
return mDailyWatchVideoTaskHelper
|
||||
}
|
||||
|
||||
fun dailyBoxStatus(): DailyBoxHelper {
|
||||
return mDailyBoxHelper
|
||||
}
|
||||
|
||||
fun newbieJoinDiscordStatus(): NewbieJoinDiscordHelper {
|
||||
return mNewbieJoinDiscordHelper
|
||||
}
|
||||
|
||||
fun newbieEnableNotifyStatus(): NewbieEnableNotifyHelper {
|
||||
return mNewbieEnableNotifyHelper
|
||||
}
|
||||
|
||||
fun newbieFirstWithdrawStatus(): NewbieFirstWithdrawHelper {
|
||||
return mNewbieFirstWithdrawHelper
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//------------------------- Get tasks -------------------------------
|
||||
|
|
@ -153,6 +167,7 @@ class TaskManager private constructor() {
|
|||
|
||||
|
||||
|
||||
|
||||
//----------------------------- 每日签到 -----------------------------//
|
||||
|
||||
fun getHomeWatchDurationRewardNum(): Int {
|
||||
|
|
@ -162,28 +177,7 @@ class TaskManager private constructor() {
|
|||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
private class ConfigHelper {
|
||||
|
||||
}
|
||||
|
||||
|
||||
private class DailyBoxTaskHelper {
|
||||
|
||||
}
|
||||
|
||||
private class NewBieWithdrawTaskHelper {
|
||||
|
||||
}
|
||||
|
||||
private class NewBieEnableNotifyTaskHelper {
|
||||
|
||||
}
|
||||
|
||||
private class NewBieJoinDiscordTaskHelper {
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import com.gamedog.vididin.main.fragments.task.Task
|
|||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.withContext
|
||||
|
||||
abstract class BaseHelper {
|
||||
abstract class BaseTaskHelper {
|
||||
protected lateinit var mTaskConfig: Task
|
||||
private var mEventCallback: NotifyMan.ICallback? = null
|
||||
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
package com.gamedog.vididin.manager.helpers
|
||||
|
||||
class DailyBoxHelper: BaseTaskHelper() {
|
||||
|
||||
|
||||
|
||||
override fun loadTaskFromSp() {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -9,7 +9,7 @@ import com.gamedog.vididin.manager.taskbeans.TaskDailySignBean
|
|||
import com.gamedog.vididin.manager.taskbeans.DailySignDayInfoBean
|
||||
|
||||
|
||||
class DailySignTaskHelper : BaseHelper() {
|
||||
class DailySignTaskHelper : BaseTaskHelper() {
|
||||
private var mCurDayIndexDailySign: Int = 0
|
||||
private var mDailySignData: TaskDailySignBean = TaskDailySignBean()
|
||||
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import java.util.concurrent.ConcurrentHashMap
|
|||
|
||||
|
||||
|
||||
class DailyWatchVideoTaskHelper : BaseHelper() {
|
||||
class DailyWatchVideoTaskHelper : BaseTaskHelper() {
|
||||
|
||||
private var mStateBean: DailyStateWatchVideoBean? = null
|
||||
private val mWatchedMap = ConcurrentHashMap<String, Long>()
|
||||
|
|
|
|||
|
|
@ -0,0 +1,11 @@
|
|||
package com.gamedog.vididin.manager.helpers
|
||||
|
||||
class NewbieEnableNotifyHelper: BaseTaskHelper() {
|
||||
|
||||
|
||||
|
||||
override fun loadTaskFromSp() {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
package com.gamedog.vididin.manager.helpers
|
||||
|
||||
class NewbieFirstWithdrawHelper: BaseTaskHelper() {
|
||||
|
||||
|
||||
|
||||
override fun loadTaskFromSp() {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
package com.gamedog.vididin.manager.helpers
|
||||
|
||||
class NewbieJoinDiscordHelper: BaseTaskHelper() {
|
||||
|
||||
|
||||
|
||||
override fun loadTaskFromSp() {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
package com.gamedog.vididin.manager.taskbeans
|
||||
|
||||
import java.io.Serializable
|
||||
|
||||
|
||||
|
||||
|
||||
data class TaskStateBox(
|
||||
var box: Long = 0,
|
||||
var watchedVideoNum: Int = 0,
|
||||
): Serializable {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
package com.gamedog.vididin.manager.taskbeans
|
||||
|
||||
import java.io.Serializable
|
||||
|
||||
|
||||
|
||||
|
||||
data class TaskStateNewBieEnableNotify(
|
||||
var box: Long = 0,
|
||||
var watchedVideoNum: Int = 0,
|
||||
): Serializable {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
package com.gamedog.vididin.manager.taskbeans
|
||||
|
||||
import java.io.Serializable
|
||||
|
||||
|
||||
|
||||
|
||||
data class TaskStateNewBieFirstWithDraw(
|
||||
var box: Long = 0,
|
||||
var watchedVideoNum: Int = 0,
|
||||
): Serializable {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
package com.gamedog.vididin.manager.taskbeans
|
||||
|
||||
import java.io.Serializable
|
||||
|
||||
|
||||
|
||||
|
||||
data class TaskStateNewBieJoinDiscord(
|
||||
var box: Long = 0,
|
||||
var watchedVideoNum: Int = 0,
|
||||
): Serializable {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue