同步更新 homeFragment+1
This commit is contained in:
parent
47db87935a
commit
78842d8d60
|
|
@ -9,9 +9,12 @@ import androidx.fragment.app.viewModels
|
|||
import androidx.lifecycle.lifecycleScope
|
||||
import com.ama.core.architecture.appBase.AppViewsFragment
|
||||
import com.ama.core.architecture.appBase.OnFragmentBackgroundListener
|
||||
import com.ama.core.architecture.util.ResUtil
|
||||
import com.ama.core.architecture.util.eventbus.NotifyMan
|
||||
import com.ama.core.architecture.util.setOnClickBatch
|
||||
import com.ama.core.architecture.util.setStatusBarDarkFont
|
||||
import com.gamedog.vididin.R
|
||||
import com.gamedog.vididin.VididinEvents
|
||||
import com.gamedog.vididin.main.WatchVideoDialog
|
||||
import com.gamedog.vididin.main.fragments.task.DailySignDialog
|
||||
import com.gamedog.vididin.main.fragments.task.TaskBean
|
||||
|
|
@ -135,6 +138,28 @@ class TasksFragment : AppViewsFragment<ViewBinding, UiState, ViewModel>(), OnTab
|
|||
}
|
||||
|
||||
override fun ViewBinding.initListeners() {
|
||||
registerEvents({data: NotifyMan.NotifyData<*>? ->
|
||||
when (data?.mEventType) {
|
||||
VididinEvents.Event_Sign_State_Changed -> {
|
||||
updateDailySignButUI()
|
||||
}
|
||||
}
|
||||
}, VididinEvents.Event_Sign_State_Changed)
|
||||
}
|
||||
|
||||
private fun updateDailySignButUI() {
|
||||
val hasFinishAllSignWork = TaskManager.instance().isDailySignAllOperationDone()
|
||||
|
||||
binding?.ivGotoDailySign?.apply {
|
||||
setText(
|
||||
if (hasFinishAllSignWork) R.string.daily_sign_but_text_3 else R.string.daily_sign_but_text_1
|
||||
)
|
||||
isClickable = !hasFinishAllSignWork
|
||||
|
||||
if (hasFinishAllSignWork) {
|
||||
background.setTint(ResUtil.getColor(R.color.gray_84))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun ViewBinding.initObservers() {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package com.gamedog.vididin.manager
|
||||
|
||||
import android.R
|
||||
import com.ama.core.architecture.util.DateUtil
|
||||
import com.ama.core.architecture.util.FileUtil
|
||||
import com.ama.core.architecture.util.SpUtil
|
||||
|
|
@ -255,6 +254,11 @@ class TaskManager private constructor() {
|
|||
return getDailyCheckInTask()?.reward_details?.get(dayIndex)?.value ?: 0
|
||||
}
|
||||
|
||||
fun isDailySignAllOperationDone(): Boolean {
|
||||
val curDayState = getDailySignStateBean(mCurDayIndexDailySign)
|
||||
return curDayState.hasSigned && curDayState.hasWatchedAd && getForgotSignFirstDayIndex() <= 0
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -86,6 +86,6 @@
|
|||
<color name="black_33">#333333</color>
|
||||
<color name="black_28">#FF2F2828</color>
|
||||
<color name="green_1a">#FF00591A</color>
|
||||
|
||||
<color name="gray_84">#ff938a84</color>
|
||||
|
||||
</resources>
|
||||
|
|
@ -67,5 +67,9 @@
|
|||
<string name="complement_hint">Recuperar 1 dia de login</string>
|
||||
<string name="tomorrow_sign">Volte amanhã para fazer login</string>
|
||||
|
||||
<string name="daily_sign_but_text_1">Fazer Login Agora</string>
|
||||
<string name="daily_sign_but_text_2">Recuperar Login</string>
|
||||
<string name="daily_sign_but_text_3">Disponível amanhã</string>
|
||||
|
||||
|
||||
</resources>
|
||||
|
|
@ -5,6 +5,7 @@ import android.view.ViewGroup
|
|||
import androidx.viewbinding.ViewBinding
|
||||
import com.ama.core.architecture.base.BaseViewModel
|
||||
import com.ama.core.architecture.base.views.BaseViewsActivity
|
||||
import com.ama.core.architecture.util.eventbus.NotifyMan
|
||||
import com.ama.core.architecture.util.state.createAppStateView
|
||||
import com.ama.core.designsystem.widget.interfaces.LoadingDialog
|
||||
|
||||
|
|
@ -14,6 +15,29 @@ abstract class AppViewsActivity<Binding : ViewBinding, UiState : Any, ViewModel
|
|||
// 全部使用反射来实现
|
||||
//override val viewModel: ViewModel by reflectViewModels()
|
||||
|
||||
private var mEventCallback: NotifyMan.ICallback? = null
|
||||
|
||||
protected fun registerEvents(onEvents: ((NotifyMan.NotifyData<*>?)->Unit), vararg eventTypes: Int) {
|
||||
if (mEventCallback == null) {
|
||||
mEventCallback = object : NotifyMan.ICallback(true) {
|
||||
override fun onEvent(data: NotifyMan.NotifyData<*>?) {
|
||||
onEvents.invoke(data)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
NotifyMan.instance().register(mEventCallback, *eventTypes)
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
super.onDestroy()
|
||||
if (mEventCallback != null) {
|
||||
NotifyMan.instance().unregister(mEventCallback)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
override fun createStateView(stateViewParent: ViewGroup) = createAppStateView(stateViewParent)
|
||||
|
||||
// 消息的收集者,默认为Toast,可覆写为Snakbar等。
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import android.view.ViewGroup
|
|||
import androidx.viewbinding.ViewBinding
|
||||
import com.ama.core.architecture.base.BaseViewModel
|
||||
import com.ama.core.architecture.base.views.BaseViewsFragment
|
||||
import com.ama.core.architecture.util.eventbus.NotifyMan
|
||||
import com.ama.core.architecture.util.state.createAppStateView
|
||||
import com.ama.core.common.util.getDataFromThemeAttr
|
||||
import com.ama.core.designsystem.widget.interfaces.LoadingDialog
|
||||
|
|
@ -12,6 +13,29 @@ import com.google.android.material.R
|
|||
|
||||
abstract class AppViewsFragment<Binding : ViewBinding, UiState : Any, ViewModel : BaseViewModel<UiState>> :
|
||||
BaseViewsFragment<Binding, UiState, ViewModel>() {
|
||||
|
||||
|
||||
private var mEventCallback: NotifyMan.ICallback? = null
|
||||
|
||||
protected fun registerEvents(onEvents: ((NotifyMan.NotifyData<*>?)->Unit), vararg eventTypes: Int) {
|
||||
if (mEventCallback == null) {
|
||||
mEventCallback = object : NotifyMan.ICallback(true) {
|
||||
override fun onEvent(data: NotifyMan.NotifyData<*>?) {
|
||||
onEvents.invoke(data)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
NotifyMan.instance().register(mEventCallback, *eventTypes)
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
if (mEventCallback != null) {
|
||||
NotifyMan.instance().unregister(mEventCallback)
|
||||
}
|
||||
}
|
||||
|
||||
// 全部使用反射来实现
|
||||
// override val viewModel: ViewModel by reflectViewModels()
|
||||
|
||||
|
|
|
|||
|
|
@ -59,6 +59,7 @@
|
|||
|
||||
<color name="progress_green">#FF00FF5E</color>
|
||||
<color name="progress_background">#99000000</color>
|
||||
<color name="gray_84">#ff938a84</color>
|
||||
|
||||
|
||||
</resources>
|
||||
Loading…
Reference in New Issue