diff --git a/app/src/main/java/com/gamedog/vididin/VididinEvents.kt b/app/src/main/java/com/gamedog/vididin/VididinEvents.kt index 9a5ba6d..a233a3d 100644 --- a/app/src/main/java/com/gamedog/vididin/VididinEvents.kt +++ b/app/src/main/java/com/gamedog/vididin/VididinEvents.kt @@ -48,6 +48,7 @@ object VididinEvents { const val EVENT_WITHDRAW_SUB_ITEM_PROGRESS_UPDATED = 500 const val EVENT_WITHDRAW_SELECTED_SUB_ITEM_CHANGED = 501 const val EVENT_WITHDRAW_CHECK_RESULT_UPDATED = 502 + const val EVENT_WITHDRAW_ITEM_LIST_CHANGED = 503 } \ No newline at end of file diff --git a/app/src/main/java/com/gamedog/vididin/features/withdraw/WithDrawActivity.kt b/app/src/main/java/com/gamedog/vididin/features/withdraw/WithDrawActivity.kt index 811e18f..f7e137f 100644 --- a/app/src/main/java/com/gamedog/vididin/features/withdraw/WithDrawActivity.kt +++ b/app/src/main/java/com/gamedog/vididin/features/withdraw/WithDrawActivity.kt @@ -122,7 +122,10 @@ class WithDrawActivity : AppViewsEmptyViewModelActivity() { if (!hasBindBank) { WithdrawBindBankDialog(this@WithDrawActivity, { cashNum -> requestInit(cashNum) }).setWithDrawCashNum(cashNum).show() } else { - WithdrawInfoConfirmDialog(this@WithDrawActivity, { cashNum -> requestInit(cashNum) }).setWithDrawCashNum(cashNum).show() + WithdrawInfoConfirmDialog(this@WithDrawActivity, { + cashNum -> requestInit(cashNum) + WithdrawManager.instance().setItemStarted(0) + }).setWithDrawCashNum(cashNum).show() } } } @@ -136,6 +139,12 @@ class WithDrawActivity : AppViewsEmptyViewModelActivity() { } } + private fun udpateItemListUI() { + mItemViewList.forEach { + it.updateProgressAndButUI() + } + } + override fun ViewBinding.initListeners() { registerEvents({ data-> @@ -161,11 +170,16 @@ class WithDrawActivity : AppViewsEmptyViewModelActivity() { e.printStackTrace() } } + + VididinEvents.EVENT_WITHDRAW_ITEM_LIST_CHANGED -> { + udpateItemListUI() + } } }, VididinEvents.Event_Account_Cash_Changed, VididinEvents.EVENT_AD_WATCHED_FOR_WITHDRAW_SMALL, - VididinEvents.EVENT_WITHDRAW_CHECK_RESULT_UPDATED,) + VididinEvents.EVENT_WITHDRAW_CHECK_RESULT_UPDATED, + VididinEvents.EVENT_WITHDRAW_ITEM_LIST_CHANGED) readTransactionsAndShowResult() @@ -287,6 +301,7 @@ class WithDrawActivity : AppViewsEmptyViewModelActivity() { private fun gotoWithdrawSubActivity(selectedIndex: Int) { Router.WithdrawSub.startActivity(this, selectedIndex) + WithdrawManager.instance().setItemStarted(selectedIndex) } diff --git a/app/src/main/java/com/gamedog/vididin/manager/WithdrawManager.kt b/app/src/main/java/com/gamedog/vididin/manager/WithdrawManager.kt index 7905cee..e1c9a45 100644 --- a/app/src/main/java/com/gamedog/vididin/manager/WithdrawManager.kt +++ b/app/src/main/java/com/gamedog/vididin/manager/WithdrawManager.kt @@ -169,6 +169,11 @@ class WithdrawManager private constructor() { NotifyMan.instance().sendEvent(VididinEvents.EVENT_WITHDRAW_SELECTED_SUB_ITEM_CHANGED, NotifyMan.NotifyData(subBean.index)) } + private fun notifyItemListChanged() { + NotifyMan.instance().sendEvent(VididinEvents.EVENT_WITHDRAW_ITEM_LIST_CHANGED, null) + } + + private fun calculateSubBeanProgress(subBean: WithdrawSubItem) { val needEarnProgress = 100 - subBean.startProgress if (subBean.hasEarnMoneyByAd >= subBean.cashTotal) { @@ -472,6 +477,19 @@ class WithdrawManager private constructor() { return itemProgress } + fun setItemStarted(itemIndex: Int) { + if (itemIndex in 0..mItemList.size-1) { + val curItem = mItemList[itemIndex] + if (!curItem.hasStarted) { + curItem.hasStarted = true + curItem.startMs = System.currentTimeMillis() + + saveInfos2Sp(mItemList) + notifyItemListChanged() + } + } + } + }