From 1995e0b43fcdbb8848cfb45085159726064e8d4b Mon Sep 17 00:00:00 2001 From: renhaoting <370797079@qq.com> Date: Thu, 22 Jan 2026 17:20:21 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=B9=B0=E9=87=8F=E3=80=91=E6=B8=B8?= =?UTF-8?q?=E6=88=8F=E4=B8=AD=E6=B2=A1=E6=9C=89=E5=8C=BA=E5=88=86=E4=B9=B0?= =?UTF-8?q?=E9=87=8F=E5=92=8C=E9=9D=9E=E4=B9=B0=E9=87=8F=E7=9A=84=E5=B0=8F?= =?UTF-8?q?=E9=A2=9D=E6=8F=90=E7=8E=B0=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/gamedog/vididin/VididinEvents.kt | 2 +- .../features/watchad/WatchAdActivity.kt | 2 +- .../features/withdraw/WithDrawActivity.kt | 23 +++++++++++++++---- .../withdraw/widget/WithDrawItemView.kt | 7 ++++++ .../vididin/manager/WithdrawManager.kt | 19 +++++++++++---- 5 files changed, 42 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/gamedog/vididin/VididinEvents.kt b/app/src/main/java/com/gamedog/vididin/VididinEvents.kt index 9a24774..21f87da 100644 --- a/app/src/main/java/com/gamedog/vididin/VididinEvents.kt +++ b/app/src/main/java/com/gamedog/vididin/VididinEvents.kt @@ -56,7 +56,7 @@ object VididinEvents { const val EVENT_WITHDRAW_SELECTED_SUB_ITEM_CHANGED = 501 const val EVENT_WITHDRAW_RESULT_UPDATED = 502 const val EVENT_WITHDRAW_ITEM_LIST_CHANGED = 503 - const val EVENT_WITHDRAW_BANK_ACCOUNT_CHANGED = 504 + const val EVENT_WITHDRAW_SMALL_AD_FINISHED = 504 // zero withdraw events diff --git a/app/src/main/java/com/gamedog/vididin/features/watchad/WatchAdActivity.kt b/app/src/main/java/com/gamedog/vididin/features/watchad/WatchAdActivity.kt index 1b3ae54..cab85c6 100644 --- a/app/src/main/java/com/gamedog/vididin/features/watchad/WatchAdActivity.kt +++ b/app/src/main/java/com/gamedog/vididin/features/watchad/WatchAdActivity.kt @@ -184,7 +184,7 @@ class WatchAdActivity : AppViewsEmptyViewModelActivity(), OnTabStyl if (TestingManager.instance().isRewardAdDisable()) { lifecycleScope.launch { delay(2000) - mRewardedDollarNum = 0.5 + mRewardedDollarNum = 0.02 notifyAdWatchFinish() } } else { 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 09f2ca3..da6981e 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 @@ -19,6 +19,7 @@ import com.gamedog.vididin.VidiConst import com.viddin.videos.free.R import com.gamedog.vididin.VididinEvents import com.gamedog.vididin.beans.RecordCash +import com.gamedog.vididin.beans.WatchAdNotifyBean import com.gamedog.vididin.core.login.login.AccountManager import com.gamedog.vididin.features.withdraw.dialogs.WithdrawBindBankDialog import com.gamedog.vididin.features.withdraw.dialogs.WithdrawFailDialog @@ -28,6 +29,7 @@ import com.gamedog.vididin.features.withdraw.dialogs.WithdrawWatchAdDialog import com.gamedog.vididin.features.withdraw.widget.WithDrawItemView import com.gamedog.vididin.manager.GuideManager import com.gamedog.vididin.manager.TaskManager +import com.gamedog.vididin.manager.WithdrawItem import com.gamedog.vididin.manager.WithdrawManager import com.gamedog.vididin.manager.WithdrawManager.Companion.STATE_COULD_WITHDRAW import com.gamedog.vididin.manager.WithdrawManager.Companion.STATE_WITHDRAW_SUCCESS @@ -160,7 +162,7 @@ class WithDrawActivity : AppViewsEmptyViewModelActivity() { } } - private fun udpateItemListUI() { + private fun updateItemListUI() { mItemViewList.forEach { it.updateProgressAndButUI() } @@ -180,8 +182,9 @@ class WithDrawActivity : AppViewsEmptyViewModelActivity() { } VididinEvents.EVENT_AD_WATCHED_FOR_WITHDRAW_SMALL -> { - WithdrawManager.instance().saveSmallWithdrawHasWatchedAd() - handleGotoWithdraw(0) + val adNotifyBean = data.mData as WatchAdNotifyBean + WithdrawManager.instance().addAdEarnForSubBean(0, 0, + adNotifyBean.earnMoneyNum * VidiConst.WITHDRAW_REWARD_AD_REVENUE_PERCENT) } VididinEvents.EVENT_WITHDRAW_RESULT_UPDATED -> { @@ -198,19 +201,29 @@ class WithDrawActivity : AppViewsEmptyViewModelActivity() { } VididinEvents.EVENT_WITHDRAW_ITEM_LIST_CHANGED -> { - udpateItemListUI() + updateItemListUI() } VididinEvents.EVENT_BANK_INFO_CHANGED -> { withdrawPix2.updateBankAccountInfo() } + + VididinEvents.EVENT_WITHDRAW_SUB_ITEM_PROGRESS_UPDATED -> { + updateItemListUI() + } + + VididinEvents.EVENT_WITHDRAW_SMALL_AD_FINISHED -> { + handleGotoWithdraw(0) + } } }, VididinEvents.Event_Account_Cash_Changed, VididinEvents.EVENT_AD_WATCHED_FOR_WITHDRAW_SMALL, VididinEvents.EVENT_WITHDRAW_RESULT_UPDATED, VididinEvents.EVENT_WITHDRAW_ITEM_LIST_CHANGED, - VididinEvents.EVENT_BANK_INFO_CHANGED) + VididinEvents.EVENT_BANK_INFO_CHANGED, + VididinEvents.EVENT_WITHDRAW_SUB_ITEM_PROGRESS_UPDATED, + VididinEvents.EVENT_WITHDRAW_SMALL_AD_FINISHED) readTransactionsAndShowResult() diff --git a/app/src/main/java/com/gamedog/vididin/features/withdraw/widget/WithDrawItemView.kt b/app/src/main/java/com/gamedog/vididin/features/withdraw/widget/WithDrawItemView.kt index 7b81201..5bda416 100644 --- a/app/src/main/java/com/gamedog/vididin/features/withdraw/widget/WithDrawItemView.kt +++ b/app/src/main/java/com/gamedog/vididin/features/withdraw/widget/WithDrawItemView.kt @@ -1,11 +1,14 @@ package com.gamedog.vididin.features.withdraw.widget +import android.accounts.AccountManager import android.content.Context import android.util.AttributeSet import android.view.LayoutInflater import android.widget.LinearLayout import com.ama.core.architecture.util.ResUtil +import com.ama.core.architecture.util.SpUtil import com.ama.core.architecture.util.setOnClickBatch +import com.gamedog.statisticreporter.adjust.SpHelper.Companion.KEY_USER_FROM_TYPE import com.gamedog.vididin.manager.WithdrawManager import com.gamedog.vididin.manager.WithdrawManager.Companion.STATE_WITHDRAWING import com.viddin.videos.free.R @@ -55,6 +58,10 @@ class WithDrawItemView @JvmOverloads constructor( fun updateProgressAndButUI() { var itemProgress = WithdrawManager.instance().getItemProgress(mItemIndex) * 100 + /*if (mItemIndex == 0 && SpUtil.instance().getInt(KEY_USER_FROM_TYPE) == 2 && itemProgress > 0) { + itemProgress = 100.0 + }*/ + with(mBinding) { progressBar.setProgress(itemProgress.toInt()) tvProgress.text = String.format("%.2f", itemProgress) + ResUtil.getString(R.string.percent) 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 e52153d..be7fc52 100644 --- a/app/src/main/java/com/gamedog/vididin/manager/WithdrawManager.kt +++ b/app/src/main/java/com/gamedog/vididin/manager/WithdrawManager.kt @@ -8,6 +8,7 @@ import com.ama.core.architecture.util.NetUtil import com.ama.core.architecture.util.SpUtil import com.ama.core.architecture.util.eventbus.NotifyMan import com.gamedog.statisticreporter.StatisticUtil +import com.gamedog.statisticreporter.adjust.SpHelper.Companion.KEY_USER_FROM_TYPE import com.gamedog.vididin.VidiConst import com.gamedog.vididin.VididinEvents import com.gamedog.vididin.beans.RECORD_CASH_WITHDRAW @@ -21,7 +22,6 @@ import com.gamedog.vididin.core.login.login.AccountManager import com.gamedog.vididin.manager.WithdrawManager.Companion.STATE_NEED_WATCH_AD import com.gamedog.vididin.netbase.NetworkUtil import com.gamedog.vididin.netbase.Result -import com.mbridge.msdk.thrid.okhttp.internal.http2.c import com.viddin.videos.free.R import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers @@ -116,7 +116,7 @@ class WithdrawManager private constructor() { private fun generateItemList(): MutableList { val itemList = mutableListOf() - itemList.add(WithdrawItem(0, 0.1, 100, generateSmallItemList(), isBigWithDraw = false)) + itemList.add(WithdrawItem(0, 0.1, 0, generateSmallItemList(), isBigWithDraw = false)) itemList.add(WithdrawItem(1, 1.0, AndroidUtil.randomInt(50, 70), generateSubItemList(1.0))) itemList.add(WithdrawItem(2, 10.0, AndroidUtil.randomInt(50, 70), generateSubItemList(10.0))) itemList.add(WithdrawItem(3, 20.0, AndroidUtil.randomInt(50, 70), generateSubItemList(20.0))) @@ -139,7 +139,7 @@ class WithdrawManager private constructor() { private fun generateSmallItemList(): List { val subItemList = mutableListOf() - subItemList.add(WithdrawSubItem(0, 0.1, 100, 100F, 0.1)) + subItemList.add(WithdrawSubItem(0, 0.1, 0, 0F, 0.0)) return subItemList } @@ -194,18 +194,29 @@ class WithdrawManager private constructor() { private fun calculateSubBeanProgress(subBean: WithdrawSubItem) { val needEarnProgress = 100 - subBean.startAdProgress - if (subBean.hasEarnMoneyByAd >= subBean.cashTotal) { + if (subBean.hasEarnMoneyByAd >= subBean.cashTotal || buyUserHasWatchedSmallWithdrawAd(subBean)) { subBean.currentAdProgress = 100F // update state if (subBean.withdrawState == STATE_NEED_WATCH_AD) { subBean.withdrawState = STATE_COULD_WITHDRAW } + + if (subBean.cashTotal < 1) { + NotifyMan.instance().sendEvent(VididinEvents.EVENT_WITHDRAW_SMALL_AD_FINISHED, null) + } } else { val newProgress = subBean.startAdProgress + (needEarnProgress * (subBean.hasEarnMoneyByAd / subBean.cashTotal)).toFloat() subBean.currentAdProgress = if (newProgress >= 100F) 100F else newProgress } } + private fun buyUserHasWatchedSmallWithdrawAd(subBean: WithdrawSubItem) : Boolean { + if (subBean.cashTotal < 1.0 && SpUtil.instance().getInt(KEY_USER_FROM_TYPE) == 2) { + return subBean.hasEarnMoneyByAd > 0.0 + } + return false + } + fun updateSubBeanState(subBean: WithdrawSubItem, newState: Int) { subBean.withdrawState = newState saveInfos2Sp(mWithdrawItemList)