diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 768d128..25c669b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -45,12 +45,18 @@
android:name="com.gamedog.vididin.main.MainActivity"
android:screenOrientation="portrait" android:exported="true"
android:launchMode="singleTask" >
+
+
+
-
-
+
diff --git a/app/src/main/java/com/gamedog/vididin/VididinEvents.kt b/app/src/main/java/com/gamedog/vididin/VididinEvents.kt
index 30259ab..9a24774 100644
--- a/app/src/main/java/com/gamedog/vididin/VididinEvents.kt
+++ b/app/src/main/java/com/gamedog/vididin/VididinEvents.kt
@@ -1,6 +1,7 @@
package com.gamedog.vididin
object VididinEvents {
+
const val Event_Sign_State_Changed = 600
const val Event_Account_Gold_Changed = 601
const val Event_Account_Cash_Changed = 602
@@ -46,6 +47,9 @@ object VididinEvents {
const val EVENT_JUMP_2_SIGN= 902
+ const val AD_ACT_SHOWING = 951
+ const val AD_ACT_DESTROY = 952
+
// Withdraw related
const val EVENT_WITHDRAW_SUB_ITEM_PROGRESS_UPDATED = 500
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 16186ad..60fb687 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
@@ -2,6 +2,7 @@ package com.gamedog.vididin.features.watchad
import android.app.Activity
import android.content.Intent
+import android.os.Bundle
import android.os.CountDownTimer
import android.view.LayoutInflater
import androidx.core.view.ViewCompat
@@ -159,6 +160,13 @@ class WatchAdActivity : AppViewsEmptyViewModelActivity(), OnTabStyl
override fun onDestroy() {
super.onDestroy()
mCountDownTimer.cancel()
+
+ NotifyMan.instance().sendEvent(VididinEvents.AD_ACT_DESTROY, null)
+ }
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ NotifyMan.instance().sendEvent(VididinEvents.AD_ACT_SHOWING, null)
}
override fun ViewBinding.initObservers() {
@@ -184,7 +192,7 @@ class WatchAdActivity : AppViewsEmptyViewModelActivity(), OnTabStyl
if (!mIsLoadSuccess) {
handleLoadFailed()
}
- }, 3000)
+ }, 30000)
try {
diff --git a/app/src/main/java/com/gamedog/vididin/main/MainActivity.kt b/app/src/main/java/com/gamedog/vididin/main/MainActivity.kt
index c91c06f..ee6da2d 100644
--- a/app/src/main/java/com/gamedog/vididin/main/MainActivity.kt
+++ b/app/src/main/java/com/gamedog/vididin/main/MainActivity.kt
@@ -2,8 +2,10 @@ package com.gamedog.vididin.main
import android.app.Activity
import android.content.BroadcastReceiver
+import android.content.ComponentName
import android.content.Intent
import android.content.IntentFilter
+import android.content.pm.PackageManager
import android.view.LayoutInflater
import androidx.activity.addCallback
import androidx.activity.viewModels
@@ -12,7 +14,6 @@ import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentManager.FragmentLifecycleCallbacks
import androidx.lifecycle.lifecycleScope
import androidx.viewpager2.widget.ViewPager2
-import com.ama.core.architecture.BaseApp
import com.ama.core.architecture.appBase.AppViewsActivity
import com.ama.core.architecture.appBase.OnFragmentBackgroundListener
import com.ama.core.architecture.ext.toast
@@ -39,7 +40,6 @@ import com.remax.base.report.DataReportManager
import com.remax.base.utils.ActivityLauncher
import com.remax.bill.ads.AdResult
import com.remax.bill.ads.PreloadController
-import com.remax.bill.ads.config.AdConfigManager
import com.remax.bill.ads.ext.AdShowExt
import com.remax.bill.ads.log.AdLogger
import com.remax.notification.builder.LANDING_NOTIFICATION_ACTION
@@ -82,6 +82,8 @@ class MainActivity : AppViewsActivity(), OnTabS
override fun ViewBinding.initViews() {
+ onAdShowingStateChanged(true)
+
activityLauncher = ActivityLauncher(this@MainActivity)
navigatorAdapter = MainTabsAdapter(
@@ -146,9 +148,18 @@ class MainActivity : AppViewsActivity(), OnTabS
VididinEvents.EVENT_JUMP_2_VIDEO-> {
switchTab(0)
}
+
+ VididinEvents.AD_ACT_SHOWING-> {
+ onAdShowingStateChanged(true)
+ }
+
+ VididinEvents.AD_ACT_DESTROY-> {
+ onAdShowingStateChanged(false)
+ }
}
- }, VididinEvents.EVENT_AD_WATCHED_FOR_EARN_GOLD, VididinEvents.EVENT_JUMP_2_VIDEO)
+ }, VididinEvents.EVENT_AD_WATCHED_FOR_EARN_GOLD, VididinEvents.EVENT_JUMP_2_VIDEO,
+ VididinEvents.AD_ACT_SHOWING, VididinEvents.AD_ACT_DESTROY)
}
override fun ViewBinding.initObservers() {
@@ -186,35 +197,48 @@ class MainActivity : AppViewsActivity(), OnTabS
reportStatistics(intent, true)
}
+
+ private fun onAdShowingStateChanged(isAdShowing: Boolean) {
+ val newState = if (isAdShowing) {
+ PackageManager.COMPONENT_ENABLED_STATE_DISABLED
+ } else {
+ PackageManager.COMPONENT_ENABLED_STATE_ENABLED
+ }
+
+ packageManager.setComponentEnabledSetting(
+ ComponentName(this, "com.gamedog.vididin.main.MainActivityAlias"),
+ newState,
+ PackageManager.DONT_KILL_APP
+ )
+ }
+
fun switchTab(itemIndex: Int) {
binding.viewPager2.setCurrentItem(itemIndex, false)
}
private fun handleNotificationAction() {
if (NotificationLandingController.isFromNotification(intent)) {
- if (BaseApp.getCurrentActivity()?.localClassName?.contains("WatchAdActivity") != true) {
- val notificationAction = intent.getIntExtra(LANDING_NOTIFICATION_ACTION, -1)
- when (notificationAction) {
- PushContent.ACTION_TYPE_GAME -> {
- Router.Game.startActivity(this)
- }
-
- PushContent.ACTION_TYPE_GOLD -> {
- switchTab(1)
- }
-
- PushContent.ACTION_TYPE_WITHDRAW -> {
- Router.Withdraw.startActivity(this)
- }
-
- PushContent.ACTION_TYPE_BOX -> {
- Router.Benefit.startActivity(this)
- }
+ val notificationAction = intent.getIntExtra(LANDING_NOTIFICATION_ACTION, -1)
+ when (notificationAction) {
+ PushContent.ACTION_TYPE_GAME -> {
+ Router.Game.startActivity(this)
}
- NotificationLandingController.clearNotificationParameters(intent)
- sendNotificationClickStatistics(notificationAction)
+ PushContent.ACTION_TYPE_GOLD -> {
+ switchTab(1)
+ }
+
+ PushContent.ACTION_TYPE_WITHDRAW -> {
+ Router.Withdraw.startActivity(this)
+ }
+
+ PushContent.ACTION_TYPE_BOX -> {
+ Router.Benefit.startActivity(this)
+ }
}
+ NotificationLandingController.clearNotificationParameters(intent)
+
+ sendNotificationClickStatistics(notificationAction)
}
}