From 0ffbda333492da2fa3fdc8db9b82378a8fbd5005 Mon Sep 17 00:00:00 2001 From: renhaoting <370797079@qq.com> Date: Mon, 12 Jan 2026 15:01:34 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9B=B4=E6=8E=A5=E7=BF=BB=E9=A1=B5=20?= =?UTF-8?q?=E4=B9=9F=E8=AE=A1=E6=95=B0=E5=B9=BF=E5=91=8A=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vididin/main/fragments/HomeFragment.kt | 41 ++++++++++++++----- .../home/fragment/HomeItemFragment.kt | 4 +- 2 files changed, 33 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/gamedog/vididin/main/fragments/HomeFragment.kt b/app/src/main/java/com/gamedog/vididin/main/fragments/HomeFragment.kt index a4f55b5..041ebf1 100644 --- a/app/src/main/java/com/gamedog/vididin/main/fragments/HomeFragment.kt +++ b/app/src/main/java/com/gamedog/vididin/main/fragments/HomeFragment.kt @@ -19,7 +19,6 @@ import com.ama.core.architecture.highlightpro.parameter.MarginOffset import com.ama.core.architecture.highlightpro.shape.OvalShape import com.ama.core.architecture.util.ResUtil import com.ama.core.architecture.util.ResUtil.dp -import com.ama.core.architecture.util.SpUtil import com.ama.core.architecture.util.setStatusBarDarkFont import com.ama.core.common.widget.PopMenuView import com.gamedog.statisticreporter.StatisticUtil @@ -53,6 +52,9 @@ import com.gamedog.vididin.main.fragments.home.YoutubeUiState as UiState class HomeFragment : AppViewsFragment(), OnSwitchTabListener, OnFragmentBackgroundListener { private var mWatchedVideoTotal = 0 private var mSwipedVideoTotal = 0 + private var mLastShowedRewardedAd = true + + private var mHasShowGuide: Boolean = false private var mTotalMs: Long = 0L override val mViewModel: ViewModel by viewModels() @@ -177,20 +179,37 @@ class HomeFragment : AppViewsFragment(), OnSwit } private fun handleEventOneVideoWatched() { - mWatchedVideoTotal ++ + mWatchedVideoTotal++ - val loopCount = VIDEO_NUM_GAP_FOR_AD_NORMAL + VIDEO_NUM_GAP_FOR_AD_REWARD - val positionInCycle = mWatchedVideoTotal % loopCount + if (mWatchedVideoTotal % VIDEO_NUM_GAP_FOR_AD_WATCHED == 0) { + if (mLastShowedRewardedAd) { + showInterstitialAd {} + } else { + handleShouldShowAdDialog() + } - if (positionInCycle == 0) { - handleShouldShowAdDialog() - } else if (positionInCycle == VIDEO_NUM_GAP_FOR_AD_NORMAL) { - showInterstitialAd {} + // reset state + mLastShowedRewardedAd = !mLastShowedRewardedAd + mWatchedVideoTotal = 0 + mSwipedVideoTotal = 0 } } private fun handleEventOneVideoSwiped() { - // TODO + mSwipedVideoTotal ++ + + if (mSwipedVideoTotal % VIDEO_NUM_GAP_FOR_AD_SWIPED == 0) { + if (mLastShowedRewardedAd) { + showInterstitialAd {} + } else { + handleShouldShowAdDialog() + } + + // reset state + mLastShowedRewardedAd = !mLastShowedRewardedAd + mWatchedVideoTotal = 0 + mSwipedVideoTotal = 0 + } } private fun handleWatchTimeTick() { @@ -315,8 +334,8 @@ class HomeFragment : AppViewsFragment(), OnSwit } companion object { - const val VIDEO_NUM_GAP_FOR_AD_NORMAL = 3 - const val VIDEO_NUM_GAP_FOR_AD_REWARD = 5 + const val VIDEO_NUM_GAP_FOR_AD_WATCHED = 3 + const val VIDEO_NUM_GAP_FOR_AD_SWIPED = 5 internal fun newInstance() = HomeFragment() } diff --git a/app/src/main/java/com/gamedog/vididin/main/fragments/home/fragment/HomeItemFragment.kt b/app/src/main/java/com/gamedog/vididin/main/fragments/home/fragment/HomeItemFragment.kt index ff83768..c93e18a 100644 --- a/app/src/main/java/com/gamedog/vididin/main/fragments/home/fragment/HomeItemFragment.kt +++ b/app/src/main/java/com/gamedog/vididin/main/fragments/home/fragment/HomeItemFragment.kt @@ -111,7 +111,9 @@ class HomeItemFragment : AppViewsEmptyViewModelFragment() { } } - + fun getVideoId(): String? { + return mVideoData?.id + } fun loadVideo() { if (null == mPlayerView) {