同步更新 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 androidx.lifecycle.lifecycleScope
|
||||||
import com.ama.core.architecture.appBase.AppViewsFragment
|
import com.ama.core.architecture.appBase.AppViewsFragment
|
||||||
import com.ama.core.architecture.appBase.OnFragmentBackgroundListener
|
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.setOnClickBatch
|
||||||
import com.ama.core.architecture.util.setStatusBarDarkFont
|
import com.ama.core.architecture.util.setStatusBarDarkFont
|
||||||
import com.gamedog.vididin.R
|
import com.gamedog.vididin.R
|
||||||
|
import com.gamedog.vididin.VididinEvents
|
||||||
import com.gamedog.vididin.main.WatchVideoDialog
|
import com.gamedog.vididin.main.WatchVideoDialog
|
||||||
import com.gamedog.vididin.main.fragments.task.DailySignDialog
|
import com.gamedog.vididin.main.fragments.task.DailySignDialog
|
||||||
import com.gamedog.vididin.main.fragments.task.TaskBean
|
import com.gamedog.vididin.main.fragments.task.TaskBean
|
||||||
|
|
@ -135,6 +138,28 @@ class TasksFragment : AppViewsFragment<ViewBinding, UiState, ViewModel>(), OnTab
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun ViewBinding.initListeners() {
|
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() {
|
override fun ViewBinding.initObservers() {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
package com.gamedog.vididin.manager
|
package com.gamedog.vididin.manager
|
||||||
|
|
||||||
import android.R
|
|
||||||
import com.ama.core.architecture.util.DateUtil
|
import com.ama.core.architecture.util.DateUtil
|
||||||
import com.ama.core.architecture.util.FileUtil
|
import com.ama.core.architecture.util.FileUtil
|
||||||
import com.ama.core.architecture.util.SpUtil
|
import com.ama.core.architecture.util.SpUtil
|
||||||
|
|
@ -255,6 +254,11 @@ class TaskManager private constructor() {
|
||||||
return getDailyCheckInTask()?.reward_details?.get(dayIndex)?.value ?: 0
|
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_33">#333333</color>
|
||||||
<color name="black_28">#FF2F2828</color>
|
<color name="black_28">#FF2F2828</color>
|
||||||
<color name="green_1a">#FF00591A</color>
|
<color name="green_1a">#FF00591A</color>
|
||||||
|
<color name="gray_84">#ff938a84</color>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|
@ -67,5 +67,9 @@
|
||||||
<string name="complement_hint">Recuperar 1 dia de login</string>
|
<string name="complement_hint">Recuperar 1 dia de login</string>
|
||||||
<string name="tomorrow_sign">Volte amanhã para fazer 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>
|
</resources>
|
||||||
|
|
@ -5,6 +5,7 @@ import android.view.ViewGroup
|
||||||
import androidx.viewbinding.ViewBinding
|
import androidx.viewbinding.ViewBinding
|
||||||
import com.ama.core.architecture.base.BaseViewModel
|
import com.ama.core.architecture.base.BaseViewModel
|
||||||
import com.ama.core.architecture.base.views.BaseViewsActivity
|
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.architecture.util.state.createAppStateView
|
||||||
import com.ama.core.designsystem.widget.interfaces.LoadingDialog
|
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()
|
//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)
|
override fun createStateView(stateViewParent: ViewGroup) = createAppStateView(stateViewParent)
|
||||||
|
|
||||||
// 消息的收集者,默认为Toast,可覆写为Snakbar等。
|
// 消息的收集者,默认为Toast,可覆写为Snakbar等。
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import android.view.ViewGroup
|
||||||
import androidx.viewbinding.ViewBinding
|
import androidx.viewbinding.ViewBinding
|
||||||
import com.ama.core.architecture.base.BaseViewModel
|
import com.ama.core.architecture.base.BaseViewModel
|
||||||
import com.ama.core.architecture.base.views.BaseViewsFragment
|
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.architecture.util.state.createAppStateView
|
||||||
import com.ama.core.common.util.getDataFromThemeAttr
|
import com.ama.core.common.util.getDataFromThemeAttr
|
||||||
import com.ama.core.designsystem.widget.interfaces.LoadingDialog
|
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>> :
|
abstract class AppViewsFragment<Binding : ViewBinding, UiState : Any, ViewModel : BaseViewModel<UiState>> :
|
||||||
BaseViewsFragment<Binding, UiState, ViewModel>() {
|
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()
|
// override val viewModel: ViewModel by reflectViewModels()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -59,6 +59,7 @@
|
||||||
|
|
||||||
<color name="progress_green">#FF00FF5E</color>
|
<color name="progress_green">#FF00FF5E</color>
|
||||||
<color name="progress_background">#99000000</color>
|
<color name="progress_background">#99000000</color>
|
||||||
|
<color name="gray_84">#ff938a84</color>
|
||||||
|
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
Loading…
Reference in New Issue