签到后UI刷新
This commit is contained in:
parent
6edf63abf5
commit
38ea782dc1
|
|
@ -58,6 +58,7 @@ class DailySignDialog(context: Context) : BindingDialog<DialogDailySignBinding>(
|
|||
private fun clickedNormalSign() {
|
||||
if (TaskManager.instance().executeDailySign(mCurDayIndex, false, false)) {
|
||||
DailySignSuccessDialog(context).initData(mConfigList?.get(mCurDayIndex)?.value, true).show()
|
||||
updateUI(mCurDayIndex)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -65,6 +66,7 @@ class DailySignDialog(context: Context) : BindingDialog<DialogDailySignBinding>(
|
|||
startAdTask("signalAd", {
|
||||
if (TaskManager.instance().executeDailySign(mCurDayIndex, false, true)) {
|
||||
DailySignSuccessDialog(context).initData(mConfigList?.get(mCurDayIndex)?.value, false).show()
|
||||
updateUI(mCurDayIndex)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
@ -73,6 +75,7 @@ class DailySignDialog(context: Context) : BindingDialog<DialogDailySignBinding>(
|
|||
startAdTask("doubleAd", {
|
||||
if (TaskManager.instance().executeDailySign(mCurDayIndex, true, true)) {
|
||||
DailySignSuccessDialog(context).initData(mConfigList?.get(mCurDayIndex)?.value, false).show()
|
||||
updateUI(mCurDayIndex)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
@ -83,11 +86,11 @@ class DailySignDialog(context: Context) : BindingDialog<DialogDailySignBinding>(
|
|||
startAdTask("complementAd", {
|
||||
if (TaskManager.instance().executeDailySign(firstForgotSignDayIndex, false, false)){
|
||||
DailySignSuccessDialog(context).initData(mConfigList?.get(mCurDayIndex)?.value, false).show()
|
||||
updateUI(firstForgotSignDayIndex)
|
||||
}
|
||||
})
|
||||
|
||||
} else {
|
||||
updateUI()
|
||||
updateUI(firstForgotSignDayIndex)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -124,15 +127,21 @@ class DailySignDialog(context: Context) : BindingDialog<DialogDailySignBinding>(
|
|||
private fun initSignState() {
|
||||
mCurDayIndex = TaskManager.instance().getCurDayIndexOfDailyCheckIn()
|
||||
mSignItemViewList[mCurDayIndex].setSelectState(true)
|
||||
updateUI()
|
||||
updateUI(mCurDayIndex)
|
||||
}
|
||||
|
||||
|
||||
|
||||
private fun updateUI() {
|
||||
private fun updateUI(signedDayIndex: Int) {
|
||||
val curDayView = mSignItemViewList[mCurDayIndex]
|
||||
val curDayStateBean = curDayView.getStateBean()
|
||||
|
||||
mBinding.tvSignedTotal.text = buildString {
|
||||
append(TaskManager.instance().getSignDaysTotal())
|
||||
append("/7")
|
||||
}
|
||||
mSignItemViewList[signedDayIndex].updateUI()
|
||||
|
||||
if (!curDayStateBean.hasSigned) {
|
||||
mBinding.actionNormalTwoButs.isVisible = true
|
||||
mBinding.actionWatchAd.isVisible = false
|
||||
|
|
|
|||
|
|
@ -177,7 +177,7 @@ class TaskManager private constructor() {
|
|||
fun executeDailySign(dayIndex: Int, isDoubleReward: Boolean, isByAd: Boolean) : Boolean {
|
||||
val daySignState = mDailySignData.signStateList[dayIndex]
|
||||
|
||||
if (!daySignState.hasSigned) {
|
||||
if (!daySignState.hasSigned || (dayIndex == mCurDayIndexDailySign && !daySignState.hasWatchedAd)) {
|
||||
val dayReward = getDailyCheckInTask()?.reward_details?.get(dayIndex)?.value ?: 0
|
||||
daySignState.hasRewardedNum += if (isDoubleReward) 2*dayReward else dayReward
|
||||
daySignState.hasSigned = true
|
||||
|
|
@ -219,6 +219,16 @@ class TaskManager private constructor() {
|
|||
return forgotSignDays
|
||||
}
|
||||
|
||||
fun getSignDaysTotal(): Int {
|
||||
var signDays = 0
|
||||
mDailySignData.signStateList.forEachIndexed { index, item->
|
||||
if (item.hasSigned) {
|
||||
signDays++
|
||||
}
|
||||
}
|
||||
return signDays
|
||||
}
|
||||
|
||||
fun getForgotSignFirstDayIndex(): Int {
|
||||
val curDayIndex = getCurDayIndexOfDailyCheckIn()
|
||||
mDailySignData.signStateList.forEachIndexed { index, item->
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@ import com.ama.core.architecture.util.ResUtil
|
|||
import com.gamedog.vididin.R
|
||||
import com.gamedog.vididin.databinding.DailySignItemBinding
|
||||
import com.gamedog.vididin.main.fragments.task.RewardDetail
|
||||
import com.gamedog.vididin.manager.DailySignBean
|
||||
import com.gamedog.vididin.manager.DailySignDayInfoBean
|
||||
import kotlin.run
|
||||
|
||||
|
|
@ -41,8 +40,7 @@ class DailySignItemView @JvmOverloads constructor(
|
|||
mBinding.tvGoldNum.text = "" + mConfigData.value
|
||||
mBinding.tvDayNum.text = context.getString(R.string.day) + " "+ mConfigData.day
|
||||
|
||||
mBinding.ivDone.isVisible = mStateData.hasSigned
|
||||
mBinding.tvDayNum.isVisible = !mStateData.hasSigned
|
||||
updateUI()
|
||||
}
|
||||
|
||||
fun setLargeWidthMode() {
|
||||
|
|
@ -52,15 +50,24 @@ class DailySignItemView @JvmOverloads constructor(
|
|||
|
||||
fun setSelectState(isSelect: Boolean) {
|
||||
mIsSelected = isSelect
|
||||
updateUI()
|
||||
}
|
||||
|
||||
fun getStateBean(): DailySignDayInfoBean {
|
||||
return mStateData
|
||||
}
|
||||
|
||||
fun updateUI() {
|
||||
mBinding.ivDone.isVisible = mStateData.hasSigned
|
||||
mBinding.tvDayNum.isVisible = !mStateData.hasSigned
|
||||
|
||||
if (mIsSelected) {
|
||||
mBinding.rlRoot.foreground = ResUtil.getDrawable(R.drawable.bg_daily_sign_day_item)
|
||||
} else {
|
||||
mBinding.rlRoot.foreground = null
|
||||
}
|
||||
}
|
||||
|
||||
fun getStateBean(): DailySignDayInfoBean {
|
||||
return mStateData
|
||||
mBinding.rlRoot.alpha = if (mStateData.hasSigned) 0.3F else 1F
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/content_root"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:gravity="center_horizontal"
|
||||
|
|
@ -45,7 +45,6 @@
|
|||
android:text="100"
|
||||
/>
|
||||
</LinearLayout>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
|
||||
|
|
@ -67,7 +66,7 @@
|
|||
android:id="@+id/iv_done"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="0dp"
|
||||
android:layout_marginTop="2dp"
|
||||
android:tint="@color/green_39"
|
||||
android:src="@mipmap/icon_check_mark"
|
||||
android:layout_gravity="center"
|
||||
|
|
|
|||
|
|
@ -66,19 +66,32 @@
|
|||
android:text="@string/daily_sign_desc"
|
||||
/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_times"
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="5dp"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/gray9"
|
||||
android:text="@string/daily_sign_times"
|
||||
/>
|
||||
android:orientation="horizontal"
|
||||
android:layout_marginTop="5dp" >
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/gray9"
|
||||
android:text="@string/daily_sign_times"
|
||||
/>
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_signed_total"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="14sp"
|
||||
android:layout_marginLeft="3dp"
|
||||
android:textColor="@color/gray9"
|
||||
/>
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="5dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
|
|
@ -290,16 +303,17 @@
|
|||
<!--明日再来-->
|
||||
<FrameLayout
|
||||
android:id="@+id/action_tomorrow_sign"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:layout_gravity="center"
|
||||
android:paddingHorizontal="30dp"
|
||||
android:paddingHorizontal="20dp"
|
||||
android:background="@drawable/bg_sign_done_but"
|
||||
android:visibility="gone">
|
||||
android:visibility="visible">
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="18sp"
|
||||
android:singleLine="true"
|
||||
android:textColor="@color/white"
|
||||
android:text="@string/tomorrow_sign"
|
||||
android:gravity="center"
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
<string name="task_act_convi">Convidar</string>
|
||||
<string name="task_act_game">Game Center</string>
|
||||
<string name="daily_sign_desc">Conclua o login de hoje e pode ganhar até 666 moedas!</string>
|
||||
<string name="daily_sign_times">Logins realizados: 0/7</string>
|
||||
<string name="daily_sign_times">Logins realizados: </string>
|
||||
<string name="resgatar">Resgatar</string>
|
||||
<string name="assistir">Assistir</string>
|
||||
<string name="day">Dia</string>
|
||||
|
|
|
|||
Loading…
Reference in New Issue