新增game center act

This commit is contained in:
renhaoting 2025-12-31 15:22:28 +08:00
parent 804df4e915
commit 9575b2a8f7
10 changed files with 119 additions and 4 deletions

View File

@ -11,6 +11,7 @@ import com.gamedog.vididin.features.withdraw.WithdrawSubRouter
import com.gamedog.vididin.features.zero.DefaultZeroBuyRouter
import com.gamedog.vididin.features.zero.ZeroBuyRouter
import com.gamedog.vididin.router.DefaultFeedbackRouter
import com.gamedog.vididin.router.DefaultGameRouter
import com.gamedog.vididin.router.DefaultMainRouter
import com.gamedog.vididin.router.DefaultPrivacyRouter
import com.gamedog.vididin.router.DefaultSplashRouter
@ -18,6 +19,7 @@ import com.gamedog.vididin.router.DefaultVersionRouter
import com.gamedog.vididin.router.DefaultWatchAdRouter
import com.gamedog.vididin.router.DefaultWithdrawRecordRouter
import com.gamedog.vididin.router.IRouterFeedback
import com.gamedog.vididin.router.IRouterGame
import com.gamedog.vididin.router.IRouterPrivacy
import com.gamedog.vididin.router.IRouterSplash
import com.gamedog.vididin.router.IRouterVersion
@ -91,6 +93,14 @@ object PrivacyModule {
fun provideRouter(): IRouterPrivacy = DefaultPrivacyRouter()
}
@Module
@InstallIn(SingletonComponent::class)
object PrivacyGame {
@Provides
@Singleton
fun provideRouter(): IRouterGame = DefaultGameRouter()
}
@Module
@InstallIn(SingletonComponent::class)
object FeedbackModule {

View File

@ -10,6 +10,7 @@ import com.gamedog.vididin.features.withdraw.WithdrawRouter
import com.gamedog.vididin.features.withdraw.WithdrawSubRouter
import com.gamedog.vididin.features.zero.ZeroBuyRouter
import com.gamedog.vididin.router.IRouterFeedback
import com.gamedog.vididin.router.IRouterGame
import com.gamedog.vididin.router.IRouterPrivacy
import com.gamedog.vididin.router.IRouterSplash
import com.gamedog.vididin.router.IRouterVersion
@ -39,6 +40,7 @@ interface RouterEntryPoint {
fun privacyRouter(): IRouterPrivacy
fun GameRouter(): IRouterGame
fun versionRouter(): IRouterVersion
fun feedbackRouter(): IRouterFeedback
fun splashRouter(): IRouterSplash

View File

@ -0,0 +1,62 @@
package com.gamedog.vididin.features.game
import android.app.Activity
import android.content.Intent
import android.view.LayoutInflater
import androidx.activity.viewModels
import com.ama.core.architecture.appBase.AppViewsActivity
import com.gamedog.vididin.VidiConst
import com.viddin.videos.free.R
import com.gamedog.vididin.main.interfaces.OnTabStyleListener
import dagger.hilt.android.AndroidEntryPoint
import kotlin.getValue
import com.viddin.videos.free.databinding.ActivityGameBinding as ViewBinding
import com.gamedog.vididin.main.MainUiState as UiState
import com.gamedog.vididin.main.MainViewModel as ViewModel
@AndroidEntryPoint
class GameCenterActivity : AppViewsActivity<ViewBinding, UiState, ViewModel>(), OnTabStyleListener {
override val mViewModel: ViewModel by viewModels()
override fun inflateViewBinding(inflater: LayoutInflater) = ViewBinding.inflate(inflater)
override fun ViewBinding.initViews() {
with(binding) {
titlebar.setBackIconColor(R.color.black)
titlebar.setTitleText(R.string.game_center, R.color.black)
webView.loadUrl(VidiConst.URL_GAME)
}
}
override fun ViewBinding.initWindowInsets() {
setImmerseRootView(contentRoot)
}
override fun ViewBinding.initListeners() {
//TODO("Not yet implemented")
}
override fun ViewBinding.initObservers() {
//TODO("Not yet implemented")
}
override fun ViewBinding.onUiStateCollect(uiState: UiState) {
//TODO("Not yet implemented")
}
override fun onTabIsDarkFont(isDarkFont: Boolean) {
//TODO("Not yet implemented")
}
companion object {
internal fun startActivity(activity: Activity) {
activity.startActivity(Intent(activity.applicationContext, GameCenterActivity::class.java))
}
}
}

View File

@ -100,7 +100,7 @@ class TasksFragment : AppViewsFragment<ViewBinding, UiState, ViewModel>(), OnTab
}
llTaskGame->{
AndroidUtil.openUrl(VidiConst.URL_GAME)
Router.Game.startActivity(requireActivity())
}
llTaskZerobuy->{

View File

@ -37,6 +37,8 @@ object Router : RouterContract {
override val Privacy: IRouterPrivacy
get() = routerEntryPoint.privacyRouter()
override val Game: IRouterGame
get() = routerEntryPoint.GameRouter()
override val Version: IRouterVersion
get() = routerEntryPoint.versionRouter()
override val Feedback: IRouterFeedback

View File

@ -26,6 +26,7 @@ interface RouterContract {
val Main: MainRouter
val Privacy: IRouterPrivacy
val Game: IRouterGame
val Version: IRouterVersion
val Feedback: IRouterFeedback
val WithdrawRecord: IRouterWithdrawRecord

View File

@ -2,6 +2,7 @@ package com.gamedog.vididin.router
import android.app.Activity
import com.gamedog.vididin.features.feedback.FeedbackActivity
import com.gamedog.vididin.features.game.GameCenterActivity
import com.gamedog.vididin.features.privacy.PrivacyActivity
import com.gamedog.vididin.features.splash.SplashActivity
import com.gamedog.vididin.features.version.VersionActivity
@ -15,6 +16,12 @@ class DefaultPrivacyRouter: IRouterPrivacy {
}
}
class DefaultGameRouter: IRouterGame {
override fun startActivity(activity: Activity) {
GameCenterActivity.Companion.startActivity(activity)
}
}
class DefaultSplashRouter: IRouterSplash {
override fun startActivity(activity: Activity) {
SplashActivity.Companion.startActivity(activity)

View File

@ -7,6 +7,10 @@ interface IRouterPrivacy {
fun startActivity(activity: Activity)
}
interface IRouterGame {
fun startActivity(activity: Activity)
}
interface IRouterVersion {
fun startActivity(activity: Activity)
}

View File

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/white"
android:id="@+id/content_root" >
<com.ama.core.architecture.widget.CustomTitleBar
android:id="@+id/titlebar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_marginHorizontal="15dp" >
<WebView
android:id="@+id/web_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</FrameLayout>
</LinearLayout>

View File

@ -218,9 +218,7 @@
<string name="net_error">Erro de rede</string>
<string name="claim_reward_onging">This purchase reward claim is ongoing.</string>
<string name="has_claimed_reward">You have claimed this reward.</string>
<string name="game_center">Game Center</string>
</resources>