Compare commits

...

4 Commits

Author SHA1 Message Date
b7a0f3e74b fix: 1. 测试版本没有 从SD卡安装 的问题。2. 重复卸载安装不生效的bug 2024-10-31 16:06:12 +08:00
c75a7444a9 Merge branch 'feat/GHZSCY-5889-therouter' into 'dev'
feat: 光环助手跳转链接规则优化(路由框架切换至 theRouter) https://jira.shanqu.cc/browse/GHZSCY-5889

See merge request halo/android/assistant-android!1925
2024-10-28 17:42:56 +08:00
0ae6279d60 feat: 光环助手跳转链接规则优化(路由框架切换至 theRouter) https://jira.shanqu.cc/browse/GHZSCY-5889 2024-10-28 17:42:56 +08:00
f4b54cbfa0 chore: 版本更新至 5.39.0
Signed-off-by: chenjuntao <chenjuntao@ghzhushou.com>
2024-10-25 11:23:43 +08:00
497 changed files with 2777 additions and 8932 deletions

View File

@ -2,7 +2,9 @@
apply plugin: 'com.android.application' apply plugin: 'com.android.application'
apply plugin: 'kotlin-android' // kotlin apply plugin: 'kotlin-android' // kotlin
apply plugin: 'kotlin-parcelize' apply plugin: 'kotlin-parcelize'
apply plugin: 'com.google.devtools.ksp'
apply plugin: 'kotlin-kapt' apply plugin: 'kotlin-kapt'
apply plugin: 'therouter'
import groovy.xml.XmlUtil import groovy.xml.XmlUtil
@ -51,6 +53,10 @@ android {
} }
} }
ksp {
arg("ROUTER_MODULE_NAME", project.getName())
}
defaultConfig { defaultConfig {
vectorDrawables.useSupportLibrary = true vectorDrawables.useSupportLibrary = true
multiDexEnabled true multiDexEnabled true
@ -123,12 +129,6 @@ android {
} }
} }
kapt {
arguments {
arg("AROUTER_MODULE_NAME", project.name)
}
}
packagingOptions { packagingOptions {
// exclude 部分冗余的文件 // exclude 部分冗余的文件
exclude 'META-INF/gradle/incremental.annotation.processors' exclude 'META-INF/gradle/incremental.annotation.processors'
@ -197,7 +197,7 @@ android {
java.srcDirs = ['src/main/java', "src/default/java"] java.srcDirs = ['src/main/java', "src/default/java"]
} }
internal { internal {
java.srcDirs = ['src/main/java', "src/default/java"] java.srcDirs = ['src/main/java', "src/default/java", "src/internal/java"]
} }
tea { tea {
java.srcDirs = ['src/main/java', 'src/tea/java'] java.srcDirs = ['src/main/java', 'src/tea/java']
@ -372,13 +372,15 @@ dependencies {
// debugImplementation "com.gu.android:toolargetool:${toolargetool}" // 需要使用调试时才启用 // debugImplementation "com.gu.android:toolargetool:${toolargetool}" // 需要使用调试时才启用
debugImplementation "com.github.nichbar:WhatTheStack:${whatTheStack}" debugImplementation "com.github.nichbar:WhatTheStack:${whatTheStack}"
ksp project(":feature:route_doc")
implementation "androidx.multidex:multidex:${multiDex}" implementation "androidx.multidex:multidex:${multiDex}"
implementation "androidx.fragment:fragment-ktx:${fragment}" implementation "androidx.fragment:fragment-ktx:${fragment}"
implementation "androidx.annotation:annotation:${annotation}" implementation "androidx.annotation:annotation:${annotation}"
implementation "androidx.viewpager2:viewpager2:${viewpager2}" implementation "androidx.viewpager2:viewpager2:${viewpager2}"
kapt "androidx.room:room-compiler:${room}" ksp("androidx.room:room-compiler:${room}")
implementation "com.tencent.vasdolly:helper:${apkChannelPackage}" implementation "com.tencent.vasdolly:helper:${apkChannelPackage}"
implementation "com.tencent.vasdolly:writer:${apkChannelPackage}" implementation "com.tencent.vasdolly:writer:${apkChannelPackage}"
@ -428,7 +430,8 @@ dependencies {
coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:${desugarJdkLibs}" coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:${desugarJdkLibs}"
kapt "com.alibaba:arouter-compiler:$arouterVersion" kapt "com.google.auto.service:auto-service:${autoServiceVersion}"
ksp "cn.therouter:apt:${routerVersion}"
implementation project(':ndownload') implementation project(':ndownload')
implementation project(':vspace-bridge:vspace') implementation project(':vspace-bridge:vspace')
@ -446,13 +449,13 @@ dependencies {
exclude group: 'androidx.swiperefreshlayout' exclude group: 'androidx.swiperefreshlayout'
} }
implementation(project(':module_setting')) { // implementation(project(':module_setting')) {
exclude group: 'androidx.swiperefreshlayout' // exclude group: 'androidx.swiperefreshlayout'
} // }
// implementation(project(':module_setting_compose')) { implementation(project(':module_setting_compose')) {
// exclude group: 'androidx.swiperefreshlayout' exclude group: 'androidx.swiperefreshlayout'
// } }
if (!gradle.ext.excludeOptionalModules || gradle.ext.enablePkg) { if (!gradle.ext.excludeOptionalModules || gradle.ext.enablePkg) {
implementation(project(':feature:pkg')) implementation(project(':feature:pkg'))

View File

@ -638,7 +638,7 @@
<!-- android:theme="@android:style/Theme.Translucent" />--> <!-- android:theme="@android:style/Theme.Translucent" />-->
<activity <activity
android:name="com.gh.gamecenter.SkipActivity" android:name="com.gh.gamecenter.SkipCompatActivity"
android:exported="true" android:exported="true"
android:theme="@style/Theme.AppCompat.Light.Fullscreen.Transparent"> android:theme="@style/Theme.AppCompat.Light.Fullscreen.Transparent">
<intent-filter> <intent-filter>

View File

@ -12,7 +12,7 @@ import android.widget.FrameLayout
import android.widget.TextView import android.widget.TextView
import androidx.appcompat.content.res.AppCompatResources import androidx.appcompat.content.res.AppCompatResources
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import com.alibaba.android.arouter.launcher.ARouter import com.therouter.TheRouter
import com.facebook.drawee.view.SimpleDraweeView import com.facebook.drawee.view.SimpleDraweeView
import com.gh.common.exposure.ExposureManager import com.gh.common.exposure.ExposureManager
import com.gh.common.util.DirectUtils.directToLinkPage import com.gh.common.util.DirectUtils.directToLinkPage
@ -94,8 +94,7 @@ object AdDelegateHelper {
private fun initAdSdkInternal(context: Context) { private fun initAdSdkInternal(context: Context) {
// 初始化穿山甲 // 初始化穿山甲
if (mCsjAdImpl == null) { if (mCsjAdImpl == null) {
mCsjAdImpl = mCsjAdImpl = TheRouter.get(ICsjAdProvider::class.java)
ARouter.getInstance().build(RouteConsts.provider.csjAd).navigation() as? ICsjAdProvider
val csjAppId = if (EnvHelper.isDevEnv) BuildConfig.DEV_CSJ_APPID else BuildConfig.CSJ_APPID val csjAppId = if (EnvHelper.isDevEnv) BuildConfig.DEV_CSJ_APPID else BuildConfig.CSJ_APPID
mCsjAdImpl?.initSDK(context, csjAppId, HaloApp.getInstance().oaid) mCsjAdImpl?.initSDK(context, csjAppId, HaloApp.getInstance().oaid)
// 监听亮色/暗色模式切换 // 监听亮色/暗色模式切换

View File

@ -1,13 +1,10 @@
package com.gh.ad package com.gh.ad
import android.content.Context
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.view.ViewStub import android.view.ViewStub
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.gamecenter.common.constant.Constants import com.gh.gamecenter.common.constant.Constants
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.common.provider.ILaunchAd import com.gh.gamecenter.common.provider.ILaunchAd
import com.gh.gamecenter.common.utils.SensorsBridge import com.gh.gamecenter.common.utils.SensorsBridge
import com.gh.gamecenter.common.utils.goneIf import com.gh.gamecenter.common.utils.goneIf
@ -15,10 +12,8 @@ import com.gh.gamecenter.core.utils.DisplayUtils
import com.gh.gamecenter.core.utils.SPUtils import com.gh.gamecenter.core.utils.SPUtils
import com.gh.gamecenter.entity.AdConfig import com.gh.gamecenter.entity.AdConfig
@Route(path = RouteConsts.provider.vaAd, name = "畅玩启动页广告") @com.therouter.inject.ServiceProvider
class LaunchAdImpl : ILaunchAd { class LaunchAdImpl : ILaunchAd {
override fun init(context: Context?) {
}
override fun requestAd(fragment: Fragment, container: ViewGroup, maskView: View, topViewStub: ViewStub, bottomViewStub: ViewStub, adClickAction: () -> Unit): View { override fun requestAd(fragment: Fragment, container: ViewGroup, maskView: View, topViewStub: ViewStub, bottomViewStub: ViewStub, adClickAction: () -> Unit): View {
if (AdDelegateHelper.shouldShowHelperLaunchAd()) { if (AdDelegateHelper.shouldShowHelperLaunchAd()) {
@ -104,4 +99,4 @@ class LaunchAdImpl : ILaunchAd {
companion object { companion object {
private const val AD_PLACEMENT = "畅玩启动" private const val AD_PLACEMENT = "畅玩启动"
} }
} }

View File

@ -4,7 +4,7 @@ import android.app.Activity
import android.app.Application import android.app.Application
import android.os.Bundle import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import com.alibaba.android.arouter.launcher.ARouter import com.therouter.TheRouter
import com.gh.ad.AdDelegateHelper import com.gh.ad.AdDelegateHelper
import com.gh.common.util.FloatingBackViewManager import com.gh.common.util.FloatingBackViewManager
import com.gh.common.xapk.XapkInstaller import com.gh.common.xapk.XapkInstaller
@ -53,7 +53,7 @@ class GlobalActivityLifecycleObserver : Application.ActivityLifecycleCallbacks {
if (GlobalActivityManager.activityCount == 1) { if (GlobalActivityManager.activityCount == 1) {
// 清除桌面角标 // 清除桌面角标
if (activity !is SplashScreenActivity && activity !is AuthorizationActivity) { if (activity !is SplashScreenActivity && activity !is AuthorizationActivity) {
val pushProvider = ARouter.getInstance().build(RouteConsts.provider.push).navigation() as? IPushProvider val pushProvider = TheRouter.get(IPushProvider::class.java)
pushProvider?.cleanBadgeNumber(activity.applicationContext) pushProvider?.cleanBadgeNumber(activity.applicationContext)
} }
} }
@ -126,9 +126,7 @@ class GlobalActivityLifecycleObserver : Application.ActivityLifecycleCallbacks {
} }
private fun isSuggestionActivity(activity: Activity): Boolean { private fun isSuggestionActivity(activity: Activity): Boolean {
val helpAndFeedbackProvider = val helpAndFeedbackProvider = TheRouter.get(IHelpAndFeedbackProvider::class.java)
ARouter.getInstance().build(RouteConsts.provider.helpAndFeedback)
.navigation() as? IHelpAndFeedbackProvider
return helpAndFeedbackProvider?.isSuggestionActivity(activity) ?: false return helpAndFeedbackProvider?.isSuggestionActivity(activity) ?: false
} }

View File

@ -11,7 +11,7 @@ import androidx.appcompat.app.AppCompatActivity
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentActivity import androidx.fragment.app.FragmentActivity
import androidx.fragment.app.FragmentManager import androidx.fragment.app.FragmentManager
import com.alibaba.android.arouter.launcher.ARouter import com.therouter.TheRouter
import com.gh.common.exposure.ExposureManager import com.gh.common.exposure.ExposureManager
import com.gh.common.util.* import com.gh.common.util.*
import com.gh.common.util.LogUtils import com.gh.common.util.LogUtils
@ -345,7 +345,7 @@ class DefaultJsApi(
@JavascriptInterface @JavascriptInterface
fun getPushId(): String { fun getPushId(): String {
val pushProvider = ARouter.getInstance().build(RouteConsts.provider.push).navigation() as? IPushProvider val pushProvider = TheRouter.get(IPushProvider::class.java)
return pushProvider?.getRegistrationId(HaloApp.getInstance()) ?: "unknown" return pushProvider?.getRegistrationId(HaloApp.getInstance()) ?: "unknown"
} }
@ -424,8 +424,7 @@ class DefaultJsApi(
@JavascriptInterface @JavascriptInterface
fun showQaFeedbackDialog(msg: Any) { fun showQaFeedbackDialog(msg: Any) {
val mHelpAndFeedbackHelp = val mHelpAndFeedbackHelp = TheRouter.get(IHelpAndFeedbackProvider::class.java)
ARouter.getInstance().build(RouteConsts.provider.helpAndFeedback).navigation() as? IHelpAndFeedbackProvider
mHelpAndFeedbackHelp?.showQaFeedbackDialogFragment(context as AppCompatActivity, msg.toString()) mHelpAndFeedbackHelp?.showQaFeedbackDialogFragment(context as AppCompatActivity, msg.toString())
} }

View File

@ -15,6 +15,7 @@ import com.gh.common.util.DirectUtils.directToLegacyVideoDetail
import com.gh.common.util.DirectUtils.directToLinkPage import com.gh.common.util.DirectUtils.directToLinkPage
import com.gh.common.util.DirectUtils.directToQa import com.gh.common.util.DirectUtils.directToQa
import com.gh.common.util.PackageUtils import com.gh.common.util.PackageUtils
import com.gh.gamecenter.SkipCompatActivity
import com.gh.gamecenter.WebActivity import com.gh.gamecenter.WebActivity
import com.gh.gamecenter.common.constant.Constants import com.gh.gamecenter.common.constant.Constants
import com.gh.gamecenter.common.constant.EntranceConsts import com.gh.gamecenter.common.constant.EntranceConsts
@ -66,6 +67,10 @@ object DefaultUrlHandler {
bringAppToFront: Boolean = false, bringAppToFront: Boolean = false,
sourceEntrance: String = ""): Boolean { sourceEntrance: String = ""): Boolean {
val uri = Uri.parse(url) val uri = Uri.parse(url)
// 优先交给新的路由拦截处理
if (SkipCompatActivity.handleSkip(context, uri)) return true
if ("ghzhushou" == uri.scheme) { if ("ghzhushou" == uri.scheme) {
Utils.log("url = $url") Utils.log("url = $url")
Utils.log("url = " + uri.scheme!!) Utils.log("url = " + uri.scheme!!)

View File

@ -103,7 +103,6 @@ class AccelerateNotificationHandler(priority: Int) : PriorityChainHandler(priori
context = activity, context = activity,
gameId = gameEntity.id, gameId = gameEntity.id,
entrance = "首页插件上架弹窗", entrance = "首页插件上架弹窗",
defaultTab = -1,
isSkipGameComment = false, isSkipGameComment = false,
scrollToLibao = false, scrollToLibao = false,
openVideoStreaming = false, openVideoStreaming = false,

View File

@ -1,18 +0,0 @@
package com.gh.common.provider
import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.common.util.ActivationHelper
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IActivationProvider
@Route(path = RouteConsts.provider.activation, name = "ActivationHelper暴露服务")
class ActivationProviderImpl : IActivationProvider {
override fun init(context: Context?) {
// Do nothing
}
override fun sendActivationInfo() {
ActivationHelper.sendActivationInfo()
}
}

View File

@ -1,19 +0,0 @@
package com.gh.common.provider
import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.common.util.AdHelper
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.feature.entity.SettingsEntity
import com.gh.gamecenter.feature.provider.IAdHelperProvider
@Route(path = RouteConsts.provider.adHelper, name = "AdHelper暴露服务")
class AdHelperProviderImpl : IAdHelperProvider {
override fun getSuggestionFunctionAd(): SettingsEntity.AD? {
return AdHelper.getAd(AdHelper.LOCATION_SUGGESTION_FUNCTION)
}
override fun init(context: Context?) {
// Do nothing
}
}

View File

@ -1,20 +1,15 @@
package com.gh.common.provider package com.gh.common.provider
import android.content.Context import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.gamecenter.BuildConfig import com.gh.gamecenter.BuildConfig
import com.gh.gamecenter.R import com.gh.gamecenter.R
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IAppProvider import com.gh.gamecenter.core.provider.IAppProvider
import com.gh.gamecenter.core.provider.IFlavorProvider import com.gh.gamecenter.core.provider.IFlavorProvider
import com.gh.gamecenter.va.VCore import com.gh.gamecenter.va.VCore
import com.halo.assistant.HaloApp import com.halo.assistant.HaloApp
@Route(path = RouteConsts.provider.app, name = "Application暴露服务") @com.therouter.inject.ServiceProvider
class AppProviderImpl : IAppProvider { class AppProviderImpl : IAppProvider {
override fun init(context: Context?) {
// Do nothing
}
override fun getAppName(): String { override fun getAppName(): String {
return HaloApp.getInstance().getString(R.string.app_name) return HaloApp.getInstance().getString(R.string.app_name)
@ -93,4 +88,5 @@ class AppProviderImpl : IAppProvider {
override fun initImageLoaderIfNeeded() { override fun initImageLoaderIfNeeded() {
HaloApp.getInstance().initFresco() HaloApp.getInstance().initFresco()
} }
} }

View File

@ -1,16 +1,13 @@
package com.gh.common.provider package com.gh.common.provider
import android.content.Context
import android.view.View import android.view.View
import android.widget.LinearLayout import android.widget.LinearLayout
import android.widget.TextView import android.widget.TextView
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.common.databind.BindingAdapters import com.gh.common.databind.BindingAdapters
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.feature.entity.GameEntity import com.gh.gamecenter.feature.entity.GameEntity
import com.gh.gamecenter.feature.provider.IBindingAdaptersProvider import com.gh.gamecenter.feature.provider.IBindingAdaptersProvider
@Route(path = RouteConsts.provider.bindingAdapters, name = "BindingAdapters暴露服务") @com.therouter.inject.ServiceProvider
class BindingAdaptersProviderImpl : IBindingAdaptersProvider { class BindingAdaptersProviderImpl : IBindingAdaptersProvider {
override fun setGameName( override fun setGameName(
view: TextView, view: TextView,
@ -31,8 +28,4 @@ class BindingAdaptersProviderImpl : IBindingAdaptersProvider {
override fun setGame(view: View, gameEntity: GameEntity) { override fun setGame(view: View, gameEntity: GameEntity) {
BindingAdapters.setGame(view, gameEntity) BindingAdapters.setGame(view, gameEntity)
} }
override fun init(context: Context?) {
// Do nothing
}
} }

View File

@ -1,12 +1,9 @@
package com.gh.common.provider package com.gh.common.provider
import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.download.server.BrowserInstallHelper import com.gh.download.server.BrowserInstallHelper
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IBrowserInstallHelperProvider import com.gh.gamecenter.core.provider.IBrowserInstallHelperProvider
@Route(path = RouteConsts.provider.browserInstallHelper, name = "BrowserInstallHelper暴露服务") @com.therouter.inject.ServiceProvider
class BrowserInstallHelperProviderImpl : IBrowserInstallHelperProvider { class BrowserInstallHelperProviderImpl : IBrowserInstallHelperProvider {
override fun isUseBrowserToInstallEnabled(): Boolean = BrowserInstallHelper.isUseBrowserToInstallEnabled() override fun isUseBrowserToInstallEnabled(): Boolean = BrowserInstallHelper.isUseBrowserToInstallEnabled()
@ -15,9 +12,4 @@ class BrowserInstallHelperProviderImpl : IBrowserInstallHelperProvider {
override fun logSwitchInstallSettingEvent() { override fun logSwitchInstallSettingEvent() {
BrowserInstallHelper.logOrdinaryBrowserEvent(BrowserInstallHelper.Type.SWITCH_INSTALL_SETTING) BrowserInstallHelper.logOrdinaryBrowserEvent(BrowserInstallHelper.Type.SWITCH_INSTALL_SETTING)
} }
override fun init(context: Context?) {
// Do nothing
}
} }

View File

@ -1,17 +1,10 @@
package com.gh.common.provider package com.gh.common.provider
import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.gamecenter.BuildConfig import com.gh.gamecenter.BuildConfig
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IBuildConfigProvider import com.gh.gamecenter.core.provider.IBuildConfigProvider
@Route(path = RouteConsts.provider.buildConfig, name = "BuildConfig暴露服务") @com.therouter.inject.ServiceProvider
class BuildConfigImpl : IBuildConfigProvider { class BuildConfigImpl : IBuildConfigProvider {
override fun init(context: Context?) {
// Do nothing
}
override fun getApplicationId(): String = BuildConfig.APPLICATION_ID override fun getApplicationId(): String = BuildConfig.APPLICATION_ID
override fun getVersionName(): String = BuildConfig.VERSION_NAME override fun getVersionName(): String = BuildConfig.VERSION_NAME

View File

@ -1,18 +1,12 @@
package com.gh.common.provider package com.gh.common.provider
import android.content.Context import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.common.util.CheckLoginUtils import com.gh.common.util.CheckLoginUtils
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.ICheckLoginProvider import com.gh.gamecenter.core.provider.ICheckLoginProvider
@Route(path = RouteConsts.provider.checkLogin, name = "CheckLoginUtils暴露服务") @com.therouter.inject.ServiceProvider
class CheckLoginProviderImpl : ICheckLoginProvider { class CheckLoginProviderImpl : ICheckLoginProvider {
override fun checkLogin(context: Context, entrance: String, action: (() -> Unit)?) { override fun checkLogin(context: Context, entrance: String, action: (() -> Unit)?) {
CheckLoginUtils.checkLogin(context, entrance, action) CheckLoginUtils.checkLogin(context, entrance, action)
} }
override fun init(context: Context?) {
// Do nothing
}
} }

View File

@ -3,20 +3,16 @@ package com.gh.common.provider
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.os.Parcelable import android.os.Parcelable
import com.alibaba.android.arouter.facade.annotation.Route import com.therouter.router.Route
import com.gh.gamecenter.CommentDetailActivity import com.gh.gamecenter.CommentDetailActivity
import com.gh.gamecenter.common.constant.RouteConsts import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.feature.provider.ICommentDetailProvider import com.gh.gamecenter.feature.provider.ICommentDetailProvider
import com.gh.gamecenter.feature.entity.MessageEntity import com.gh.gamecenter.feature.entity.MessageEntity
@Route(path = RouteConsts.provider.commentDetail, name = "CommentDetailActivity暴露服务") @com.therouter.inject.ServiceProvider
class CommentDetailProviderImpl : ICommentDetailProvider { class CommentDetailProviderImpl : ICommentDetailProvider {
override fun getIntent(context: Context, commentId: String?, message: Parcelable): Intent { override fun getIntent(context: Context, commentId: String?, message: Parcelable): Intent {
return CommentDetailActivity.getIntent(context, commentId, message as MessageEntity.Article) return CommentDetailActivity.getIntent(context, commentId, message as MessageEntity.Article)
} }
}
override fun init(context: Context?) {
// Do nothing
}
}

View File

@ -1,18 +1,14 @@
package com.gh.common.provider package com.gh.common.provider
import android.content.Context import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route import com.therouter.router.Route
import com.gh.gamecenter.common.constant.RouteConsts import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.ICommentManagerProvider import com.gh.gamecenter.core.provider.ICommentManagerProvider
import com.gh.gamecenter.manager.CommentManager import com.gh.gamecenter.manager.CommentManager
@Route(path = RouteConsts.provider.commentManager, name = "CommentManager暴露服务") @com.therouter.inject.ServiceProvider
class CommentManagerProviderImpl : ICommentManagerProvider { class CommentManagerProviderImpl : ICommentManagerProvider {
override fun addUrl(ids: String) { override fun addUrl(ids: String) {
CommentManager.getInstance().addUrl(ids) CommentManager.getInstance().addUrl(ids)
} }
override fun init(context: Context?) {
// Do nothing
}
} }

View File

@ -2,12 +2,12 @@ package com.gh.common.provider
import android.content.Context import android.content.Context
import android.widget.TextView import android.widget.TextView
import com.alibaba.android.arouter.facade.annotation.Route import com.therouter.router.Route
import com.gh.common.util.CommentUtils import com.gh.common.util.CommentUtils
import com.gh.gamecenter.common.constant.RouteConsts import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.feature.provider.ICommentUtilsProvider import com.gh.gamecenter.feature.provider.ICommentUtilsProvider
@Route(path = RouteConsts.provider.commentUtils, name = "CommentUtils暴露服务") @com.therouter.inject.ServiceProvider
class CommentUtilsProviderImpl : ICommentUtilsProvider { class CommentUtilsProviderImpl : ICommentUtilsProvider {
override fun setCommentTime(textView: TextView, time: Long) { override fun setCommentTime(textView: TextView, time: Long) {
CommentUtils.setCommentTime(textView, time) CommentUtils.setCommentTime(textView, time)
@ -16,8 +16,4 @@ class CommentUtilsProviderImpl : ICommentUtilsProvider {
override fun getCommentTime(timestamp: Long): String { override fun getCommentTime(timestamp: Long): String {
return CommentUtils.getCommentTime(timestamp) return CommentUtils.getCommentTime(timestamp)
} }
override fun init(context: Context?) {
// Do nothing
}
} }

View File

@ -8,7 +8,7 @@ import android.widget.LinearLayout
import android.widget.TextView import android.widget.TextView
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.viewbinding.ViewBinding import androidx.viewbinding.ViewBinding
import com.alibaba.android.arouter.facade.annotation.Route import com.therouter.router.Route
import com.facebook.drawee.view.SimpleDraweeView import com.facebook.drawee.view.SimpleDraweeView
import com.gh.common.util.ConcernContentUtils import com.gh.common.util.ConcernContentUtils
import com.gh.common.view.ImageContainerView import com.gh.common.view.ImageContainerView
@ -18,7 +18,7 @@ import com.gh.gamecenter.common.utils.toArrayList
import com.gh.gamecenter.core.provider.IConcernArticleUtilsProvider import com.gh.gamecenter.core.provider.IConcernArticleUtilsProvider
import com.gh.gamecenter.databinding.RecyclerGameArticleBinding import com.gh.gamecenter.databinding.RecyclerGameArticleBinding
@Route(path = RouteConsts.provider.concernContentUtils, name = "ConcernContentUtils暴露服务") @com.therouter.inject.ServiceProvider
class ConcernArticleUtilsProviderImpl : IConcernArticleUtilsProvider { class ConcernArticleUtilsProviderImpl : IConcernArticleUtilsProvider {
override fun addContentPic( override fun addContentPic(
context: Context, context: Context,
@ -95,8 +95,4 @@ class ConcernArticleUtilsProviderImpl : IConcernArticleUtilsProvider {
override fun getTvComment(binding: ViewBinding): TextView = (binding as RecyclerGameArticleBinding).tvComment override fun getTvComment(binding: ViewBinding): TextView = (binding as RecyclerGameArticleBinding).tvComment
override fun getTvShare(binding: ViewBinding): TextView = (binding as RecyclerGameArticleBinding).tvShare override fun getTvShare(binding: ViewBinding): TextView = (binding as RecyclerGameArticleBinding).tvShare
}
override fun init(context: Context?) {
// Do nothing
}
}

View File

@ -6,14 +6,14 @@ import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.TextView import android.widget.TextView
import androidx.viewbinding.ViewBinding import androidx.viewbinding.ViewBinding
import com.alibaba.android.arouter.facade.annotation.Route import com.therouter.router.Route
import com.gh.gamecenter.common.constant.RouteConsts import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.common.utils.goneIf import com.gh.gamecenter.common.utils.goneIf
import com.gh.gamecenter.common.utils.toColor import com.gh.gamecenter.common.utils.toColor
import com.gh.gamecenter.core.provider.IConcernGiftPackUtilsProvider import com.gh.gamecenter.core.provider.IConcernGiftPackUtilsProvider
import com.gh.gamecenter.databinding.RecyclerGiftPackBinding import com.gh.gamecenter.databinding.RecyclerGiftPackBinding
@Route(path = RouteConsts.provider.concernGiftPackUtils, name = "ConcernGiftPackUtils暴露服务") @com.therouter.inject.ServiceProvider
class ConcernGiftPackUtilsProviderImpl : IConcernGiftPackUtilsProvider { class ConcernGiftPackUtilsProviderImpl : IConcernGiftPackUtilsProvider {
override fun createBinding(parent: ViewGroup): ViewBinding { override fun createBinding(parent: ViewGroup): ViewBinding {
val inflater = LayoutInflater.from(parent.context) val inflater = LayoutInflater.from(parent.context)
@ -48,7 +48,4 @@ class ConcernGiftPackUtilsProviderImpl : IConcernGiftPackUtilsProvider {
override fun getTvGiftPackContent(viewBinding: ViewBinding) = override fun getTvGiftPackContent(viewBinding: ViewBinding) =
(viewBinding as RecyclerGiftPackBinding).tvGiftPackContent (viewBinding as RecyclerGiftPackBinding).tvGiftPackContent
override fun init(context: Context?) { }
// Do Nothing
}
}

View File

@ -2,19 +2,15 @@ package com.gh.common.provider
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import com.alibaba.android.arouter.facade.annotation.Route import com.therouter.router.Route
import com.gh.gamecenter.ConcernActivity import com.gh.gamecenter.ConcernActivity
import com.gh.gamecenter.common.constant.RouteConsts import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IConcernProvider import com.gh.gamecenter.core.provider.IConcernProvider
@Route(path = RouteConsts.provider.concernActivity, name = "ConcernActivity暴露服务") @com.therouter.inject.ServiceProvider
class ConcernProviderImpl : IConcernProvider { class ConcernProviderImpl : IConcernProvider {
override fun getIntent(context: Context, entrance: String): Intent { override fun getIntent(context: Context, entrance: String): Intent {
return ConcernActivity.getIntent(context, entrance) return ConcernActivity.getIntent(context, entrance)
} }
override fun init(context: Context?) {
// Do nothing
}
} }

View File

@ -2,18 +2,14 @@ package com.gh.common.provider
import android.content.Context import android.content.Context
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import com.alibaba.android.arouter.facade.annotation.Route import com.therouter.router.Route
import com.gh.gamecenter.common.constant.RouteConsts import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IConcernShareNewsProvider import com.gh.gamecenter.core.provider.IConcernShareNewsProvider
import com.gh.gamecenter.newsdetail.NewsShareDialog import com.gh.gamecenter.newsdetail.NewsShareDialog
@Route(path = RouteConsts.provider.concernShareNews, name = "ConcernShareNews暴露服务") @com.therouter.inject.ServiceProvider
class ConcernShareNewsProviderImpl : IConcernShareNewsProvider { class ConcernShareNewsProviderImpl : IConcernShareNewsProvider {
override fun share(activity: AppCompatActivity, shortId: String?, id: String?, gameIcon: String?, title: String?) { override fun share(activity: AppCompatActivity, shortId: String?, id: String?, gameIcon: String?, title: String?) {
NewsShareDialog.show(activity, shortId, id, gameIcon, title) NewsShareDialog.show(activity, shortId, id, gameIcon, title)
} }
override fun init(context: Context?) {
// Do Nothing
}
} }

View File

@ -1,12 +1,9 @@
package com.gh.common.provider package com.gh.common.provider
import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.common.constant.Config import com.gh.common.constant.Config
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IConfigProvider import com.gh.gamecenter.core.provider.IConfigProvider
@Route(path = RouteConsts.provider.config, name = "Config暴露服务") @com.therouter.inject.ServiceProvider
class ConfigProviderImpl : IConfigProvider { class ConfigProviderImpl : IConfigProvider {
override fun getTencentAppId(): String { override fun getTencentAppId(): String {
return Config.TENCENT_APPID return Config.TENCENT_APPID
@ -103,8 +100,4 @@ class ConfigProviderImpl : IConfigProvider {
override fun isJiguangSwitch(): Boolean { override fun isJiguangSwitch(): Boolean {
return Config.getNewApiSettingsEntity()?.jiguangSwitch ?: false return Config.getNewApiSettingsEntity()?.jiguangSwitch ?: false
} }
override fun init(context: Context?) {
// Do nothing
}
} }

View File

@ -1,19 +1,12 @@
package com.gh.common.provider package com.gh.common.provider
import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.common.constant.Config import com.gh.common.constant.Config
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.feature.entity.SettingsEntity import com.gh.gamecenter.feature.entity.SettingsEntity
import com.gh.gamecenter.feature.provider.IConfigSettingProvider import com.gh.gamecenter.feature.provider.IConfigSettingProvider
@Route(path = RouteConsts.provider.configSetting, name = "Config.getSettings暴露服务") @com.therouter.inject.ServiceProvider
class ConfigSettingProviderImpl : IConfigSettingProvider { class ConfigSettingProviderImpl : IConfigSettingProvider {
override fun getSettings(): SettingsEntity? { override fun getSettings(): SettingsEntity? {
return Config.getSettings() return Config.getSettings()
} }
override fun init(context: Context?) {
// do nothing
}
} }

View File

@ -1,12 +1,12 @@
package com.gh.common.provider package com.gh.common.provider
import android.content.Context import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route import com.therouter.router.Route
import com.gh.common.util.DataCollectionUtils import com.gh.common.util.DataCollectionUtils
import com.gh.gamecenter.common.constant.RouteConsts import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.feature.provider.IDataCollectionProvider import com.gh.gamecenter.feature.provider.IDataCollectionProvider
@Route(path = RouteConsts.provider.dataCollection, name = "DataCollectionUtils暴露服务") @com.therouter.inject.ServiceProvider
class DataCollectionProviderImpl : IDataCollectionProvider { class DataCollectionProviderImpl : IDataCollectionProvider {
override fun uploadClick(context: Context, vararg args: String) { override fun uploadClick(context: Context, vararg args: String) {
DataCollectionUtils.uploadClick(context, *args) DataCollectionUtils.uploadClick(context, *args)
@ -15,8 +15,4 @@ class DataCollectionProviderImpl : IDataCollectionProvider {
override fun uploadConcern(context: Context, vararg args: String) { override fun uploadConcern(context: Context, vararg args: String) {
DataCollectionUtils.uploadConcern(context, *args) DataCollectionUtils.uploadConcern(context, *args)
} }
override fun init(context: Context?) {
// Do nothing
}
} }

View File

@ -1,20 +1,12 @@
package com.gh.common.provider package com.gh.common.provider
import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.common.util.DataUtils import com.gh.common.util.DataUtils
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IDataUtilsProvider import com.gh.gamecenter.core.provider.IDataUtilsProvider
import com.halo.assistant.HaloApp import com.halo.assistant.HaloApp
@Route(path = RouteConsts.provider.dataUtils, name = "DataUtils暴露服务") @com.therouter.inject.ServiceProvider
class DataUtilsProviderImpl : IDataUtilsProvider { class DataUtilsProviderImpl : IDataUtilsProvider {
override fun getDeviceCertification() { override fun getDeviceCertification() {
DataUtils.getDeviceCertification(HaloApp.getInstance().gid) DataUtils.getDeviceCertification(HaloApp.getInstance().gid)
} }
}
override fun init(context: Context?) {
// Do nothing
}
}

View File

@ -1,12 +1,12 @@
package com.gh.common.provider package com.gh.common.provider
import android.content.Context import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route import com.therouter.router.Route
import com.gh.common.DefaultUrlHandler import com.gh.common.DefaultUrlHandler
import com.gh.gamecenter.common.constant.RouteConsts import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IDefaultUrlHandlerProvider import com.gh.gamecenter.core.provider.IDefaultUrlHandlerProvider
@Route(path = RouteConsts.provider.defaultUrlHandler, name = "DefaultUrlHandler暴露服务") @com.therouter.inject.ServiceProvider
class DefaultUrlHandlerProviderImpl : IDefaultUrlHandlerProvider { class DefaultUrlHandlerProviderImpl : IDefaultUrlHandlerProvider {
override fun interceptUrl( override fun interceptUrl(
@ -19,7 +19,4 @@ class DefaultUrlHandlerProviderImpl : IDefaultUrlHandlerProvider {
return DefaultUrlHandler.interceptUrl(context, url, null, entrance, bringAppToFront, sourceEntrance) return DefaultUrlHandler.interceptUrl(context, url, null, entrance, bringAppToFront, sourceEntrance)
} }
override fun init(context: Context?) { }
// Do nothing
}
}

View File

@ -2,14 +2,12 @@ package com.gh.common.provider
import android.app.Dialog import android.app.Dialog
import android.content.Context import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.common.util.DialogUtils import com.gh.common.util.DialogUtils
import com.gh.gamecenter.common.callback.CancelListener import com.gh.gamecenter.common.callback.CancelListener
import com.gh.gamecenter.common.callback.ConfirmListener import com.gh.gamecenter.common.callback.ConfirmListener
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IDialogUtilsProvider import com.gh.gamecenter.core.provider.IDialogUtilsProvider
@Route(path = RouteConsts.provider.dialogUtils, name = "DialogUtils暴露服务") @com.therouter.inject.ServiceProvider
class DialogUtilsProviderImpl : IDialogUtilsProvider { class DialogUtilsProviderImpl : IDialogUtilsProvider {
override fun showRegulationTestDialog(context: Context, confirm: () -> Unit, cancel: () -> Unit) { override fun showRegulationTestDialog(context: Context, confirm: () -> Unit, cancel: () -> Unit) {
DialogUtils.showRegulationTestDialog(context, object : ConfirmListener { DialogUtils.showRegulationTestDialog(context, object : ConfirmListener {
@ -45,8 +43,4 @@ class DialogUtilsProviderImpl : IDialogUtilsProvider {
} }
override fun showBindPhoneDialog(context: Context, confirm: () -> Unit): Dialog = DialogUtils.showBindPhoneDialog(context) { confirm.invoke() } override fun showBindPhoneDialog(context: Context, confirm: () -> Unit): Dialog = DialogUtils.showBindPhoneDialog(context) { confirm.invoke() }
override fun init(context: Context?) {
// Do nothing
}
} }

View File

@ -3,12 +3,12 @@ package com.gh.common.provider
import android.app.Activity import android.app.Activity
import android.content.Context import android.content.Context
import android.os.Bundle import android.os.Bundle
import com.alibaba.android.arouter.facade.annotation.Route import com.therouter.router.Route
import com.gh.common.util.DirectUtils import com.gh.common.util.DirectUtils
import com.gh.gamecenter.common.constant.RouteConsts import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IDirectProvider import com.gh.gamecenter.core.provider.IDirectProvider
@Route(path = RouteConsts.provider.directUtils, name = "DirectUtils暴露服务") @com.therouter.inject.ServiceProvider
class DirectProviderImpl : IDirectProvider { class DirectProviderImpl : IDirectProvider {
override fun directToWebView(context: Context, url: String, entrance: String?) { override fun directToWebView(context: Context, url: String, entrance: String?) {
@ -96,8 +96,4 @@ class DirectProviderImpl : IDirectProvider {
override fun directToExternalBrowser(context: Context, url: String) { override fun directToExternalBrowser(context: Context, url: String) {
DirectUtils.directToExternalBrowser(context, url) DirectUtils.directToExternalBrowser(context, url)
} }
override fun init(context: Context?) {
// Do nothing
}
} }

View File

@ -1,10 +1,7 @@
package com.gh.common.provider package com.gh.common.provider
import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.common.util.NewFlatLogUtils import com.gh.common.util.NewFlatLogUtils
import com.gh.gamecenter.common.base.GlobalActivityManager import com.gh.gamecenter.common.base.GlobalActivityManager
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.common.exposure.ExposureSource import com.gh.gamecenter.common.exposure.ExposureSource
import com.gh.gamecenter.common.utils.* import com.gh.gamecenter.common.utils.*
import com.gh.gamecenter.entity.GameUpdateEntity import com.gh.gamecenter.entity.GameUpdateEntity
@ -17,7 +14,7 @@ import com.gh.gamecenter.packagehelper.PackageRepository
import com.lightgame.download.DownloadEntity import com.lightgame.download.DownloadEntity
import com.lightgame.utils.Utils import com.lightgame.utils.Utils
@Route(path = RouteConsts.provider.downloadButtonClickedHandler, name = "DownloadButton点击事件暴露服务") @com.therouter.inject.ServiceProvider
class DownloadButtonClickedProviderImpl : IDownloadButtonClickedProvider { class DownloadButtonClickedProviderImpl : IDownloadButtonClickedProvider {
override fun onClicked(downloadButton: DownloadButton) { override fun onClicked(downloadButton: DownloadButton) {
var gameId = "" var gameId = ""
@ -139,8 +136,4 @@ class DownloadButtonClickedProviderImpl : IDownloadButtonClickedProvider {
} }
} }
override fun init(context: Context?) {
// do nothing
}
} }

View File

@ -1,13 +1,10 @@
package com.gh.common.provider package com.gh.common.provider
import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.download.DownloadManager import com.gh.download.DownloadManager
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IDownloadManagerProvider import com.gh.gamecenter.core.provider.IDownloadManagerProvider
import com.lightgame.download.DownloadEntity import com.lightgame.download.DownloadEntity
@Route(path = RouteConsts.provider.downloadManager, name = "DownloadManager暴露服务") @com.therouter.inject.ServiceProvider
class DownloadManagerProviderImpl : IDownloadManagerProvider { class DownloadManagerProviderImpl : IDownloadManagerProvider {
override fun getDownloadEntityByUrl(url: String): DownloadEntity? { override fun getDownloadEntityByUrl(url: String): DownloadEntity? {
@ -18,8 +15,4 @@ class DownloadManagerProviderImpl : IDownloadManagerProvider {
DownloadManager.getInstance().resumeAllInvisiblePendingTask() DownloadManager.getInstance().resumeAllInvisiblePendingTask()
} }
override fun init(context: Context?) {
// Do nothing
}
} }

View File

@ -5,15 +5,16 @@ import android.content.Intent
import android.os.Build import android.os.Build
import android.os.Bundle import android.os.Bundle
import androidx.fragment.app.FragmentActivity import androidx.fragment.app.FragmentActivity
import com.alibaba.android.arouter.facade.annotation.Route import com.therouter.router.Route
import com.gh.common.util.EntranceUtils import com.gh.common.util.EntranceUtils
import com.gh.gamecenter.common.avoidcallback.Callback import com.gh.gamecenter.common.avoidcallback.Callback
import com.gh.gamecenter.common.constant.RouteConsts import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IEntranceUtilsProvider import com.gh.gamecenter.core.provider.IEntranceUtilsProvider
import com.lightgame.utils.AppManager import com.lightgame.utils.AppManager
@Route(path = RouteConsts.provider.entranceUtils, name = "EntranceUtils暴露服务") @com.therouter.inject.ServiceProvider
class EntranceUtilsProviderImpl : IEntranceUtilsProvider { class EntranceUtilsProviderImpl : IEntranceUtilsProvider {
override fun jumpActivity(context: Context, bundle: Bundle) { override fun jumpActivity(context: Context, bundle: Bundle) {
EntranceUtils.jumpActivity(context, bundle) EntranceUtils.jumpActivity(context, bundle)
} }
@ -32,10 +33,6 @@ class EntranceUtilsProviderImpl : IEntranceUtilsProvider {
} else { } else {
EntranceUtils.jumpActivityCompat(AppManager.getInstance().currentActivity(), bundle) EntranceUtils.jumpActivityCompat(AppManager.getInstance().currentActivity(), bundle)
} }
} }
override fun init(context: Context?) {
// Do nothing
}
} }

View File

@ -1,14 +1,11 @@
package com.gh.common.provider package com.gh.common.provider
import android.content.Context import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.common.util.ErrorHelper import com.gh.common.util.ErrorHelper
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IErrorHelperProvider import com.gh.gamecenter.core.provider.IErrorHelperProvider
import com.gh.gamecenter.login.user.LoginTag
import retrofit2.HttpException import retrofit2.HttpException
@Route(path = RouteConsts.provider.errorHelper, name = "ErrorHelper暴露服务") @com.therouter.inject.ServiceProvider
class ErrorHelperProviderImpl : IErrorHelperProvider { class ErrorHelperProviderImpl : IErrorHelperProvider {
override fun handleError( override fun handleError(
@ -28,7 +25,4 @@ class ErrorHelperProviderImpl : IErrorHelperProvider {
ErrorHelper.handleLoginError(context, httpException, loginTagChinese, isCertificate) ErrorHelper.handleLoginError(context, httpException, loginTagChinese, isCertificate)
} }
override fun init(context: Context?) {
// Do nothing
}
} }

View File

@ -1,20 +1,15 @@
package com.gh.common.provider package com.gh.common.provider
import android.content.Context import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route import com.therouter.router.Route
import com.gh.common.exposure.ExposureManager import com.gh.common.exposure.ExposureManager
import com.gh.gamecenter.common.constant.RouteConsts import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.feature.exposure.ExposureEvent import com.gh.gamecenter.feature.exposure.ExposureEvent
import com.gh.gamecenter.feature.provider.IExposureManagerProvider import com.gh.gamecenter.feature.provider.IExposureManagerProvider
@Route(path = RouteConsts.provider.exposureManager, name = "ExposureManager暴露服务") @com.therouter.inject.ServiceProvider
class ExposureManagerProviderImpl: IExposureManagerProvider { class ExposureManagerProviderImpl: IExposureManagerProvider {
override fun logExposure(exposureEvent: ExposureEvent) { override fun logExposure(exposureEvent: ExposureEvent) {
ExposureManager.log(exposureEvent) ExposureManager.log(exposureEvent)
} }
override fun init(context: Context?) {
// do nothing
}
} }

View File

@ -1,18 +1,11 @@
package com.gh.common.provider package com.gh.common.provider
import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.common.FixedRateJobHelper import com.gh.common.FixedRateJobHelper
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IFixedRateJobHelperProvider import com.gh.gamecenter.core.provider.IFixedRateJobHelperProvider
@Route(path = RouteConsts.provider.fixedRateJobHelper, name = "FixedRateJobHelper暴露服务") @com.therouter.inject.ServiceProvider
class FixedRateJobHelperProviderImpl : IFixedRateJobHelperProvider { class FixedRateJobHelperProviderImpl : IFixedRateJobHelperProvider {
override fun getTimeDeltaBetweenServerAndClient(): Long { override fun getTimeDeltaBetweenServerAndClient(): Long {
return FixedRateJobHelper.timeDeltaBetweenServerAndClient return FixedRateJobHelper.timeDeltaBetweenServerAndClient
} }
override fun init(context: Context?) {
// Do nothing
}
} }

View File

@ -2,12 +2,12 @@ package com.gh.common.provider
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import com.alibaba.android.arouter.facade.annotation.Route import com.therouter.router.Route
import com.gh.gamecenter.common.constant.RouteConsts import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.feature.provider.IGameCollectionDetailProvider import com.gh.gamecenter.feature.provider.IGameCollectionDetailProvider
import com.gh.gamecenter.gamecollection.detail.GameCollectionDetailActivity import com.gh.gamecenter.gamecollection.detail.GameCollectionDetailActivity
@Route(path = RouteConsts.provider.gameCollectionDetail, name = "GameCollectionDetailActivity暴露服务") @com.therouter.inject.ServiceProvider
class GameCollectionDetailProviderImpl : IGameCollectionDetailProvider { class GameCollectionDetailProviderImpl : IGameCollectionDetailProvider {
override fun getIntent(context: Context, gameCollectionId: String, isFromSquare: Boolean): Intent { override fun getIntent(context: Context, gameCollectionId: String, isFromSquare: Boolean): Intent {
return GameCollectionDetailActivity.getIntent(context, gameCollectionId, isFromSquare) return GameCollectionDetailActivity.getIntent(context, gameCollectionId, isFromSquare)
@ -16,9 +16,4 @@ class GameCollectionDetailProviderImpl : IGameCollectionDetailProvider {
override fun getSpecifiedCommentIntent(context: Context, gameCollectionId: String, topCommentId: String): Intent { override fun getSpecifiedCommentIntent(context: Context, gameCollectionId: String, topCommentId: String): Intent {
return GameCollectionDetailActivity.getSpecifiedCommentIntent(context, gameCollectionId, topCommentId) return GameCollectionDetailActivity.getSpecifiedCommentIntent(context, gameCollectionId, topCommentId)
} }
override fun init(context: Context?) {
// Do nothing
}
} }

View File

@ -1,14 +1,12 @@
package com.gh.common.provider package com.gh.common.provider
import android.content.Context import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.gamecenter.GameDetailActivity import com.gh.gamecenter.GameDetailActivity
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.feature.entity.GameEntity import com.gh.gamecenter.feature.entity.GameEntity
import com.gh.gamecenter.feature.exposure.ExposureEvent import com.gh.gamecenter.feature.exposure.ExposureEvent
import com.gh.gamecenter.feature.provider.IGameDetailProvider import com.gh.gamecenter.feature.provider.IGameDetailProvider
@Route(path = RouteConsts.provider.gameDetail, name = "GameDetailActivity暴露服务") @com.therouter.inject.ServiceProvider
class GameDetailProviderImpl : IGameDetailProvider { class GameDetailProviderImpl : IGameDetailProvider {
override fun startGameDetailActivity( override fun startGameDetailActivity(
context: Context, context: Context,
@ -54,7 +52,6 @@ class GameDetailProviderImpl : IGameDetailProvider {
context: Context, context: Context,
gameId: String, gameId: String,
entrance: String?, entrance: String?,
defaultTab: Int,
isSkipGameComment: Boolean, isSkipGameComment: Boolean,
scrollToLibao: Boolean, scrollToLibao: Boolean,
openVideoStreaming: Boolean, openVideoStreaming: Boolean,
@ -65,7 +62,6 @@ class GameDetailProviderImpl : IGameDetailProvider {
context, context,
gameId, gameId,
entrance, entrance,
defaultTab,
isSkipGameComment, isSkipGameComment,
scrollToLibao, scrollToLibao,
openVideoStreaming, openVideoStreaming,
@ -73,8 +69,4 @@ class GameDetailProviderImpl : IGameDetailProvider {
traceEvent traceEvent
) )
} }
override fun init(context: Context?) {
// Do nothing
}
} }

View File

@ -1,18 +1,14 @@
package com.gh.common.provider package com.gh.common.provider
import android.content.Context import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route import com.therouter.router.Route
import com.gh.common.util.GameTrendsHelper import com.gh.common.util.GameTrendsHelper
import com.gh.gamecenter.common.constant.RouteConsts import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IGameTrendsHelperProvider import com.gh.gamecenter.core.provider.IGameTrendsHelperProvider
@Route(path = RouteConsts.provider.gameTrendsHelper, name = "GameTrendsHelper暴露服务") @com.therouter.inject.ServiceProvider
class GameTrendsHelperProviderImpl : IGameTrendsHelperProvider { class GameTrendsHelperProviderImpl : IGameTrendsHelperProvider {
override fun updateReadPostTime() { override fun updateReadPostTime() {
GameTrendsHelper.updateReadPostTime() GameTrendsHelper.updateReadPostTime()
} }
override fun init(context: Context?) {
// do nothing
}
} }

View File

@ -1,17 +1,14 @@
package com.gh.common.provider package com.gh.common.provider
import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.common.filter.RegionSettingHelper import com.gh.common.filter.RegionSettingHelper
import com.gh.gamecenter.feature.utils.ApkActiveUtils import com.gh.gamecenter.feature.utils.ApkActiveUtils
import com.gh.download.DownloadManager import com.gh.download.DownloadManager
import com.gh.gamecenter.common.constant.EntranceConsts import com.gh.gamecenter.common.constant.EntranceConsts
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.common.utils.countOccurrences import com.gh.gamecenter.common.utils.countOccurrences
import com.gh.gamecenter.core.provider.IHandleGameResponseProvider import com.gh.gamecenter.core.provider.IHandleGameResponseProvider
import com.gh.gamecenter.feature.entity.GameEntity import com.gh.gamecenter.feature.entity.GameEntity
@Route(path = RouteConsts.provider.handleGameResponse, name = "处理游戏类型返回") @com.therouter.inject.ServiceProvider
class HandleGameResponseProviderImpl : IHandleGameResponseProvider { class HandleGameResponseProviderImpl : IHandleGameResponseProvider {
override fun handleGameResponse(response: List<Any>, entrance: String): List<Any> { override fun handleGameResponse(response: List<Any>, entrance: String): List<Any> {
@ -37,8 +34,4 @@ class HandleGameResponseProviderImpl : IHandleGameResponseProvider {
return response return response
} }
override fun init(context: Context?) {
// Do nothing
}
} }

View File

@ -1,18 +1,11 @@
package com.gh.common.provider package com.gh.common.provider
import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.common.history.HistoryHelper import com.gh.common.history.HistoryHelper
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IHistoryHelperProvider import com.gh.gamecenter.core.provider.IHistoryHelperProvider
@Route(path = RouteConsts.provider.historyHelper, name = "HistoryHelper暴露服务") @com.therouter.inject.ServiceProvider
class HistoryHelperProviderImpl : IHistoryHelperProvider { class HistoryHelperProviderImpl : IHistoryHelperProvider {
override fun emptyDatabase() { override fun emptyDatabase() {
HistoryHelper.emptyDatabase() HistoryHelper.emptyDatabase()
} }
override fun init(context: Context?) {
// Do nothing
}
} }

View File

@ -1,13 +1,13 @@
package com.gh.common.provider package com.gh.common.provider
import android.content.Context import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route import com.therouter.router.Route
import com.gh.common.util.LibaoUtils import com.gh.common.util.LibaoUtils
import com.gh.common.util.LibaoUtils.PostLibaoListener import com.gh.common.util.LibaoUtils.PostLibaoListener
import com.gh.gamecenter.common.constant.RouteConsts import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.ILibaoUtilsProvider import com.gh.gamecenter.core.provider.ILibaoUtilsProvider
@Route(path = RouteConsts.provider.libaoUtils, name = "LibaoUtils暴露服务") @com.therouter.inject.ServiceProvider
class LibaoUtilsProviderImpl : ILibaoUtilsProvider { class LibaoUtilsProviderImpl : ILibaoUtilsProvider {
override fun getLibaoStatus(ids: String, successCallback: ((Any?) -> Unit)?, failureCallback: (() -> Unit)?) { override fun getLibaoStatus(ids: String, successCallback: ((Any?) -> Unit)?, failureCallback: (() -> Unit)?) {
LibaoUtils.getLibaoStatus(ids, object : PostLibaoListener { LibaoUtils.getLibaoStatus(ids, object : PostLibaoListener {
@ -20,8 +20,4 @@ class LibaoUtilsProviderImpl : ILibaoUtilsProvider {
} }
}) })
} }
override fun init(context: Context?) {
// Do nothing
}
} }

View File

@ -1,7 +1,7 @@
package com.gh.common.provider package com.gh.common.provider
import android.content.Context import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route import com.therouter.router.Route
import com.gh.common.util.DirectUtils import com.gh.common.util.DirectUtils
import com.gh.gamecenter.common.constant.RouteConsts import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.common.entity.CommunityEntity import com.gh.gamecenter.common.entity.CommunityEntity
@ -10,7 +10,7 @@ import com.gh.gamecenter.common.entity.SuggestType
import com.gh.gamecenter.feature.exposure.ExposureEvent import com.gh.gamecenter.feature.exposure.ExposureEvent
import com.gh.gamecenter.feature.provider.ILinkDirectUtilsProvider import com.gh.gamecenter.feature.provider.ILinkDirectUtilsProvider
@Route(path = RouteConsts.provider.linkDirectUtils, name = "DirectUtils暴露服务主要是暴露directToLinkPage方法") @com.therouter.inject.ServiceProvider
class LinkDirectUtilsProviderImpl : ILinkDirectUtilsProvider { class LinkDirectUtilsProviderImpl : ILinkDirectUtilsProvider {
override fun directToLinkPage( override fun directToLinkPage(
@ -61,7 +61,4 @@ class LinkDirectUtilsProviderImpl : ILinkDirectUtilsProvider {
DirectUtils.directToCommunityColumn(context, community, subjectId, entrance, path) DirectUtils.directToCommunityColumn(context, community, subjectId, entrance, path)
} }
override fun init(context: Context?) {
// Do nothing
}
} }

View File

@ -1,19 +1,13 @@
package com.gh.common.provider package com.gh.common.provider
import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.common.util.* import com.gh.common.util.*
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.* import com.gh.gamecenter.core.provider.*
@Route(path = RouteConsts.provider.logUtils, name = "LogUtils暴露服务") @com.therouter.inject.ServiceProvider
class LogUtilsProviderImpl : ILogUtilsProvider { class LogUtilsProviderImpl : ILogUtilsProvider {
override fun login(loginStep: String, loginType: String, entrance: String) { override fun login(loginStep: String, loginType: String, entrance: String) {
LogUtils.login(loginStep, loginType, entrance) LogUtils.login(loginStep, loginType, entrance)
} }
override fun init(context: Context?) {
// Do nothing
}
} }

View File

@ -1,19 +0,0 @@
package com.gh.common.provider
import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.common.util.DirectUtils
import com.gh.gamecenter.MainActivity
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IMainProvider
@Route(path = RouteConsts.provider.mainActivity, name = "MainActivity暴露服务")
class MainProviderImpl : IMainProvider {
override fun skipToMainActivity(context: Context, type: String) {
DirectUtils.directToHomeDefaultTab(context)
}
override fun init(context: Context?) {
// Do nothing
}
}

View File

@ -2,13 +2,13 @@ package com.gh.common.provider
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import com.alibaba.android.arouter.facade.annotation.Route import com.therouter.router.Route
import com.gh.gamecenter.MessageDetailActivity import com.gh.gamecenter.MessageDetailActivity
import com.gh.gamecenter.common.constant.RouteConsts import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.feature.entity.ConcernEntity import com.gh.gamecenter.feature.entity.ConcernEntity
import com.gh.gamecenter.feature.provider.IMessageDetailProvider import com.gh.gamecenter.feature.provider.IMessageDetailProvider
@Route(path = RouteConsts.provider.messageDetail, name = "MessageDetailActivity暴露服务") @com.therouter.inject.ServiceProvider
class MessageDetailProviderImpl : IMessageDetailProvider { class MessageDetailProviderImpl : IMessageDetailProvider {
override fun getIntentById( override fun getIntentById(
@ -24,8 +24,4 @@ class MessageDetailProviderImpl : IMessageDetailProvider {
override fun getIntentByEntity(context: Context, concernEntity: ConcernEntity, entrance: String): Intent? { override fun getIntentByEntity(context: Context, concernEntity: ConcernEntity, entrance: String): Intent? {
return MessageDetailActivity.getIntentByEntity(context, concernEntity, entrance) return MessageDetailActivity.getIntentByEntity(context, concernEntity, entrance)
} }
override fun init(context: Context?) {
// Do nothing
}
} }

View File

@ -1,16 +1,13 @@
package com.gh.common.provider package com.gh.common.provider
import android.content.Context
import androidx.lifecycle.MediatorLiveData import androidx.lifecycle.MediatorLiveData
import androidx.lifecycle.MutableLiveData import androidx.lifecycle.MutableLiveData
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.feature.entity.MessageUnreadCount import com.gh.gamecenter.feature.entity.MessageUnreadCount
import com.gh.gamecenter.feature.entity.MessageUnreadEntity import com.gh.gamecenter.feature.entity.MessageUnreadEntity
import com.gh.gamecenter.feature.provider.IMessageUnreadRepositoryProvider import com.gh.gamecenter.feature.provider.IMessageUnreadRepositoryProvider
import com.gh.gamecenter.message.MessageUnreadRepository import com.gh.gamecenter.message.MessageUnreadRepository
@Route(path = RouteConsts.provider.messageUnreadRepository, name = "MessageUnreadRepository暴露服务") @com.therouter.inject.ServiceProvider
class MessageUnreadRepositoryProviderImpl : IMessageUnreadRepositoryProvider { class MessageUnreadRepositoryProviderImpl : IMessageUnreadRepositoryProvider {
override fun loadMessageUnreadData() { override fun loadMessageUnreadData() {
@ -33,7 +30,4 @@ class MessageUnreadRepositoryProviderImpl : IMessageUnreadRepositoryProvider {
return MessageUnreadRepository.messageUnreadCountLiveData return MessageUnreadRepository.messageUnreadCountLiveData
} }
override fun init(context: Context?) {
// Do nothing
}
} }

View File

@ -1,13 +1,13 @@
package com.gh.common.provider package com.gh.common.provider
import android.content.Context import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route import com.therouter.router.Route
import com.gh.gamecenter.common.constant.Constants import com.gh.gamecenter.common.constant.Constants
import com.gh.gamecenter.common.constant.RouteConsts import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IMiniGameRecentlyPlayedProvider import com.gh.gamecenter.core.provider.IMiniGameRecentlyPlayedProvider
import com.gh.gamecenter.minigame.MiniGameRecentlyPlayUseCase import com.gh.gamecenter.minigame.MiniGameRecentlyPlayUseCase
@Route(path = RouteConsts.provider.miniGameRecentPlayed, name = "MiniGameRecentlyPlayed暴露服务") @com.therouter.inject.ServiceProvider
class MiniGameRecentlyPlayedProviderImpl : IMiniGameRecentlyPlayedProvider { class MiniGameRecentlyPlayedProviderImpl : IMiniGameRecentlyPlayedProvider {
override fun clearMiniGameRecentlyPlayed(gameType: String) { override fun clearMiniGameRecentlyPlayed(gameType: String) {
MiniGameRecentlyPlayUseCase.clearRecentlyPlayedMiniGameList(gameType) MiniGameRecentlyPlayUseCase.clearRecentlyPlayedMiniGameList(gameType)
@ -16,8 +16,4 @@ class MiniGameRecentlyPlayedProviderImpl : IMiniGameRecentlyPlayedProvider {
override fun refreshQQMiniRecentPlayed() { override fun refreshQQMiniRecentPlayed() {
MiniGameRecentlyPlayUseCase.loadRecentlyPlayedMiniGameList(Constants.QQ_MINI_GAME) MiniGameRecentlyPlayUseCase.loadRecentlyPlayedMiniGameList(Constants.QQ_MINI_GAME)
} }
override fun init(context: Context?) {
// no implement
}
} }

View File

@ -2,12 +2,12 @@ package com.gh.common.provider
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import com.alibaba.android.arouter.facade.annotation.Route import com.therouter.router.Route
import com.gh.gamecenter.common.constant.RouteConsts import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.feature.provider.INewCommentDetailProvider import com.gh.gamecenter.feature.provider.INewCommentDetailProvider
import com.gh.gamecenter.qa.comment.NewCommentDetailActivity import com.gh.gamecenter.qa.comment.NewCommentDetailActivity
@Route(path = RouteConsts.provider.newCommentDetail, name = "NewCommentDetailActivity暴露服务") @com.therouter.inject.ServiceProvider
class NewCommentDetailProviderImpl : INewCommentDetailProvider { class NewCommentDetailProviderImpl : INewCommentDetailProvider {
override fun getAnswerCommentIntent( override fun getAnswerCommentIntent(
@ -76,8 +76,4 @@ class NewCommentDetailProviderImpl : INewCommentDetailProvider {
path path
) )
} }
override fun init(context: Context?) {
// Do nothing
}
} }

View File

@ -1,19 +0,0 @@
package com.gh.common.provider
import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.common.util.PackageHelper
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IPackageHelperProvider
@Route(path = RouteConsts.provider.packageHelper, name = "PackageHelper暴露服务")
class PackageHelperProviderImpl : IPackageHelperProvider {
override fun getLocalPackageNameSet(): Set<String> {
return PackageHelper.localPackageNameSet
}
override fun init(context: Context?) {
// Do nothing
}
}

View File

@ -1,13 +1,11 @@
package com.gh.common.provider package com.gh.common.provider
import android.content.Context import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.common.util.PackageInstaller import com.gh.common.util.PackageInstaller
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IPackageInstallerProvider import com.gh.gamecenter.core.provider.IPackageInstallerProvider
import com.lightgame.download.DownloadEntity import com.lightgame.download.DownloadEntity
@Route(path = RouteConsts.provider.packageInstaller, name = "PackageInstaller暴露服务") @com.therouter.inject.ServiceProvider
class PackageInstallerProviderImpl : IPackageInstallerProvider { class PackageInstallerProviderImpl : IPackageInstallerProvider {
override fun install(context: Context, downloadEntity: DownloadEntity, showUnzipToast: Boolean) { override fun install(context: Context, downloadEntity: DownloadEntity, showUnzipToast: Boolean) {
@ -18,7 +16,4 @@ class PackageInstallerProviderImpl : IPackageInstallerProvider {
PackageInstaller.uninstall(context, path) PackageInstaller.uninstall(context, path)
} }
override fun init(context: Context?) {
// Do nothing
}
} }

View File

@ -2,14 +2,12 @@ package com.gh.common.provider
import android.content.Context import android.content.Context
import android.content.pm.PackageInfo import android.content.pm.PackageInfo
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.common.util.PackageHelper import com.gh.common.util.PackageHelper
import com.gh.common.util.PackageUtils import com.gh.common.util.PackageUtils
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IPackageUtilsProvider import com.gh.gamecenter.core.provider.IPackageUtilsProvider
import com.gh.gamecenter.core.utils.ProcessUtil import com.gh.gamecenter.core.utils.ProcessUtil
@Route(path = RouteConsts.provider.packageUtils, name = "PackageUtils暴露服务") @com.therouter.inject.ServiceProvider
class PackageUtilsProviderImpl : IPackageUtilsProvider { class PackageUtilsProviderImpl : IPackageUtilsProvider {
override fun obtainProcessName(): String? { override fun obtainProcessName(): String? {
return ProcessUtil.getCurrentProcessName() return ProcessUtil.getCurrentProcessName()
@ -50,8 +48,4 @@ class PackageUtilsProviderImpl : IPackageUtilsProvider {
override fun getVersionNameByPackageName(packageName: String): String { override fun getVersionNameByPackageName(packageName: String): String {
return PackageUtils.getVersionNameByPackageName(packageName) ?: "" return PackageUtils.getVersionNameByPackageName(packageName) ?: ""
} }
override fun init(context: Context?) {
// Do nothing
}
} }

View File

@ -1,13 +1,10 @@
package com.gh.common.provider package com.gh.common.provider
import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.feature.entity.GameInstall import com.gh.gamecenter.feature.entity.GameInstall
import com.gh.gamecenter.feature.provider.IPackagesManagerProvider import com.gh.gamecenter.feature.provider.IPackagesManagerProvider
import com.gh.gamecenter.manager.PackagesManager import com.gh.gamecenter.manager.PackagesManager
@Route(path = RouteConsts.provider.packagesManager, name = "PackagesManager暴露服务") @com.therouter.inject.ServiceProvider
class PackagesManagerProviderImpl: IPackagesManagerProvider { class PackagesManagerProviderImpl: IPackagesManagerProvider {
override fun isCanPluggable(gameId: String?, packageName: String?): Boolean { override fun isCanPluggable(gameId: String?, packageName: String?): Boolean {
return PackagesManager.isCanPluggable(gameId, packageName) return PackagesManager.isCanPluggable(gameId, packageName)
@ -16,8 +13,4 @@ class PackagesManagerProviderImpl: IPackagesManagerProvider {
override fun getFilterSameApkInstalledList(): ArrayList<GameInstall> { override fun getFilterSameApkInstalledList(): ArrayList<GameInstall> {
return PackagesManager.getFilterSameApkInstalledList() return PackagesManager.getFilterSameApkInstalledList()
} }
override fun init(context: Context?) {
// Do nothing
}
} }

View File

@ -1,14 +1,11 @@
package com.gh.common.provider package com.gh.common.provider
import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.common.filter.RegionSettingHelper import com.gh.common.filter.RegionSettingHelper
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.feature.entity.GameEntity import com.gh.gamecenter.feature.entity.GameEntity
import com.gh.gamecenter.feature.entity.IpInfo import com.gh.gamecenter.feature.entity.IpInfo
import com.gh.gamecenter.feature.provider.IRegionSettingHelperProvider import com.gh.gamecenter.feature.provider.IRegionSettingHelperProvider
@Route(path = RouteConsts.provider.regionSettingHelper, name = "RegionSettingHelper暴露服务") @com.therouter.inject.ServiceProvider
class RegionSettingHelperProviderImpl : IRegionSettingHelperProvider { class RegionSettingHelperProviderImpl : IRegionSettingHelperProvider {
override fun shouldThisGameDisplayMirrorInfo(gameId: String): Boolean { override fun shouldThisGameDisplayMirrorInfo(gameId: String): Boolean {
return RegionSettingHelper.shouldThisGameDisplayMirrorInfo(gameId) return RegionSettingHelper.shouldThisGameDisplayMirrorInfo(gameId)
@ -33,8 +30,4 @@ class RegionSettingHelperProviderImpl : IRegionSettingHelperProvider {
override fun shouldThisGameBeFiltered(gameId: String?): Boolean { override fun shouldThisGameBeFiltered(gameId: String?): Boolean {
return RegionSettingHelper.shouldThisGameBeFiltered(gameId) return RegionSettingHelper.shouldThisGameBeFiltered(gameId)
} }
override fun init(context: Context?) {
// Do nothing
}
} }

View File

@ -1,12 +1,9 @@
package com.gh.common.provider package com.gh.common.provider
import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.common.repository.ReservationRepository import com.gh.common.repository.ReservationRepository
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IReservationRepositoryProvider import com.gh.gamecenter.core.provider.IReservationRepositoryProvider
@Route(path = RouteConsts.provider.reservationRepository, name = "ReservationRepository暴露服务") @com.therouter.inject.ServiceProvider
class ReservationRepositoryProviderImpl : IReservationRepositoryProvider { class ReservationRepositoryProviderImpl : IReservationRepositoryProvider {
override fun refreshReservations() { override fun refreshReservations() {
@ -16,8 +13,4 @@ class ReservationRepositoryProviderImpl : IReservationRepositoryProvider {
override fun clearReservations() { override fun clearReservations() {
ReservationRepository.clearReservations() ReservationRepository.clearReservations()
} }
override fun init(context: Context?) {
// Do nothing
}
} }

View File

@ -5,12 +5,12 @@ import androidx.fragment.app.Fragment
import androidx.lifecycle.LiveData import androidx.lifecycle.LiveData
import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import com.alibaba.android.arouter.facade.annotation.Route import com.therouter.router.Route
import com.gh.gamecenter.common.constant.RouteConsts import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.ISearchTabUtilsProvider import com.gh.gamecenter.core.provider.ISearchTabUtilsProvider
import com.gh.gamecenter.search.viewmodel.SearchTabViewModel import com.gh.gamecenter.search.viewmodel.SearchTabViewModel
@Route(path = RouteConsts.provider.searchTabUtils, name = "SearchTabUtils暴露服务") @com.therouter.inject.ServiceProvider
class SearchTabUtilsProviderImpl : ISearchTabUtilsProvider { class SearchTabUtilsProviderImpl : ISearchTabUtilsProvider {
override fun obtainParentViewModel(fragment: Fragment): ViewModel { override fun obtainParentViewModel(fragment: Fragment): ViewModel {
@ -29,8 +29,4 @@ class SearchTabUtilsProviderImpl : ISearchTabUtilsProvider {
null null
} }
}
override fun init(context: Context?) {
// no implement
}
}

View File

@ -1,19 +0,0 @@
package com.gh.common.provider
import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.gamecenter.ShareCardPicActivity
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.feature.entity.ConcernEntity
import com.gh.gamecenter.feature.provider.IShareCardPicProvider
@Route(path = RouteConsts.provider.shareCardPicActivity, name = "ShareCardPicActivity暴露服务")
class ShareCardPicProviderImpl : IShareCardPicProvider {
override fun startShareCardPicActivity(context: Context, concernEntity: ConcernEntity, entrance: String) {
ShareCardPicActivity.startShareCardPicActivity(context, concernEntity, entrance)
}
override fun init(context: Context?) {
// do nothing
}
}

View File

@ -1,20 +0,0 @@
package com.gh.common.provider
import android.content.Context
import android.content.Intent
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.gamecenter.ShareCardActivity
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.feature.entity.ConcernEntity
import com.gh.gamecenter.feature.provider.IShareCardProvider
@Route(path = RouteConsts.provider.shareCardActivity, name = "ShareCardActivity暴露服务")
class ShareCardProviderImpl : IShareCardProvider {
override fun getIntent(context: Context, concernEntity: ConcernEntity, shareContent: String): Intent {
return ShareCardActivity.getIntent(context, concernEntity, shareContent)
}
override fun init(context: Context?) {
// do nothing
}
}

View File

@ -3,17 +3,11 @@ package com.gh.common.provider
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.os.Parcelable import android.os.Parcelable
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.gamecenter.ShellActivity import com.gh.gamecenter.ShellActivity
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IShellProvider import com.gh.gamecenter.core.provider.IShellProvider
@Route(path = RouteConsts.provider.shellActivity, name = "ShellActivity暴露服务") @com.therouter.inject.ServiceProvider
class ShellProviderImpl : IShellProvider { class ShellProviderImpl : IShellProvider {
override fun getSwitchInstallMethodIntent(context: Context, extraParcelable: Parcelable?): Intent = override fun getSwitchInstallMethodIntent(context: Context, extraParcelable: Parcelable?): Intent =
ShellActivity.getIntent(context, ShellActivity.Type.SWITCH_INSTALL_METHOD, extraParcelable) ShellActivity.getIntent(context, ShellActivity.Type.SWITCH_INSTALL_METHOD, extraParcelable)
override fun init(context: Context?) {
// Do nothing
}
} }

View File

@ -2,19 +2,15 @@ package com.gh.common.provider
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import com.alibaba.android.arouter.facade.annotation.Route import com.therouter.router.Route
import com.gh.gamecenter.common.constant.RouteConsts import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.feature.provider.ISimpleAnswerDetailProvider import com.gh.gamecenter.feature.provider.ISimpleAnswerDetailProvider
import com.gh.gamecenter.qa.answer.detail.SimpleAnswerDetailActivity import com.gh.gamecenter.qa.answer.detail.SimpleAnswerDetailActivity
@Route(path = RouteConsts.provider.simpleAnswerDetail, name = "SimpleAnswerDetailActivity暴露服务") @com.therouter.inject.ServiceProvider
class SimpleAnswerDetailProviderImpl : ISimpleAnswerDetailProvider { class SimpleAnswerDetailProviderImpl : ISimpleAnswerDetailProvider {
override fun getIntent(context: Context, answerId: String, entrance: String, path: String): Intent { override fun getIntent(context: Context, answerId: String, entrance: String, path: String): Intent {
return SimpleAnswerDetailActivity.getIntent(context, answerId, entrance, path) return SimpleAnswerDetailActivity.getIntent(context, answerId, entrance, path)
} }
override fun init(context: Context?) {
// Do nothing
}
} }

View File

@ -1,12 +1,12 @@
package com.gh.common.provider package com.gh.common.provider
import android.content.Context import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route import com.therouter.router.Route
import com.gh.gamecenter.common.constant.RouteConsts import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.feature.provider.ISubjectProvider import com.gh.gamecenter.feature.provider.ISubjectProvider
import com.gh.gamecenter.subject.SubjectActivity import com.gh.gamecenter.subject.SubjectActivity
@Route(path = RouteConsts.provider.subject, name = "SubjectActivity暴露服务") @com.therouter.inject.ServiceProvider
class SubjectProviderImpl : ISubjectProvider { class SubjectProviderImpl : ISubjectProvider {
override fun startSubjectActivity( override fun startSubjectActivity(
context: Context, context: Context,
@ -17,8 +17,4 @@ class SubjectProviderImpl : ISubjectProvider {
) { ) {
SubjectActivity.startSubjectActivity(context, id, name, isOrder, null, entrance) SubjectActivity.startSubjectActivity(context, id, name, isOrder, null, entrance)
} }
override fun init(context: Context?) {
// Do nothing
}
} }

View File

@ -1,19 +0,0 @@
package com.gh.common.provider
import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.gamecenter.feature.exposure.time.TimeUtil
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.ITimeUtilProvider
@Route(path = RouteConsts.provider.timeUtil, name = "TimeUtil暴露服务")
class TimeUtilProviderImpl : ITimeUtilProvider {
override fun currentTimeMillis() = TimeUtil.currentTimeMillis()
override fun currentTime() = TimeUtil.currentTime()
override fun init(context: Context?) {
// Do nothing
}
}

View File

@ -1,15 +1,12 @@
package com.gh.common.provider package com.gh.common.provider
import android.content.Context
import androidx.fragment.app.FragmentActivity import androidx.fragment.app.FragmentActivity
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.common.util.DialogUtils import com.gh.common.util.DialogUtils
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IUpdateManagerProvider import com.gh.gamecenter.core.provider.IUpdateManagerProvider
import com.gh.gamecenter.core.utils.ToastUtils import com.gh.gamecenter.core.utils.ToastUtils
import com.gh.gamecenter.update.UpdateHelper import com.gh.gamecenter.update.UpdateHelper
@Route(path = RouteConsts.provider.updateManager, name = "UpdateManager暴露服务") @com.therouter.inject.ServiceProvider
class UpdateManagerProviderImpl: IUpdateManagerProvider { class UpdateManagerProviderImpl: IUpdateManagerProvider {
override fun checkUpdate(activity: FragmentActivity, ignoreSuppressOption: Boolean) { override fun checkUpdate(activity: FragmentActivity, ignoreSuppressOption: Boolean) {
val dialog = DialogUtils.showWaitDialog(activity, "检查更新中...") val dialog = DialogUtils.showWaitDialog(activity, "检查更新中...")
@ -26,8 +23,4 @@ class UpdateManagerProviderImpl: IUpdateManagerProvider {
} }
} }
} }
override fun init(context: Context?) {
// Do nothing
}
} }

View File

@ -3,20 +3,16 @@ package com.gh.common.provider
import android.content.Context import android.content.Context
import android.os.Build import android.os.Build
import androidx.annotation.RequiresApi import androidx.annotation.RequiresApi
import com.alibaba.android.arouter.facade.annotation.Route import com.therouter.router.Route
import com.gh.common.util.UsageStatsHelper import com.gh.common.util.UsageStatsHelper
import com.gh.gamecenter.common.constant.RouteConsts import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IUsageStatsHelperProvider import com.gh.gamecenter.core.provider.IUsageStatsHelperProvider
@Route(path = RouteConsts.provider.usageStatsHelper, name = "UsageStatsHelper暴露服务") @com.therouter.inject.ServiceProvider
class UsageStatsHelperProviderImpl : IUsageStatsHelperProvider { class UsageStatsHelperProviderImpl : IUsageStatsHelperProvider {
@RequiresApi(Build.VERSION_CODES.LOLLIPOP_MR1) @RequiresApi(Build.VERSION_CODES.LOLLIPOP_MR1)
override fun checkForPermission(): Boolean = UsageStatsHelper.checkForPermission() override fun checkForPermission(): Boolean = UsageStatsHelper.checkForPermission()
override fun skipToUsageStats(context: Context, requestCode: Int) { override fun skipToUsageStats(context: Context, requestCode: Int) {
UsageStatsHelper.skipToUsageStats(context, requestCode) UsageStatsHelper.skipToUsageStats(context, requestCode)
} }
override fun init(context: Context?) {
// Do nothing
}
} }

View File

@ -1,13 +1,11 @@
package com.gh.common.provider package com.gh.common.provider
import android.content.Context import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.feature.entity.InstallGameEntity import com.gh.gamecenter.feature.entity.InstallGameEntity
import com.gh.gamecenter.feature.provider.IVHelperProvider import com.gh.gamecenter.feature.provider.IVHelperProvider
import com.gh.vspace.VHelper import com.gh.vspace.VHelper
@Route(path = RouteConsts.provider.vhelper, name = "VHelper暴露服务") @com.therouter.inject.ServiceProvider
class VHelperProviderImpl: IVHelperProvider { class VHelperProviderImpl: IVHelperProvider {
override fun isVGameOn(): Boolean { override fun isVGameOn(): Boolean {
return VHelper.isVGameOn() return VHelper.isVGameOn()
@ -20,8 +18,4 @@ class VHelperProviderImpl: IVHelperProvider {
override fun launch(context: Context, packageName: String, ignoreGApps: Boolean, showLoading: Boolean) { override fun launch(context: Context, packageName: String, ignoreGApps: Boolean, showLoading: Boolean) {
VHelper.launch(context, packageName, ignoreGApps, showLoading) VHelper.launch(context, packageName, ignoreGApps, showLoading)
} }
override fun init(context: Context?) {
// Do nothing
}
} }

View File

@ -1,12 +1,12 @@
package com.gh.common.provider package com.gh.common.provider
import android.content.Context import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route import com.therouter.router.Route
import com.gh.gamecenter.common.constant.RouteConsts import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IVisitManagerProvider import com.gh.gamecenter.core.provider.IVisitManagerProvider
import com.gh.gamecenter.manager.VisitManager import com.gh.gamecenter.manager.VisitManager
@Route(path = RouteConsts.provider.visitManager, name = "VisitManager暴露服务") @com.therouter.inject.ServiceProvider
class VisitManagerProviderImpl : IVisitManagerProvider { class VisitManagerProviderImpl : IVisitManagerProvider {
override fun updateOkhttpCache(context: Context, newsId: String) { override fun updateOkhttpCache(context: Context, newsId: String) {
VisitManager.updateOkhttpCache(context, newsId) VisitManager.updateOkhttpCache(context, newsId)
@ -15,8 +15,4 @@ class VisitManagerProviderImpl : IVisitManagerProvider {
override fun addUrl(ids: String) { override fun addUrl(ids: String) {
VisitManager.getInstance().addUrl(ids) VisitManager.getInstance().addUrl(ids)
} }
override fun init(context: Context?) {
// Do nothing
}
} }

View File

@ -2,12 +2,10 @@ package com.gh.common.provider
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.gamecenter.WebActivity import com.gh.gamecenter.WebActivity
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IWebProvider import com.gh.gamecenter.core.provider.IWebProvider
@Route(path = RouteConsts.provider.webActivity, name = "WebActivity暴露服务") @com.therouter.inject.ServiceProvider
class WebProviderImpl : IWebProvider { class WebProviderImpl : IWebProvider {
override fun getIntent(context: Context, url: String, autoCompletionTitle: Boolean): Intent { override fun getIntent(context: Context, url: String, autoCompletionTitle: Boolean): Intent {
return WebActivity.getIntent(context, url, autoCompletionTitle) return WebActivity.getIntent(context, url, autoCompletionTitle)
@ -40,8 +38,4 @@ class WebProviderImpl : IWebProvider {
): Intent { ): Intent {
return WebActivity.getIntentByNews(context, concernLink, concernGameName, concernId, entrance) return WebActivity.getIntentByNews(context, concernLink, concernGameName, concernId, entrance)
} }
override fun init(context: Context?) {
// Do nothing
}
} }

View File

@ -1,23 +1,15 @@
package com.gh.common.provider package com.gh.common.provider
import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.gh.common.util.WechatBindHelper import com.gh.common.util.WechatBindHelper
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.common.entity.WechatConfigEntity
import com.gh.gamecenter.core.provider.IWechatBindHelperProvider import com.gh.gamecenter.core.provider.IWechatBindHelperProvider
@Route(path = RouteConsts.provider.wechatHelper, name = "WechatHelper暴露服务") @com.therouter.inject.ServiceProvider
class WechatHelperProviderImpl : IWechatBindHelperProvider<WechatConfigEntity> { class WechatHelperProviderImpl : IWechatBindHelperProvider {
override fun getWechatConfig(callback: ((WechatConfigEntity) -> Unit)?) { override fun getWechatConfig(callback: ((Any) -> Unit)?) {
WechatBindHelper.getWechatConfig { WechatBindHelper.getWechatConfig {
callback?.invoke(it) callback?.invoke(it)
} }
} }
override fun init(context: Context?) {
// Do nothing
}
} }

View File

@ -52,7 +52,7 @@ public class CheckLoginUtils {
} }
if (context != null) { if (context != null) {
QuickLoginHelper.startLogin(context, entrance, callback); QuickLoginHelper.startLogin(context, entrance, null, callback);
} }
} }

View File

@ -9,7 +9,7 @@ import android.preference.PreferenceManager;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import com.alibaba.android.arouter.launcher.ARouter; import com.therouter.TheRouter;
import com.gh.ad.AdDelegateHelper; import com.gh.ad.AdDelegateHelper;
import com.gh.gamecenter.BuildConfig; import com.gh.gamecenter.BuildConfig;
import com.gh.gamecenter.common.constant.Constants; import com.gh.gamecenter.common.constant.Constants;
@ -55,7 +55,7 @@ public class DataUtils {
} }
private static void initSentry(Context context, String channel) { private static void initSentry(Context context, String channel) {
ISentryProvider sentryProvider = (ISentryProvider) ARouter.getInstance().build(RouteConsts.provider.sentry).navigation(); ISentryProvider sentryProvider = TheRouter.get(ISentryProvider.class);
if (sentryProvider != null) { if (sentryProvider != null) {
sentryProvider.init(context, channel, BuildConfig.FLAVOR, BuildConfig.VERSION_NAME); sentryProvider.init(context, channel, BuildConfig.FLAVOR, BuildConfig.VERSION_NAME);
} }

View File

@ -11,7 +11,7 @@ import android.os.Bundle
import android.text.TextUtils import android.text.TextUtils
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.core.os.bundleOf import androidx.core.os.bundleOf
import com.alibaba.android.arouter.launcher.ARouter import com.therouter.TheRouter
import com.gh.ad.AdPluginDownloadHelper import com.gh.ad.AdPluginDownloadHelper
import com.gh.common.constant.Config import com.gh.common.constant.Config
import com.gh.common.exposure.ExposureManager.log import com.gh.common.exposure.ExposureManager.log
@ -56,7 +56,6 @@ import com.gh.gamecenter.gamecollection.detail.GameCollectionDetailActivity
import com.gh.gamecenter.gamecollection.hotlist.GameCollectionHotListActivity import com.gh.gamecenter.gamecollection.hotlist.GameCollectionHotListActivity
import com.gh.gamecenter.gamecollection.hotlist.GameCollectionListDetailActivity import com.gh.gamecenter.gamecollection.hotlist.GameCollectionListDetailActivity
import com.gh.gamecenter.gamecollection.square.GameCollectionSquareActivity import com.gh.gamecenter.gamecollection.square.GameCollectionSquareActivity
import com.gh.gamecenter.gamedetail.GameDetailFragment
import com.gh.gamecenter.gamedetail.fuli.kaifu.ServersCalendarActivity import com.gh.gamecenter.gamedetail.fuli.kaifu.ServersCalendarActivity
import com.gh.gamecenter.gamedetail.fuli.kaifu.ServersCalendarManagementActivity import com.gh.gamecenter.gamedetail.fuli.kaifu.ServersCalendarManagementActivity
import com.gh.gamecenter.gamedetail.fuli.kaifu.ServersSubscribedGameListActivity import com.gh.gamecenter.gamedetail.fuli.kaifu.ServersSubscribedGameListActivity
@ -69,7 +68,6 @@ import com.gh.gamecenter.minigame.MiniGameRecentlyPlayUseCase
import com.gh.gamecenter.minigame.MiniGameSearchActivity import com.gh.gamecenter.minigame.MiniGameSearchActivity
import com.gh.gamecenter.minigame.qq.QGameHomeWrapperActivity import com.gh.gamecenter.minigame.qq.QGameHomeWrapperActivity
import com.gh.gamecenter.newsdetail.NewsDetailActivity import com.gh.gamecenter.newsdetail.NewsDetailActivity
import com.gh.gamecenter.personalhome.UserHomeActivity
import com.gh.gamecenter.personalhome.background.PersonalityBackgroundActivity import com.gh.gamecenter.personalhome.background.PersonalityBackgroundActivity
import com.gh.gamecenter.personalhome.border.AvatarBorderActivity import com.gh.gamecenter.personalhome.border.AvatarBorderActivity
import com.gh.gamecenter.personalhome.home.UserHistoryViewModel import com.gh.gamecenter.personalhome.home.UserHistoryViewModel
@ -590,12 +588,16 @@ object DirectUtils {
@JvmStatic @JvmStatic
fun directToQa(context: Context, text: String? = "", id: String) { fun directToQa(context: Context, text: String? = "", id: String) {
if (id.isEmpty()) return if (id.isEmpty()) return
val destination = RouteConsts.activity.qaActivity.toDestinationClass()
val bundle = Bundle() val bundle = Bundle()
bundle.putString(KEY_TO, destination?.name ?: "")
bundle.putString(KEY_NAVIGATION_TITLE, text) bundle.putString(KEY_NAVIGATION_TITLE, text)
bundle.putString(KEY_QA_ID, id) bundle.putString(KEY_QA_ID, id)
jumpActivity(context, bundle)
TheRouter.build(RouteConsts.activity.qaActivity)
.fillParams {
it.putAll(bundle)
}
.navigation(context)
} }
/** /**
@ -604,12 +606,16 @@ object DirectUtils {
@JvmStatic @JvmStatic
fun directToQaCollection(context: Context, text: String, id: String) { fun directToQaCollection(context: Context, text: String, id: String) {
if (id.isEmpty()) return if (id.isEmpty()) return
val destination = RouteConsts.activity.qaActivity.toDestinationClass()
val bundle = Bundle() val bundle = Bundle()
bundle.putString(KEY_TO, destination?.name ?: "")
bundle.putString(KEY_NAVIGATION_TITLE, text) bundle.putString(KEY_NAVIGATION_TITLE, text)
bundle.putString(KEY_QA_COLLECTION_ID, id) bundle.putString(KEY_QA_COLLECTION_ID, id)
jumpActivity(context, bundle)
TheRouter.build(RouteConsts.activity.qaActivity)
.fillParams {
it.putAll(bundle)
}
.navigation(context)
} }
/** /**
@ -720,7 +726,7 @@ object DirectUtils {
*/ */
@JvmStatic @JvmStatic
fun directToHomeActivity(context: Context, userId: String?, entrance: String? = null, path: String? = null) { fun directToHomeActivity(context: Context, userId: String?, entrance: String? = null, path: String? = null) {
context.startActivity(UserHomeActivity.getIntent(context, userId ?: "", entrance, path)) directToHomeActivity(context, userId, entrance, path, 0)
} }
@JvmStatic @JvmStatic
@ -759,17 +765,20 @@ object DirectUtils {
entrance: String? = null, entrance: String? = null,
path: String? = null path: String? = null
) { ) {
IntegralLogHelper.log("view_homepage", "个人主页") IntegralLogHelper.log("view_homepage", "个人主页")
val bundle = Bundle()
bundle.putString(KEY_USER_ID, userId) val uri = Uri.Builder()
bundle.putString(KEY_TO, UserHomeActivity::class.java.name) .path(RouteConsts.activity.userHomeActivity)
bundle.putString(KEY_ENTRANCE, BaseActivity.mergeEntranceAndPath(entrance, path)) .appendQueryParameter(KEY_USER_ID, userId)
bundle.putString(KEY_PATH, path) .appendQueryParameter(KEY_TAB_INDEX, position.toString())
bundle.putString(KEY_TYPE, UserHistoryViewModel.TYPE.fromValue(type).value) .appendQueryParameter(KEY_PATH, BaseActivity.mergeEntranceAndPath(entrance, path))
bundle.putString(KEY_GAME, gameType) .appendQueryParameter(KEY_COMMUNITY_TYPE, UserHistoryViewModel.TYPE.fromValue(type).value)
bundle.putInt(KEY_POSITION, position ?: 0) .appendQueryParameter(KEY_GAME_TYPE, gameType)
jumpActivity(context, bundle) .build()
TheRouter
.build(uri.toString())
.navigation(context)
} }
@ -801,10 +810,10 @@ object DirectUtils {
bundle.putString(KEY_GAMEID, id) bundle.putString(KEY_GAMEID, id)
if (!TextUtils.isEmpty(tab)) { if (!TextUtils.isEmpty(tab)) {
when (tab) { when (tab) {
"comment" -> bundle.putString(KEY_TARGET, GameDetailFragment.TAB_RATING) "comment" -> bundle.putString(KEY_TARGET, EntranceConsts.TAB_TYPE_RATING)
"desc" -> bundle.putString(KEY_TARGET, GameDetailFragment.TAB_DESC) "desc" -> bundle.putString(KEY_TARGET, EntranceConsts.TAB_TYPE_DESC)
"forum" -> bundle.putString(KEY_TARGET, GameDetailFragment.TAB_BBS) "forum" -> bundle.putString(KEY_TARGET, EntranceConsts.TAB_TYPE_BBS)
"zone" -> bundle.putString(KEY_TARGET, GameDetailFragment.TAB_TRENDS) "zone" -> bundle.putString(KEY_TARGET, EntranceConsts.TAB_TYPE_TRENDS)
} }
} }
if (traceEvent != null) { if (traceEvent != null) {
@ -849,7 +858,7 @@ object DirectUtils {
bundle.putString(KEY_ENTRANCE, entrance) bundle.putString(KEY_ENTRANCE, entrance)
bundle.putString(KEY_GAMEID, id) bundle.putString(KEY_GAMEID, id)
bundle.putBoolean(KEY_OPEN_VIDEO_STREAMING, true) bundle.putBoolean(KEY_OPEN_VIDEO_STREAMING, true)
bundle.putString(KEY_TARGET, GameDetailFragment.TAB_DESC) bundle.putString(KEY_TARGET, EntranceConsts.TAB_TYPE_DESC)
jumpActivity(context, bundle) jumpActivity(context, bundle)
} }
@ -857,7 +866,7 @@ object DirectUtils {
fun directToGameDetail( fun directToGameDetail(
context: Context, context: Context,
id: String, id: String,
defaultTab: String = GameDetailFragment.TAB_DESC, defaultTab: String = EntranceConsts.TAB_TYPE_DESC,
entrance: String? = null entrance: String? = null
) { ) {
val bundle = Bundle() val bundle = Bundle()
@ -1515,7 +1524,7 @@ object DirectUtils {
response?.apply { response?.apply {
if (zone.status == "on") { if (zone.status == "on") {
if (zone.style == "link") { if (zone.style == "link") {
directToGameDetail(context, gameId, GameDetailFragment.TAB_TRENDS, entrance) directToGameDetail(context, gameId, EntranceConsts.TAB_TYPE_TRENDS, entrance)
} else { } else {
directToWebView(context, url, entrance) directToWebView(context, url, entrance)
} }
@ -1626,11 +1635,11 @@ object DirectUtils {
*/ */
@JvmStatic @JvmStatic
fun directToHelpAndFeedback(context: Context, bundle: Bundle? = null) { fun directToHelpAndFeedback(context: Context, bundle: Bundle? = null) {
val destination = RouteConsts.activity.helpAndFeedbackActivity.toDestinationClass() TheRouter.build(RouteConsts.activity.helpAndFeedbackActivity)
val newBundle = Bundle() .fillParams {
newBundle.putString(KEY_TO, destination?.name ?: "") it.putAll(bundle)
bundle?.let { newBundle.putAll(it) } }
jumpActivityCompat(context, newBundle) .navigation(context)
} }
@ -1727,8 +1736,7 @@ object DirectUtils {
@JvmStatic @JvmStatic
fun directToConcernInfo(context: Context, entrance: String) { fun directToConcernInfo(context: Context, entrance: String) {
context.startActivity( context.startActivity(
(ARouter.getInstance().build(RouteConsts.provider.concernInfo) TheRouter.get(IConcernInfoProvider::class.java)?.getIntent(context, entrance)
.navigation() as? IConcernInfoProvider)?.getIntent(context, entrance)
) )
} }
@ -1985,10 +1993,7 @@ object DirectUtils {
return return
} }
val qGameProvider = ARouter val qGameProvider = TheRouter.get(IQGameProvider::class.java)
.getInstance()
.build(RouteConsts.provider.qGame)
.navigation() as? IQGameProvider
if (qGameProvider == null) return if (qGameProvider == null) return
@ -2037,8 +2042,14 @@ object DirectUtils {
} }
@JvmStatic @JvmStatic
fun directToMessageCenter(defaultTabIndex: Int) { fun directToMessageCenter(defaultTabIndex: Int, source: String) {
ARouter.getInstance().build(RouteConsts.activity.messageWrapperActivity) val uri = Uri.Builder()
.path(RouteConsts.activity.messageWrapperActivity)
.appendQueryParameter(RouteConsts.QueryParams.REQUIRE_LOGIN, "true")
.appendQueryParameter(RouteConsts.QueryParams.SOURCE, source)
.build()
TheRouter.build(uri.toString())
.withInt(BaseActivity_TabLayout.PAGE_INDEX, defaultTabIndex) .withInt(BaseActivity_TabLayout.PAGE_INDEX, defaultTabIndex)
.navigation() .navigation()
} }

View File

@ -2,7 +2,7 @@ package com.gh.common.util
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.Context import android.content.Context
import com.alibaba.android.arouter.launcher.ARouter import com.therouter.TheRouter
import com.gh.gamecenter.common.constant.Constants import com.gh.gamecenter.common.constant.Constants
import com.gh.common.repository.ReservationRepository import com.gh.common.repository.ReservationRepository
import com.gh.gamecenter.WebActivity import com.gh.gamecenter.WebActivity
@ -231,7 +231,7 @@ object ReservationHelper {
@JvmStatic @JvmStatic
fun getReserveRequestBody(game: GameEntity?, context: Context): RequestBody { fun getReserveRequestBody(game: GameEntity?, context: Context): RequestBody {
val jPushId = val jPushId =
(ARouter.getInstance().build(RouteConsts.provider.push).navigation() as? IPushProvider) (TheRouter.get(IPushProvider::class.java))
?.getRegistrationId(context) ?: "" ?.getRegistrationId(context) ?: ""
var mirrorPosition = game?.getMirrorPosition() ?: 0 var mirrorPosition = game?.getMirrorPosition() ?: 0
if (mirrorPosition == -1) { if (mirrorPosition == -1) {

View File

@ -2,7 +2,7 @@ package com.gh.common.util
import android.os.Bundle import android.os.Bundle
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import com.alibaba.android.arouter.launcher.ARouter import com.therouter.TheRouter
import com.gh.common.iinterface.ISuperiorChain import com.gh.common.iinterface.ISuperiorChain
import com.gh.gamecenter.amway.AmwayFragment import com.gh.gamecenter.amway.AmwayFragment
import com.gh.gamecenter.category2.CategoryV2Fragment import com.gh.gamecenter.category2.CategoryV2Fragment
@ -129,9 +129,7 @@ object ViewPagerFragmentHelper {
} }
// 帮助与反馈 // 帮助与反馈
TYPE_FEEDBACK -> { TYPE_FEEDBACK -> {
val helpAndFeedbackProvider = val helpAndFeedbackProvider = TheRouter.get(IHelpAndFeedbackProvider::class.java)
ARouter.getInstance().build(RouteConsts.provider.helpAndFeedback)
.navigation() as? IHelpAndFeedbackProvider
if (helpAndFeedbackProvider != null) { if (helpAndFeedbackProvider != null) {
helpAndFeedbackProvider.getHelpAndFeedbackFragment().with(bundle) helpAndFeedbackProvider.getHelpAndFeedbackFragment().with(bundle)
} else { } else {
@ -250,9 +248,7 @@ object ViewPagerFragmentHelper {
} }
// QA // QA
TYPE_QA -> { TYPE_QA -> {
val helpAndFeedbackProvider = val helpAndFeedbackProvider = TheRouter.get(IHelpAndFeedbackProvider::class.java)
ARouter.getInstance().build(RouteConsts.provider.helpAndFeedback)
.navigation() as? IHelpAndFeedbackProvider
helpAndFeedbackProvider?.let { helpAndFeedbackProvider?.let {
className = it.getHelpContainerFragmentClass() className = it.getHelpContainerFragmentClass()

View File

@ -6,7 +6,7 @@ import android.os.Bundle;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import com.alibaba.android.arouter.facade.annotation.Route; import com.therouter.router.Route;
import com.gh.gamecenter.common.base.activity.ToolBarActivity; import com.gh.gamecenter.common.base.activity.ToolBarActivity;
import com.gh.gamecenter.common.constant.EntranceConsts; import com.gh.gamecenter.common.constant.EntranceConsts;
import com.gh.gamecenter.common.constant.RouteConsts; import com.gh.gamecenter.common.constant.RouteConsts;

View File

@ -5,12 +5,17 @@ import android.content.ContextWrapper
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
import com.therouter.router.Autowired
import com.therouter.router.Route
import com.therouter.TheRouter
import com.gh.base.DownloadToolbarActivity import com.gh.base.DownloadToolbarActivity
import com.gh.common.exposure.ExposureManager.log import com.gh.common.exposure.ExposureManager
import com.gh.common.exposure.ExposureTraceUtils.appendTrace import com.gh.common.exposure.ExposureTraceUtils.appendTrace
import com.gh.gamecenter.common.base.GlobalActivityManager import com.gh.gamecenter.common.base.GlobalActivityManager
import com.gh.gamecenter.common.constant.Constants import com.gh.gamecenter.common.base.activity.ToolBarActivity.NORMAL_FRAGMENT_BUNDLE
import com.gh.gamecenter.common.base.activity.ToolBarActivity.NORMAL_FRAGMENT_NAME
import com.gh.gamecenter.common.constant.EntranceConsts import com.gh.gamecenter.common.constant.EntranceConsts
import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.common.utils.toArrayList import com.gh.gamecenter.common.utils.toArrayList
import com.gh.gamecenter.core.utils.DisplayUtils import com.gh.gamecenter.core.utils.DisplayUtils
import com.gh.gamecenter.entity.GamePlatform import com.gh.gamecenter.entity.GamePlatform
@ -20,15 +25,54 @@ import com.gh.gamecenter.feature.exposure.ExposureEvent
import com.gh.gamecenter.feature.exposure.ExposureEvent.Companion.createEvent import com.gh.gamecenter.feature.exposure.ExposureEvent.Companion.createEvent
import com.gh.gamecenter.feature.exposure.ExposureType import com.gh.gamecenter.feature.exposure.ExposureType
import com.gh.gamecenter.gamedetail.GameDetailFragment import com.gh.gamecenter.gamedetail.GameDetailFragment
import com.halo.assistant.HaloApp
/** @Route(
* Created by khy on 2017/3/24. path = RouteConsts.activity.gameDetailActivity,
* 游戏详情页 description = "游戏详情页"
*/ )
class GameDetailActivity : DownloadToolbarActivity() { class GameDetailActivity : DownloadToolbarActivity() {
@JvmField
@Autowired(name = EntranceConsts.KEY_GAME_ID, description = "游戏 id", required = true)
var gameId: String? = null
@JvmField
@Autowired(name = EntranceConsts.KEY_GAME_ENTITY, description = "游戏摘要实体,如果你不懂这个是什么,那么不要用它,直接传入游戏 id 即可")
var gameEntity: GameEntity? = null
@JvmField
@Autowired(name = EntranceConsts.KEY_ENTRANCE, description = "入口埋点字段(开发内部使用)")
var entrance: String? = ""
@JvmField
@Autowired(name = EntranceConsts.KEY_DEFAULT_TAB, description = "默认选中 tab 的类型(目前可选的有五个类型 `详情`, `专区``云存档``评价``论坛`),首次进入匹配并切换至对应 tab")
var defaultTab: String = ""
@JvmField
@Autowired(name = EntranceConsts.KEY_COMMENT_AS_DEFAULT_TAB, description = "跳转到评论 tab首次进入直接跳转到评论 tab")
var commentAsDefaultTab: Boolean = false
@JvmField
@Autowired(name = EntranceConsts.KEY_SCROLL_TO_LIBAO, description = "滚动到礼包区域,首次进入滚动到礼包区域")
var scrollToLibao: Boolean = false
@JvmField
@Autowired(name = EntranceConsts.KEY_SCROLL_TO_SERVER, description = "滚动到开服表区域,首次进入滚动到开服表区域")
var scrollToServer: Boolean = false
@JvmField
@Autowired(name = EntranceConsts.KEY_OPEN_VIDEO_STREAMING, description = "打开视频流,首次进入打开视频流")
var openVideoStreaming: Boolean = false
@JvmField
@Autowired(name = EntranceConsts.KEY_OPEN_PLATFORM_WINDOW, description = "打开多版本窗口,首次进入打开多版本窗口")
var openPlatformWindow: Boolean = false
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
TheRouter.inject(this)
generateDataFromRoute()
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
DisplayUtils.transparentStatusBar(this) DisplayUtils.transparentStatusBar(this)
} }
@ -37,37 +81,21 @@ class GameDetailActivity : DownloadToolbarActivity() {
return getTargetIntent(this, GameDetailActivity::class.java, GameDetailFragment::class.java) return getTargetIntent(this, GameDetailActivity::class.java, GameDetailFragment::class.java)
} }
override fun getLayoutId(): Int { override fun getLayoutId() = R.layout.activity_game_detail
return R.layout.activity_game_detail
}
override fun showToolbarAtLeft(): Boolean { override fun showToolbarAtLeft() = true
return true override fun showDownloadMenu() = true
}
override fun showDownloadMenu(): Boolean { override fun getActivityNameInChinese() = "游戏详情"
return true
}
override fun onDestroy() {
super.onDestroy()
HaloApp.remove(Constants.GAME_DETAIL_COME_IN)
}
override fun getActivityNameInChinese(): String {
return "游戏详情"
}
override fun getBusinessId(): Pair<String, String> { override fun getBusinessId(): Pair<String, String> {
val fragment = targetFragment as? GameDetailFragment? return if (!gameId.isNullOrEmpty()) {
return if (fragment?.arguments != null) { Pair(gameId ?: "", "")
Pair(fragment.requireArguments().getString(EntranceConsts.KEY_GAMEID) ?: "", "")
} else { } else {
super.getBusinessId() super.getBusinessId()
} }
} }
override fun attachBaseContext(newBase: Context) { override fun attachBaseContext(newBase: Context) {
super.attachBaseContext(object : ContextWrapper(newBase) { super.attachBaseContext(object : ContextWrapper(newBase) {
override fun getSystemService(name: String): Any? { override fun getSystemService(name: String): Any? {
@ -96,6 +124,13 @@ class GameDetailActivity : DownloadToolbarActivity() {
) )
} }
private fun generateDataFromRoute() {
val bundle = intent.extras
intent?.putExtra(NORMAL_FRAGMENT_NAME, GameDetailFragment::class.java.canonicalName)
intent?.putExtra(NORMAL_FRAGMENT_BUNDLE, bundle)
}
companion object { companion object {
@JvmStatic @JvmStatic
@ -131,9 +166,10 @@ class GameDetailActivity : DownloadToolbarActivity() {
if (traceEvent != null) { if (traceEvent != null) {
val clickEvent = createEvent(gameEntity, traceEvent.source, appendTrace(traceEvent), ExposureType.CLICK) val clickEvent = createEvent(gameEntity, traceEvent.source, appendTrace(traceEvent), ExposureType.CLICK)
log(clickEvent) ExposureManager.log(clickEvent)
bundle.putParcelable(EntranceConsts.KEY_TRACE_EVENT, clickEvent) bundle.putParcelable(EntranceConsts.KEY_TRACE_EVENT, clickEvent)
} }
if (gameEntity != null && traceEvent != null && gameEntity.id != traceEvent.payload.gameId) { if (gameEntity != null && traceEvent != null && gameEntity.id != traceEvent.payload.gameId) {
// 当游戏 ID 跟曝光 traceEvent 的游戏ID 不一样的时候更新 traceEvent 的游戏ID // 当游戏 ID 跟曝光 traceEvent 的游戏ID 不一样的时候更新 traceEvent 的游戏ID
val (payload) = createEvent( val (payload) = createEvent(
@ -144,31 +180,35 @@ class GameDetailActivity : DownloadToolbarActivity() {
) )
traceEvent.payload = payload traceEvent.payload = payload
} }
if (defaultTab.isNotEmpty()) { if (defaultTab.isNotEmpty()) {
bundle.putString(EntranceConsts.KEY_TARGET, defaultTab) bundle.putString(EntranceConsts.KEY_TARGET, defaultTab)
} }
if (isSkipGameComment) { if (isSkipGameComment) {
bundle.putBoolean(EntranceConsts.KEY_SKIP_GAME_COMMENT, true) bundle.putBoolean(EntranceConsts.KEY_COMMENT_AS_DEFAULT_TAB, true)
} }
if (scrollToLibao) { if (scrollToLibao) {
bundle.putString(EntranceConsts.KEY_TARGET, GameDetailFragment.TAB_DESC) bundle.putString(EntranceConsts.KEY_TARGET, EntranceConsts.TAB_TYPE_DESC)
bundle.putBoolean(EntranceConsts.KEY_SCROLL_TO_LIBAO, true) bundle.putBoolean(EntranceConsts.KEY_SCROLL_TO_LIBAO, true)
} }
if (scrollToServer) { if (scrollToServer) {
bundle.putString(EntranceConsts.KEY_TARGET, GameDetailFragment.TAB_DESC) bundle.putString(EntranceConsts.KEY_TARGET, EntranceConsts.TAB_TYPE_DESC)
bundle.putBoolean(EntranceConsts.KEY_SCROLL_TO_SERVER, true) bundle.putBoolean(EntranceConsts.KEY_SCROLL_TO_SERVER, true)
} }
bundle.putString(EntranceConsts.KEY_GAMEID, gameEntity?.id)
bundle.putString(EntranceConsts.KEY_GAME_ID, gameEntity?.id)
bundle.putString(EntranceConsts.KEY_ENTRANCE, entrance) bundle.putString(EntranceConsts.KEY_ENTRANCE, entrance)
bundle.putParcelable(GameEntity.TAG, gameEntity) bundle.putParcelable(EntranceConsts.KEY_GAME_ENTITY, gameEntity)
context.startActivity(
getTargetIntent( TheRouter
context, .build(RouteConsts.activity.gameDetailActivity)
GameDetailActivity::class.java, .fillParams {
GameDetailFragment::class.java, it.putAll(bundle)
bundle }
) .navigation(context)
)
} }
@JvmStatic @JvmStatic
@ -178,7 +218,7 @@ class GameDetailActivity : DownloadToolbarActivity() {
entrance: String?, entrance: String?,
traceEvent: ExposureEvent? traceEvent: ExposureEvent?
) { ) {
startGameDetailActivity(context, gameId, entrance, -1, traceEvent = traceEvent) startGameDetailActivity(context, gameId, entrance, isSkipGameComment = false, traceEvent = traceEvent)
} }
@JvmStatic @JvmStatic
@ -186,7 +226,6 @@ class GameDetailActivity : DownloadToolbarActivity() {
context: Context, context: Context,
gameId: String, gameId: String,
entrance: String?, entrance: String?,
defaultTab: Int = -1,
isSkipGameComment: Boolean = false, isSkipGameComment: Boolean = false,
scrollToLibao: Boolean = false, scrollToLibao: Boolean = false,
openVideoStreaming: Boolean = false, openVideoStreaming: Boolean = false,
@ -197,7 +236,6 @@ class GameDetailActivity : DownloadToolbarActivity() {
context, context,
gameId, gameId,
entrance, entrance,
defaultTab,
isSkipGameComment, isSkipGameComment,
scrollToLibao, scrollToLibao,
openVideoStreaming, openVideoStreaming,
@ -211,7 +249,6 @@ class GameDetailActivity : DownloadToolbarActivity() {
/** /**
* @param gameId 游戏Id * @param gameId 游戏Id
* @param defaultTab 默认定位到哪个tab
* @param isSkipGameComment 是否跳转到评论tab * @param isSkipGameComment 是否跳转到评论tab
* @param scrollToLibao 滚动到礼包区域 * @param scrollToLibao 滚动到礼包区域
* @param openVideoStreaming 是否打开视频流 * @param openVideoStreaming 是否打开视频流
@ -225,7 +262,6 @@ class GameDetailActivity : DownloadToolbarActivity() {
context: Context, context: Context,
gameId: String, gameId: String,
entrance: String?, entrance: String?,
defaultTab: Int = -1,
isSkipGameComment: Boolean = false, isSkipGameComment: Boolean = false,
scrollToLibao: Boolean = false, scrollToLibao: Boolean = false,
openVideoStreaming: Boolean = false, openVideoStreaming: Boolean = false,
@ -248,7 +284,7 @@ class GameDetailActivity : DownloadToolbarActivity() {
appendTrace(traceEvent), appendTrace(traceEvent),
ExposureType.CLICK ExposureType.CLICK
) )
log(clickEvent) ExposureManager.log(clickEvent)
bundle.putParcelable(EntranceConsts.KEY_TRACE_EVENT, clickEvent) bundle.putParcelable(EntranceConsts.KEY_TRACE_EVENT, clickEvent)
} }
if (traceEvent != null && gameId != traceEvent.payload.gameId) { if (traceEvent != null && gameId != traceEvent.payload.gameId) {
@ -261,15 +297,12 @@ class GameDetailActivity : DownloadToolbarActivity() {
) )
traceEvent.payload = payload traceEvent.payload = payload
} }
if (defaultTab != -1) {
bundle.putInt(EntranceConsts.KEY_TARGET, defaultTab)
}
if (isSkipGameComment) { if (isSkipGameComment) {
bundle.putBoolean(EntranceConsts.KEY_SKIP_GAME_COMMENT, true) bundle.putBoolean(EntranceConsts.KEY_COMMENT_AS_DEFAULT_TAB, true)
} }
if (openVideoStreaming) { if (openVideoStreaming) {
bundle.putBoolean(EntranceConsts.KEY_OPEN_VIDEO_STREAMING, true) bundle.putBoolean(EntranceConsts.KEY_OPEN_VIDEO_STREAMING, true)
bundle.putString(EntranceConsts.KEY_TARGET, GameDetailFragment.TAB_DESC) bundle.putString(EntranceConsts.KEY_TARGET, EntranceConsts.TAB_TYPE_DESC)
} }
if (openPlatformWindow) { if (openPlatformWindow) {
bundle.putBoolean(EntranceConsts.KEY_OPEN_PLATFORM_WINDOW, true) bundle.putBoolean(EntranceConsts.KEY_OPEN_PLATFORM_WINDOW, true)
@ -283,10 +316,10 @@ class GameDetailActivity : DownloadToolbarActivity() {
} }
} }
if (scrollToLibao) { if (scrollToLibao) {
bundle.putString(EntranceConsts.KEY_TARGET, GameDetailFragment.TAB_DESC) bundle.putString(EntranceConsts.KEY_TARGET, EntranceConsts.TAB_TYPE_DESC)
bundle.putBoolean(EntranceConsts.KEY_SCROLL_TO_LIBAO, true) bundle.putBoolean(EntranceConsts.KEY_SCROLL_TO_LIBAO, true)
} }
bundle.putString(EntranceConsts.KEY_GAMEID, gameId) bundle.putString(EntranceConsts.KEY_GAME_ID, gameId)
bundle.putString(EntranceConsts.KEY_ENTRANCE, entrance) bundle.putString(EntranceConsts.KEY_ENTRANCE, entrance)
bundle.putParcelable(EntranceConsts.KEY_CUSTOM_PAGE_TRACK_DATA, customPageTrackData) bundle.putParcelable(EntranceConsts.KEY_CUSTOM_PAGE_TRACK_DATA, customPageTrackData)
bundle.putString(EntranceConsts.KEY_LAST_PAGE_ID, GlobalActivityManager.getLastPageEntity().pageId) bundle.putString(EntranceConsts.KEY_LAST_PAGE_ID, GlobalActivityManager.getLastPageEntity().pageId)
@ -295,14 +328,13 @@ class GameDetailActivity : DownloadToolbarActivity() {
EntranceConsts.KEY_LAST_PAGE_BUSINESS_ID, EntranceConsts.KEY_LAST_PAGE_BUSINESS_ID,
GlobalActivityManager.getLastPageEntity().pageBusinessId GlobalActivityManager.getLastPageEntity().pageBusinessId
) )
context.startActivity(
getTargetIntent( TheRouter
context, .build(RouteConsts.activity.gameDetailActivity)
GameDetailActivity::class.java, .fillParams {
GameDetailFragment::class.java, it.putAll(bundle)
bundle }
) .navigation(context)
)
} }
} }

View File

@ -34,7 +34,7 @@ import androidx.transition.*
import androidx.viewpager.widget.PagerAdapter import androidx.viewpager.widget.PagerAdapter
import androidx.viewpager.widget.ViewPager import androidx.viewpager.widget.ViewPager
import androidx.viewpager.widget.ViewPager.OnPageChangeListener import androidx.viewpager.widget.ViewPager.OnPageChangeListener
import com.alibaba.android.arouter.facade.annotation.Route import com.therouter.router.Route
import com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView import com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView
import com.facebook.drawee.backends.pipeline.Fresco import com.facebook.drawee.backends.pipeline.Fresco
import com.facebook.imagepipeline.core.ImagePipeline import com.facebook.imagepipeline.core.ImagePipeline

View File

@ -445,24 +445,6 @@ public class SkipActivity extends BaseActivity {
break; break;
} }
} }
} else if ("market".equals(uri.getScheme())) {
String host = uri.getHost();
String id = "";
try {
id = uri.getQueryParameter("id");
} catch (UnsupportedOperationException e) {
e.printStackTrace();
}
if (host != null) {
if ("details".equals(host)) {
bundle = new Bundle();
bundle.putString(KEY_TO, EntranceConsts.KEY_MARKET_DETAILS);
bundle.putString(KEY_DATA, id);
EntranceUtils.jumpActivity(this, bundle);
} else {
EntranceUtils.jumpActivity(this, new Bundle()); // 跳转至首页
}
}
} }
} }

View File

@ -0,0 +1,107 @@
package com.gh.gamecenter
import android.app.Activity
import android.content.Context
import android.net.Uri
import android.os.Bundle
import com.therouter.router.Navigator
import com.therouter.router.interceptor.NavigationCallback
import com.therouter.TheRouter
import com.gh.common.util.EntranceUtils
import com.gh.gamecenter.common.constant.EntranceConsts
import com.gh.gamecenter.common.utils.DialogHelper
import com.gh.gamecenter.common.utils.dropSchemeAndHost
import com.halo.assistant.HaloApp
import com.lightgame.utils.Utils
class SkipCompatActivity : SkipActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
val uri = intent.data
if (handleSkip(this, uri)) {
intent.setData(null)
}
super.onCreate(savedInstanceState)
finish()
}
companion object {
const val TAG = "SkipCompat"
const val HOST = "app"
const val SCHEME = "ghzhushou"
const val MARKET = "market"
fun handleSkip(context: Context, uri: Uri?): Boolean {
if (uri == null) return false
// Handle skip
if (uri.scheme == SCHEME) {
Utils.log(TAG, "handleSkip: $uri")
val host = uri.host
if (host == HOST) {
TheRouter
.build(uri.dropSchemeAndHost())
.navigation(context, object : NavigationCallback() {
override fun onFound(postcard: Navigator) {
Utils.log(TAG, "navigate to postcard ${postcard.originalUrl} onFound" )
}
override fun onLost(postcard: Navigator, requestCode: Int) {
Utils.log(TAG, "navigate to postcard ${postcard.originalUrl} onLost" )
if (HaloApp.getInstance().isAlreadyUpAndRunning) {
// 在光环应用内时,显示不支持弹窗
// 显示不支持弹窗
DialogHelper.showUpgradeDialog(context)
} else {
// 在光环应用外跳转时,重定向至首页
EntranceUtils.jumpActivity(context, Bundle())
}
}
override fun onArrival(postcard: Navigator) {
Utils.log(TAG, "navigate to postcard ${postcard.originalUrl} onArrival" )
}
override fun onActivityCreated(postcard: Navigator, activity: Activity) {
Utils.log(TAG, "navigate to postcard ${postcard.originalUrl} onActivityCreated" )
}
})
return true
}
} else if (uri.scheme == MARKET) {
val host = uri.host
var id = ""
try {
id = uri.getQueryParameter("id") ?: ""
} catch (e: Exception) {
e.printStackTrace()
}
if (host != null) {
if ("details" == host) {
val bundle = Bundle()
bundle.putString(
EntranceConsts.KEY_TO,
EntranceConsts.KEY_MARKET_DETAILS
)
bundle.putString(EntranceConsts.KEY_DATA, id)
EntranceUtils.jumpActivity(context, bundle)
} else {
EntranceUtils.jumpActivity(context, Bundle()) // 跳转至首页
}
return true
}
}
return false
}
}
}

View File

@ -14,8 +14,8 @@ import androidx.core.app.NotificationCompat
import androidx.core.text.bold import androidx.core.text.bold
import androidx.core.text.buildSpannedString import androidx.core.text.buildSpannedString
import androidx.core.text.color import androidx.core.text.color
import com.alibaba.android.arouter.facade.annotation.Route import com.therouter.router.Route
import com.alibaba.android.arouter.launcher.ARouter import com.therouter.TheRouter
import com.gh.common.dialog.NewPrivacyPolicyDialogFragment import com.gh.common.dialog.NewPrivacyPolicyDialogFragment
import com.gh.common.util.DeviceTokenUtils import com.gh.common.util.DeviceTokenUtils
import com.gh.common.util.DialogUtils import com.gh.common.util.DialogUtils
@ -29,6 +29,7 @@ import com.gh.gamecenter.common.constant.Constants
import com.gh.gamecenter.common.constant.RouteConsts import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.common.tracker.TrackerLogger import com.gh.gamecenter.common.tracker.TrackerLogger
import com.gh.gamecenter.common.utils.* import com.gh.gamecenter.common.utils.*
import com.gh.gamecenter.core.iinterface.ISplashScreen
import com.gh.gamecenter.core.provider.IAppProvider import com.gh.gamecenter.core.provider.IAppProvider
import com.gh.gamecenter.core.provider.IPackageUtilsProvider import com.gh.gamecenter.core.provider.IPackageUtilsProvider
import com.gh.gamecenter.core.provider.IPushProvider import com.gh.gamecenter.core.provider.IPushProvider
@ -47,7 +48,7 @@ import java.util.*
* 引导页面 * 引导页面
*/ */
@Route(path = RouteConsts.activity.splashActivity) @Route(path = RouteConsts.activity.splashActivity)
class SplashScreenActivity : BaseActivity() { class SplashScreenActivity : BaseActivity(), ISplashScreen {
private var mSharedPreferences: SharedPreferences? = null private var mSharedPreferences: SharedPreferences? = null
private var mIsNewForThisVersion = false private var mIsNewForThisVersion = false
@ -136,9 +137,8 @@ class SplashScreenActivity : BaseActivity() {
} }
private fun logAppLaunch() { private fun logAppLaunch() {
val packageUtilsConfig = val packageUtilsConfig = TheRouter.get(IPackageUtilsProvider::class.java)
ARouter.getInstance().build(RouteConsts.provider.packageUtils).navigation() as? IPackageUtilsProvider val appProvider = TheRouter.get(IAppProvider::class.java)
val appProvider = ARouter.getInstance().build(RouteConsts.provider.app).navigation() as? IAppProvider
val signatureHash = packageUtilsConfig?.getApkSignatureByPackageName(this, packageName)?.get(0) val signatureHash = packageUtilsConfig?.getApkSignatureByPackageName(this, packageName)?.get(0)
val sideLoadInfo = packageUtilsConfig?.getSideLoadedInfo() val sideLoadInfo = packageUtilsConfig?.getSideLoadedInfo()
val trackEvent = JSONObject() val trackEvent = JSONObject()
@ -282,7 +282,7 @@ class SplashScreenActivity : BaseActivity() {
SensorsBridge.init(HaloApp.getInstance(), HaloApp.getInstance().channel) SensorsBridge.init(HaloApp.getInstance(), HaloApp.getInstance().channel)
SensorsBridge.setOAID(HaloApp.getInstance().oaid) SensorsBridge.setOAID(HaloApp.getInstance().oaid)
val pushProvider = ARouter.getInstance().build(RouteConsts.provider.push).navigation() as? IPushProvider val pushProvider = TheRouter.get(IPushProvider::class.java)
val registrationId = pushProvider?.getRegistrationId(this) val registrationId = pushProvider?.getRegistrationId(this)
if (!registrationId.isNullOrEmpty()) { if (!registrationId.isNullOrEmpty()) {
SensorsBridge.profileAppend(KEY_REGISTRATION_ID, registrationId) SensorsBridge.profileAppend(KEY_REGISTRATION_ID, registrationId)

View File

@ -6,7 +6,7 @@ import android.os.Bundle
import android.text.TextUtils import android.text.TextUtils
import android.view.KeyEvent import android.view.KeyEvent
import android.view.View import android.view.View
import com.alibaba.android.arouter.facade.annotation.Route import com.therouter.router.Route
import com.gh.gamecenter.common.base.activity.ToolBarActivity import com.gh.gamecenter.common.base.activity.ToolBarActivity
import com.gh.gamecenter.common.constant.Constants import com.gh.gamecenter.common.constant.Constants
import com.gh.gamecenter.common.constant.EntranceConsts import com.gh.gamecenter.common.constant.EntranceConsts

View File

@ -19,8 +19,8 @@ import android.util.Base64;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import com.alibaba.android.arouter.facade.annotation.Route; import com.therouter.router.Route;
import com.alibaba.android.arouter.launcher.ARouter; import com.therouter.TheRouter;
import com.gh.common.constant.Config; import com.gh.common.constant.Config;
import com.gh.common.util.IntegralLogHelper; import com.gh.common.util.IntegralLogHelper;
import com.gh.gamecenter.common.callback.BiCallback; import com.gh.gamecenter.common.callback.BiCallback;
@ -52,7 +52,7 @@ import java.io.ByteArrayOutputStream;
*/ */
@Route(path = RouteConsts.activity.weiBoShareActivity) @Route(path = RouteConsts.activity.weiBoShareActivity)
public class WeiBoShareActivity extends Activity implements WbShareCallback { public class WeiBoShareActivity extends Activity implements WbShareCallback {
private IAppProvider mAppProvider = (IAppProvider) ARouter.getInstance().build(RouteConsts.provider.app).navigation(); private final IAppProvider mAppProvider = TheRouter.get(IAppProvider.class);
private static final String WEIBO_SCOPE = ( private static final String WEIBO_SCOPE = (
"email,direct_messages_read,direct_messages_write," "email,direct_messages_read,direct_messages_write,"

View File

@ -1,7 +1,7 @@
package com.gh.gamecenter.entity package com.gh.gamecenter.entity
import android.os.Parcelable import android.os.Parcelable
import com.alibaba.android.arouter.launcher.ARouter import com.therouter.TheRouter
import com.gh.gamecenter.common.constant.RouteConsts import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.core.provider.IConfigProvider import com.gh.gamecenter.core.provider.IConfigProvider
import com.gh.gamecenter.feature.entity.* import com.gh.gamecenter.feature.entity.*
@ -93,7 +93,7 @@ open class VideoEntity(
get() = _count ?: Count() get() = _count ?: Count()
fun getThumb(): String { fun getThumb(): String {
val configProvider = ARouter.getInstance().build(RouteConsts.provider.config).navigation() as? IConfigProvider val configProvider = TheRouter.get(IConfigProvider::class.java)
return if (!configProvider?.getVideoSnapshotSuffix().isNullOrEmpty()) { return if (!configProvider?.getVideoSnapshotSuffix().isNullOrEmpty()) {
"$url${configProvider?.getVideoSnapshotSuffix()},t_0,f_jpg,w_0,h_0,ar_auto" "$url${configProvider?.getVideoSnapshotSuffix()},t_0,f_jpg,w_0,h_0,ar_auto"
} else { } else {

View File

@ -709,7 +709,7 @@ class ForumDetailFragment : BaseLazyTabFragment(), IScrollable {
} else { } else {
val fuliFragment = childFragmentManager.findFragmentByTag("${tag}$INDEX_TRENDS") ?: FuLiFragment() val fuliFragment = childFragmentManager.findFragmentByTag("${tag}$INDEX_TRENDS") ?: FuLiFragment()
fuliFragment.arguments = bundleOf( fuliFragment.arguments = bundleOf(
GameEntity.TAG to game.toGameEntity(), EntranceConsts.KEY_GAME_ENTITY to game.toGameEntity(),
EntranceConsts.KEY_ENTRANCE to mEntrance, EntranceConsts.KEY_ENTRANCE to mEntrance,
EntranceConsts.KEY_PATH to TAB_TRENDS EntranceConsts.KEY_PATH to TAB_TRENDS
) )

View File

@ -19,7 +19,7 @@ import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import androidx.recyclerview.widget.RecyclerView.OnScrollListener import androidx.recyclerview.widget.RecyclerView.OnScrollListener
import com.alibaba.android.arouter.launcher.ARouter import com.therouter.TheRouter
import com.gh.common.util.CheckLoginUtils import com.gh.common.util.CheckLoginUtils
import com.gh.common.util.DirectUtils import com.gh.common.util.DirectUtils
import com.gh.gamecenter.GameDetailActivity import com.gh.gamecenter.GameDetailActivity
@ -150,7 +150,7 @@ class FollowHomeFragment : LazyFragment(), IScrollable {
KEY_LAUNCH_ALL_FOLLOW, KEY_LAUNCH_ALL_FOLLOW,
this, this,
object : ActivityResultContract<Unit, List<String>?>() { object : ActivityResultContract<Unit, List<String>?>() {
override fun createIntent(context: Context, input: Unit?): Intent { override fun createIntent(context: Context, input: Unit): Intent {
return AllFollowedActivity.getIntent(context) return AllFollowedActivity.getIntent(context)
} }
@ -280,7 +280,6 @@ class FollowHomeFragment : LazyFragment(), IScrollable {
requireContext(), requireContext(),
it.id, it.id,
"", "",
-1,
traceEvent = it.exposureEvent traceEvent = it.exposureEvent
) )
}) })
@ -309,15 +308,14 @@ class FollowHomeFragment : LazyFragment(), IScrollable {
}) })
newDetailDestination.observe(viewLifecycleOwner, EventObserver { newDetailDestination.observe(viewLifecycleOwner, EventObserver {
ARouter.getInstance().build(RouteConsts.activity.newsDetailActivity) TheRouter.build(RouteConsts.activity.newsDetailActivity)
.withString(EntranceConsts.KEY_NEWSID, it) .withString(EntranceConsts.KEY_NEWSID, it)
.withString(EntranceConsts.KEY_ENTRANCE, "") .withString(EntranceConsts.KEY_ENTRANCE, "")
.navigation(requireActivity()) .navigation(requireActivity())
}) })
articleCommentDetailDestination.observe(viewLifecycleOwner, EventObserver { articleCommentDetailDestination.observe(viewLifecycleOwner, EventObserver {
val messageDetailProvider = ARouter.getInstance().build(RouteConsts.provider.messageDetail) val messageDetailProvider = TheRouter.get(IMessageDetailProvider::class.java)
.navigation() as? IMessageDetailProvider
if (messageDetailProvider != null) { if (messageDetailProvider != null) {
val intent = messageDetailProvider.getIntentById(requireContext(), it, -1, false, "") val intent = messageDetailProvider.getIntentById(requireContext(), it, -1, false, "")
startActivity(intent) startActivity(intent)
@ -340,10 +338,7 @@ class FollowHomeFragment : LazyFragment(), IScrollable {
updateOkhttpCacheAction.observe(viewLifecycleOwner, EventObserver { updateOkhttpCacheAction.observe(viewLifecycleOwner, EventObserver {
// 更新okhttp缓存数据 // 更新okhttp缓存数据
val visitManagerProvider = val visitManagerProvider = TheRouter.get(IVisitManagerProvider::class.java)
ARouter.getInstance()
.build(RouteConsts.provider.visitManager)
.navigation() as? IVisitManagerProvider
visitManagerProvider?.updateOkhttpCache(requireContext(), it) visitManagerProvider?.updateOkhttpCache(requireContext(), it)
}) })
} }

View File

@ -3,7 +3,7 @@ package com.gh.gamecenter.game.upload
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle
import com.alibaba.android.arouter.facade.annotation.Route import com.therouter.router.Route
import com.gh.gamecenter.common.base.activity.BaseActivity import com.gh.gamecenter.common.base.activity.BaseActivity
import com.gh.gamecenter.common.base.activity.ToolBarActivity import com.gh.gamecenter.common.base.activity.ToolBarActivity
import com.gh.gamecenter.common.constant.EntranceConsts import com.gh.gamecenter.common.constant.EntranceConsts

View File

@ -438,7 +438,7 @@ class GameDetailFragment : BaseLazyFragment(), IScrollable {
val args = arguments ?: Bundle() val args = arguments ?: Bundle()
mAutoDownload = args.getBoolean(EntranceConsts.KEY_AUTO_DOWNLOAD) mAutoDownload = args.getBoolean(EntranceConsts.KEY_AUTO_DOWNLOAD)
mTraceEvent = args.getParcelable(EntranceConsts.KEY_TRACE_EVENT) mTraceEvent = args.getParcelable(EntranceConsts.KEY_TRACE_EVENT)
mSkipGameComment = args.getBoolean(EntranceConsts.KEY_SKIP_GAME_COMMENT) mSkipGameComment = args.getBoolean(EntranceConsts.KEY_COMMENT_AS_DEFAULT_TAB)
mIsOpenPlatformWindow = args.getBoolean(EntranceConsts.KEY_OPEN_PLATFORM_WINDOW) mIsOpenPlatformWindow = args.getBoolean(EntranceConsts.KEY_OPEN_PLATFORM_WINDOW)
mSkeleton = Skeleton.bind(mBinding.listSkeleton) mSkeleton = Skeleton.bind(mBinding.listSkeleton)
@ -451,11 +451,11 @@ class GameDetailFragment : BaseLazyFragment(), IScrollable {
.load(R.layout.fragment_gamedetail_skeleton) .load(R.layout.fragment_gamedetail_skeleton)
.show() .show()
val gameId = args.getString(EntranceConsts.KEY_GAMEID) ?: "" val gameId = args.getString(EntranceConsts.KEY_GAME_ID) ?: ""
val factory = GameDetailViewModel.Factory( val factory = GameDetailViewModel.Factory(
HaloApp.getInstance().application, HaloApp.getInstance().application,
gameId, gameId,
args.getParcelable(GameEntity.TAG) args.getParcelable(EntranceConsts.KEY_GAME_ENTITY)
) )
mViewModel = viewModelProviderFromParent(factory, gameId) mViewModel = viewModelProviderFromParent(factory, gameId)
mPackageViewModel = viewModelProvider(PackageViewModel.Factory()) mPackageViewModel = viewModelProvider(PackageViewModel.Factory())
@ -464,8 +464,8 @@ class GameDetailFragment : BaseLazyFragment(), IScrollable {
mBodyBinding.gamedetailVp.doOnPageSelected { position -> mBodyBinding.gamedetailVp.doOnPageSelected { position ->
if (!isAdded) return@doOnPageSelected if (!isAdded) return@doOnPageSelected
val bbsPosition = getTabPositionFromTabType(TAB_BBS) val bbsPosition = getTabPositionFromTabType(EntranceConsts.TAB_TYPE_BBS)
val trendsPosition = getTabPositionFromTabType(TAB_TRENDS) val trendsPosition = getTabPositionFromTabType(EntranceConsts.TAB_TYPE_TRENDS)
if (mNewGameDetailEntity?.bbsTab != null && position == bbsPosition) { if (mNewGameDetailEntity?.bbsTab != null && position == bbsPosition) {
DirectUtils.directToLinkPage( DirectUtils.directToLinkPage(
@ -482,7 +482,7 @@ class GameDetailFragment : BaseLazyFragment(), IScrollable {
}, 200) }, 200)
} else if (mNewGameDetailEntity?.zone != null && mNewGameDetailEntity?.zone?.style != "default" && position == trendsPosition && mNewGameDetailEntity?.bbsTab != null) { } else if (mNewGameDetailEntity?.zone != null && mNewGameDetailEntity?.zone?.style != "default" && position == trendsPosition && mNewGameDetailEntity?.bbsTab != null) {
// 跳转论坛-专区 // 跳转论坛-专区
val entrance = if (mDestinationTab == getTabPositionFromTabType(TAB_TRENDS)) { val entrance = if (mDestinationTab == getTabPositionFromTabType(EntranceConsts.TAB_TYPE_TRENDS)) {
if (mEntrance.contains("搜索")) "搜索页面" else "其他" if (mEntrance.contains("搜索")) "搜索页面" else "其他"
} else "游戏详情页" } else "游戏详情页"
mNewGameDetailEntity?.bbsTab?.link?.let { mNewGameDetailEntity?.bbsTab?.link?.let {
@ -839,7 +839,7 @@ class GameDetailFragment : BaseLazyFragment(), IScrollable {
DetailDownloadUtils.updateViewHolder(viewHolder) DetailDownloadUtils.updateViewHolder(viewHolder)
mDestinationTab = mDestinationTab =
getTabPositionFromTabType(arguments?.getString(EntranceConsts.KEY_TARGET, TAB_DESC) ?: TAB_DESC) getTabPositionFromTabType(arguments?.getString(EntranceConsts.KEY_TARGET, EntranceConsts.TAB_TYPE_DESC) ?: EntranceConsts.TAB_TYPE_DESC)
// destinationTab 的优先级最高,关注和关联关注在它的后面 // destinationTab 的优先级最高,关注和关联关注在它的后面
if (mDestinationTab != -1) { if (mDestinationTab != -1) {
@ -1015,7 +1015,7 @@ class GameDetailFragment : BaseLazyFragment(), IScrollable {
} }
val bundle = Bundle() val bundle = Bundle()
bundle.putParcelable(GameEntity.TAG, mGameEntity) bundle.putParcelable(EntranceConsts.KEY_GAME_ENTITY, mGameEntity)
bundle.putString(EntranceConsts.KEY_ENTRANCE, mEntrance) bundle.putString(EntranceConsts.KEY_ENTRANCE, mEntrance)
bundle.putBoolean(EntranceConsts.KEY_SCROLL_TO_LIBAO, scrollToLibao) bundle.putBoolean(EntranceConsts.KEY_SCROLL_TO_LIBAO, scrollToLibao)
bundle.putBoolean(EntranceConsts.KEY_SCROLL_TO_SERVER, scrollToServer) bundle.putBoolean(EntranceConsts.KEY_SCROLL_TO_SERVER, scrollToServer)
@ -1031,21 +1031,21 @@ class GameDetailFragment : BaseLazyFragment(), IScrollable {
mTabTitleList.clear() mTabTitleList.clear()
val tag = "android:switcher:${mBodyBinding.gamedetailVp.id}:" val tag = "android:switcher:${mBodyBinding.gamedetailVp.id}:"
val descFragment = childFragmentManager.findFragmentByTag("${tag}$TAB_DESC") ?: DescFragment() val descFragment = childFragmentManager.findFragmentByTag("${tag}${EntranceConsts.TAB_TYPE_DESC}") ?: DescFragment()
descFragment.arguments = bundle descFragment.arguments = bundle
mFragmentsList.add(descFragment) mFragmentsList.add(descFragment)
mTabTitleList.add(getString(R.string.game_detail_desc)) mTabTitleList.add(getString(R.string.game_detail_desc))
mTabTypeList.add(TAB_DESC) mTabTypeList.add(EntranceConsts.TAB_TYPE_DESC)
if (data.showArchive) { if (data.showArchive) {
val cloudArchiveFragment = val cloudArchiveFragment =
childFragmentManager.findFragmentByTag("${tag}${TAB_ARCHIVE}") ?: CloudArchiveFragment() childFragmentManager.findFragmentByTag("${tag}${EntranceConsts.TAB_TYPE_ARCHIVE}") ?: CloudArchiveFragment()
bundle.putParcelable(EntranceConsts.KEY_GAME, mGameEntity ?: GameEntity()) bundle.putParcelable(EntranceConsts.KEY_GAME, mGameEntity ?: GameEntity())
bundle.putString(EntranceConsts.KEY_ARCHIVE_CONFIG_URL, data.archiveTab.configUrl) bundle.putString(EntranceConsts.KEY_ARCHIVE_CONFIG_URL, data.archiveTab.configUrl)
cloudArchiveFragment.arguments = bundle cloudArchiveFragment.arguments = bundle
mFragmentsList.add(cloudArchiveFragment) mFragmentsList.add(cloudArchiveFragment)
mTabTitleList.add(getString(R.string.game_detail_cloud_archive)) mTabTitleList.add(getString(R.string.game_detail_cloud_archive))
mTabTypeList.add(TAB_ARCHIVE) mTabTypeList.add(EntranceConsts.TAB_TYPE_ARCHIVE)
NewFlatLogUtils.logCloudArchiveGameDetailTabRelated( NewFlatLogUtils.logCloudArchiveGameDetailTabRelated(
"cloud_save_tab_show", "cloud_save_tab_show",
@ -1055,13 +1055,13 @@ class GameDetailFragment : BaseLazyFragment(), IScrollable {
} }
if (data.showComment) { if (data.showComment) {
val ratingFragment = childFragmentManager.findFragmentByTag("${tag}${TAB_RATING}") ?: RatingFragment() val ratingFragment = childFragmentManager.findFragmentByTag("${tag}${EntranceConsts.TAB_TYPE_RATING}") ?: RatingFragment()
bundle.putBoolean(EntranceConsts.KEY_SKIP_GAME_COMMENT, mSkipGameComment) bundle.putBoolean(EntranceConsts.KEY_COMMENT_AS_DEFAULT_TAB, mSkipGameComment)
bundle.putBoolean(EntranceConsts.KEY_DIRECT_COMMENT, data.directComment) bundle.putBoolean(EntranceConsts.KEY_DIRECT_COMMENT, data.directComment)
ratingFragment.arguments = bundle ratingFragment.arguments = bundle
mFragmentsList.add(ratingFragment) mFragmentsList.add(ratingFragment)
mTabTitleList.add(getString(R.string.game_detail_comment)) mTabTitleList.add(getString(R.string.game_detail_comment))
mTabTypeList.add(TAB_RATING) mTabTypeList.add(EntranceConsts.TAB_TYPE_RATING)
} }
data.zone?.let { data.zone?.let {
@ -1072,7 +1072,7 @@ class GameDetailFragment : BaseLazyFragment(), IScrollable {
mFragmentsList.add(Fragment()) mFragmentsList.add(Fragment())
} else if (it.style == "link") { } else if (it.style == "link") {
//显示web页面 //显示web页面
val webFragment = childFragmentManager.findFragmentByTag("${tag}${TAB_TRENDS}") ?: WebFragment() val webFragment = childFragmentManager.findFragmentByTag("${tag}${EntranceConsts.TAB_TYPE_TRENDS}") ?: WebFragment()
val webBundle = Bundle() val webBundle = Bundle()
webBundle.putString(EntranceConsts.KEY_ENTRANCE, "游戏专区") webBundle.putString(EntranceConsts.KEY_ENTRANCE, "游戏专区")
webBundle.putString(EntranceConsts.KEY_URL, it.link) webBundle.putString(EntranceConsts.KEY_URL, it.link)
@ -1080,7 +1080,7 @@ class GameDetailFragment : BaseLazyFragment(), IScrollable {
webFragment.arguments = webBundle webFragment.arguments = webBundle
mFragmentsList.add(webFragment) mFragmentsList.add(webFragment)
} else { } else {
val fuliFragment = childFragmentManager.findFragmentByTag("${tag}${TAB_TRENDS}") ?: FuLiFragment() val fuliFragment = childFragmentManager.findFragmentByTag("${tag}${EntranceConsts.TAB_TYPE_TRENDS}") ?: FuLiFragment()
fuliFragment.arguments = bundle fuliFragment.arguments = bundle
mFragmentsList.add(fuliFragment) mFragmentsList.add(fuliFragment)
} }
@ -1089,7 +1089,7 @@ class GameDetailFragment : BaseLazyFragment(), IScrollable {
} else { } else {
mTabTitleList.add(getString(R.string.game_detail_dongtai)) mTabTitleList.add(getString(R.string.game_detail_dongtai))
} }
mTabTypeList.add(TAB_TRENDS) mTabTypeList.add(EntranceConsts.TAB_TYPE_TRENDS)
} }
var isShowBbs = true var isShowBbs = true
@ -1103,7 +1103,7 @@ class GameDetailFragment : BaseLazyFragment(), IScrollable {
if (isShowBbs && mGameEntity?.shouldUseMirrorInfo() == false) { if (isShowBbs && mGameEntity?.shouldUseMirrorInfo() == false) {
mFragmentsList.add(Fragment()) mFragmentsList.add(Fragment())
mTabTitleList.add(getString(R.string.game_detail_bbs)) mTabTitleList.add(getString(R.string.game_detail_bbs))
mTabTypeList.add(TAB_BBS) mTabTypeList.add(EntranceConsts.TAB_TYPE_BBS)
} }
} }
@ -1116,7 +1116,7 @@ class GameDetailFragment : BaseLazyFragment(), IScrollable {
gamedetailVp.doOnPageSelected { gamedetailVp.doOnPageSelected {
logTabClick(it) logTabClick(it)
} }
gamedetailVp.currentItem = getTabPositionFromTabType(TAB_DESC) gamedetailVp.currentItem = getTabPositionFromTabType(EntranceConsts.TAB_TYPE_DESC)
mBodyBinding.tabLayout.setupWithViewPager(gamedetailVp) mBodyBinding.tabLayout.setupWithViewPager(gamedetailVp)
mBodyBinding.tabIndicator.setupWithTabLayout(mBodyBinding.tabLayout) mBodyBinding.tabIndicator.setupWithTabLayout(mBodyBinding.tabLayout)
@ -1125,7 +1125,7 @@ class GameDetailFragment : BaseLazyFragment(), IScrollable {
for (i in 0 until mBodyBinding.tabLayout.tabCount) { for (i in 0 until mBodyBinding.tabLayout.tabCount) {
val tab = mBodyBinding.tabLayout.getTabAt(i) ?: continue val tab = mBodyBinding.tabLayout.getTabAt(i) ?: continue
val tabTitle = if (tab.text != null) tab.text.toString() else "" val tabTitle = if (tab.text != null) tab.text.toString() else ""
if (data.showArchive && i == getTabPositionFromTabType(TAB_ARCHIVE)) { if (data.showArchive && i == getTabPositionFromTabType(EntranceConsts.TAB_TYPE_ARCHIVE)) {
tab.customView = getArchiveTabView(tabTitle) tab.customView = getArchiveTabView(tabTitle)
tab.view.run { tab.view.run {
clipChildren = false clipChildren = false
@ -1258,7 +1258,7 @@ class GameDetailFragment : BaseLazyFragment(), IScrollable {
if (mNewGameDetailEntity!!.showComment) { if (mNewGameDetailEntity!!.showComment) {
if (mSkipGameComment) { if (mSkipGameComment) {
tabPerformClick(getTabPositionFromTabType(TAB_RATING)) tabPerformClick(getTabPositionFromTabType(EntranceConsts.TAB_TYPE_RATING))
mBodyBinding.gamedetailAppbar.setExpanded(false) mBodyBinding.gamedetailAppbar.setExpanded(false)
mSkipGameComment = false mSkipGameComment = false
} }
@ -1759,13 +1759,13 @@ class GameDetailFragment : BaseLazyFragment(), IScrollable {
@Subscribe(threadMode = ThreadMode.MAIN) @Subscribe(threadMode = ThreadMode.MAIN)
fun onEventMainThread(reuse: EBReuse) { fun onEventMainThread(reuse: EBReuse) {
if (SKIP_DESC == reuse.type) { if (SKIP_DESC == reuse.type) {
tabPerformClick(getTabPositionFromTabType(TAB_DESC)) tabPerformClick(getTabPositionFromTabType(EntranceConsts.TAB_TYPE_DESC))
} else if (OPEN_APPBAR == reuse.type && !mIsTouchScreen) { } else if (OPEN_APPBAR == reuse.type && !mIsTouchScreen) {
mBodyBinding.gamedetailAppbar.setExpanded(true, true) mBodyBinding.gamedetailAppbar.setExpanded(true, true)
} else if (SKIP_FULI == reuse.type) { } else if (SKIP_FULI == reuse.type) {
tabPerformClick(getTabPositionFromTabType(TAB_TRENDS)) tabPerformClick(getTabPositionFromTabType(EntranceConsts.TAB_TYPE_TRENDS))
} else if (SKIP_RATING == reuse.type) { } else if (SKIP_RATING == reuse.type) {
tabPerformClick(getTabPositionFromTabType(TAB_RATING)) tabPerformClick(getTabPositionFromTabType(EntranceConsts.TAB_TYPE_RATING))
} else if (CLOSE_APPBAR == reuse.type && !mIsTouchScreen) { } else if (CLOSE_APPBAR == reuse.type && !mIsTouchScreen) {
mBodyBinding.gamedetailAppbar.setExpanded(false, true) mBodyBinding.gamedetailAppbar.setExpanded(false, true)
} else if ("download" == reuse.type) { } else if ("download" == reuse.type) {
@ -2012,8 +2012,8 @@ class GameDetailFragment : BaseLazyFragment(), IScrollable {
} }
private fun tabPerformClick(position: Int) { private fun tabPerformClick(position: Int) {
val trendsTabPosition = getTabPositionFromTabType(TAB_TRENDS) val trendsTabPosition = getTabPositionFromTabType(EntranceConsts.TAB_TYPE_TRENDS)
val bbsTabPosition = getTabPositionFromTabType(TAB_BBS) val bbsTabPosition = getTabPositionFromTabType(EntranceConsts.TAB_TYPE_BBS)
when (position) { when (position) {
trendsTabPosition -> { trendsTabPosition -> {
@ -2023,7 +2023,7 @@ class GameDetailFragment : BaseLazyFragment(), IScrollable {
) { ) {
performJumpContentCard("func_zone", position) performJumpContentCard("func_zone", position)
} else { } else {
mBodyBinding.gamedetailVp.currentItem = getTabPositionFromTabType(TAB_TRENDS) mBodyBinding.gamedetailVp.currentItem = getTabPositionFromTabType(EntranceConsts.TAB_TYPE_TRENDS)
} }
} }
@ -2031,7 +2031,7 @@ class GameDetailFragment : BaseLazyFragment(), IScrollable {
if (!mTabTitleList.contains(getString(R.string.game_detail_bbs))) { if (!mTabTitleList.contains(getString(R.string.game_detail_bbs))) {
performJumpContentCard("func_bbs", position) performJumpContentCard("func_bbs", position)
} else { } else {
mBodyBinding.gamedetailVp.currentItem = getTabPositionFromTabType(TAB_BBS) mBodyBinding.gamedetailVp.currentItem = getTabPositionFromTabType(EntranceConsts.TAB_TYPE_BBS)
} }
} }
@ -2072,11 +2072,11 @@ class GameDetailFragment : BaseLazyFragment(), IScrollable {
val entrance = if (mEntrance.contains("论坛详情")) "论坛" else "游戏" val entrance = if (mEntrance.contains("论坛详情")) "论坛" else "游戏"
mGameEntity?.run { mGameEntity?.run {
when (mTabTypeList[position]) { when (mTabTypeList[position]) {
TAB_DESC -> { EntranceConsts.TAB_TYPE_DESC -> {
NewLogUtils.logGameDetailTabClick(name ?: "", id, "详情") NewLogUtils.logGameDetailTabClick(name ?: "", id, "详情")
} }
TAB_TRENDS -> { EntranceConsts.TAB_TYPE_TRENDS -> {
NewLogUtils.logGameDetailTabClick( NewLogUtils.logGameDetailTabClick(
"view_game_detail_special_area_tab", "view_game_detail_special_area_tab",
entrance, entrance,
@ -2087,7 +2087,7 @@ class GameDetailFragment : BaseLazyFragment(), IScrollable {
NewLogUtils.logGameDetailTabClick(name ?: "", id, "专区") NewLogUtils.logGameDetailTabClick(name ?: "", id, "专区")
} }
TAB_ARCHIVE -> { EntranceConsts.TAB_TYPE_ARCHIVE -> {
NewFlatLogUtils.logCloudArchiveGameDetailTabRelated( NewFlatLogUtils.logCloudArchiveGameDetailTabRelated(
"cloud_save_tab_click", "cloud_save_tab_click",
mGameEntity?.id ?: "", mGameEntity?.id ?: "",
@ -2106,12 +2106,12 @@ class GameDetailFragment : BaseLazyFragment(), IScrollable {
) )
} }
TAB_RATING -> { EntranceConsts.TAB_TYPE_RATING -> {
NewLogUtils.logGameDetailTabClick("view_game_detail_comment_tab", entrance, id, gameType, bbsId) NewLogUtils.logGameDetailTabClick("view_game_detail_comment_tab", entrance, id, gameType, bbsId)
NewLogUtils.logGameDetailTabClick(name ?: "", id, "评论") NewLogUtils.logGameDetailTabClick(name ?: "", id, "评论")
} }
TAB_BBS -> { EntranceConsts.TAB_TYPE_BBS -> {
NewLogUtils.logGameDetailTabClick(name ?: "", id, "论坛") NewLogUtils.logGameDetailTabClick(name ?: "", id, "论坛")
} }
} }
@ -2367,7 +2367,7 @@ class GameDetailFragment : BaseLazyFragment(), IScrollable {
private fun updateArchiveTabUI() { private fun updateArchiveTabUI() {
mBodyBinding.tabLayout.run { mBodyBinding.tabLayout.run {
val archivePosition = getTabPositionFromTabType(TAB_ARCHIVE) val archivePosition = getTabPositionFromTabType(EntranceConsts.TAB_TYPE_ARCHIVE)
getTabAt(archivePosition)?.customView?.findViewById<ImageView>(R.id.newIv)?.visibility = View.VISIBLE getTabAt(archivePosition)?.customView?.findViewById<ImageView>(R.id.newIv)?.visibility = View.VISIBLE
} }
} }
@ -2384,7 +2384,7 @@ class GameDetailFragment : BaseLazyFragment(), IScrollable {
override fun onBackPressed(): Boolean { override fun onBackPressed(): Boolean {
mOrientationUtils?.backToProtVideo() mOrientationUtils?.backToProtVideo()
val trendsTabPosition = getTabPositionFromTabType(TAB_TRENDS) val trendsTabPosition = getTabPositionFromTabType(EntranceConsts.TAB_TYPE_TRENDS)
if (mBodyBinding.gamedetailVp.currentItem == trendsTabPosition if (mBodyBinding.gamedetailVp.currentItem == trendsTabPosition
&& mFragmentsList[trendsTabPosition] is WebFragment && mFragmentsList[trendsTabPosition] is WebFragment
@ -2647,12 +2647,6 @@ class GameDetailFragment : BaseLazyFragment(), IScrollable {
} }
companion object { companion object {
const val TAB_DESC = "详情"
const val TAB_TRENDS = "专区"
const val TAB_ARCHIVE = "云存档"
const val TAB_RATING = "评价"
const val TAB_BBS = "论坛"
const val SKIP_DESC = "skipDesc" const val SKIP_DESC = "skipDesc"
const val SKIP_FULI = "skipFuli" const val SKIP_FULI = "skipFuli"
const val SKIP_RATING = "skipRatting" const val SKIP_RATING = "skipRatting"

View File

@ -7,7 +7,7 @@ import android.view.View
import androidx.recyclerview.widget.DefaultItemAnimator import androidx.recyclerview.widget.DefaultItemAnimator
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.alibaba.android.arouter.launcher.ARouter import com.therouter.TheRouter
import com.gh.common.util.DirectUtils import com.gh.common.util.DirectUtils
import com.gh.common.util.OnSyncCallBack import com.gh.common.util.OnSyncCallBack
import com.gh.common.util.SyncDataBetweenPageHelper import com.gh.common.util.SyncDataBetweenPageHelper
@ -116,7 +116,7 @@ class DescFragment: LazyFragment(), IScrollable {
} }
override fun onFragmentFirstVisible() { override fun onFragmentFirstVisible() {
mGameEntity = arguments?.getParcelable(GameEntity.TAG) mGameEntity = arguments?.getParcelable(EntranceConsts.KEY_GAME_ENTITY)
openVideoStreaming = arguments?.getBoolean(EntranceConsts.KEY_OPEN_VIDEO_STREAMING, false) ?: false openVideoStreaming = arguments?.getBoolean(EntranceConsts.KEY_OPEN_VIDEO_STREAMING, false) ?: false
mScrollToLibao = arguments?.getBoolean(EntranceConsts.KEY_SCROLL_TO_LIBAO, false) ?: false mScrollToLibao = arguments?.getBoolean(EntranceConsts.KEY_SCROLL_TO_LIBAO, false) ?: false
mScrollToServer = arguments?.getBoolean(EntranceConsts.KEY_SCROLL_TO_SERVER, false) ?: false mScrollToServer = arguments?.getBoolean(EntranceConsts.KEY_SCROLL_TO_SERVER, false) ?: false
@ -306,8 +306,7 @@ class DescFragment: LazyFragment(), IScrollable {
} }
private fun showFloatingWindowIfNeeded() { private fun showFloatingWindowIfNeeded() {
val floatingWindowProvider = val floatingWindowProvider = TheRouter.get(IFloatingWindowProvider::class.java)
ARouter.getInstance().build(RouteConsts.provider.floatingwindow).navigation() as? IFloatingWindowProvider<WelcomeDialogEntity>
floatingWindowProvider?.getAndShowFloatingWindow( floatingWindowProvider?.getAndShowFloatingWindow(
mGameEntity?.id ?: "", mGameEntity?.id ?: "",

View File

@ -59,7 +59,7 @@ class FuLiFragment : LazyFragment(), IScrollable {
} }
override fun onFragmentFirstVisible() { override fun onFragmentFirstVisible() {
val gameEntity = arguments?.getParcelable(GameEntity.TAG) as? GameEntity val gameEntity = arguments?.getParcelable(EntranceConsts.KEY_GAME_ENTITY) as? GameEntity
val gameDetailFactory = val gameDetailFactory =
GameDetailViewModel.Factory(HaloApp.getInstance().application, gameEntity?.id, gameEntity) GameDetailViewModel.Factory(HaloApp.getInstance().application, gameEntity?.id, gameEntity)
shouldScroolToLibao = arguments?.getBoolean(EntranceConsts.KEY_SCROLL_TO_LIBAO) ?: false shouldScroolToLibao = arguments?.getBoolean(EntranceConsts.KEY_SCROLL_TO_LIBAO) ?: false

View File

@ -52,7 +52,6 @@ class GameDetailAnswerAdapter(
val path = "游戏详情-动态" val path = "游戏详情-动态"
holder.bindAnswerItem(entity, mEntrance, path) holder.bindAnswerItem(entity, mEntrance, path)
holder.binding.title.setOnClickListener { holder.binding.title.setOnClickListener {
HaloApp.put(Constants.GAME_DETAIL_COME_IN, true)
MtaHelper.onEvent("进入问答", "游戏详情", mViewModel.gameCommunity?.name + "+" + mViewModel.game?.name) MtaHelper.onEvent("进入问答", "游戏详情", mViewModel.gameCommunity?.name + "+" + mViewModel.game?.name)
if ("community_article" == entity.type) { if ("community_article" == entity.type) {
MtaHelper.onEvent("游戏详情_新", "点击社区文章", mViewModel.game?.name + "+" + entity.questions.title) MtaHelper.onEvent("游戏详情_新", "点击社区文章", mViewModel.game?.name + "+" + entity.questions.title)
@ -81,7 +80,6 @@ class GameDetailAnswerAdapter(
} }
holder.itemView.setOnClickListener { holder.itemView.setOnClickListener {
HaloApp.put(Constants.GAME_DETAIL_COME_IN, true)
MtaHelper.onEvent("进入问答", "游戏详情", mViewModel.gameCommunity?.name + "+" + mViewModel.game?.name) MtaHelper.onEvent("进入问答", "游戏详情", mViewModel.gameCommunity?.name + "+" + mViewModel.game?.name)
if ("community_article" == entity.type) { if ("community_article" == entity.type) {
MtaHelper.onEvent("游戏详情_新", "点击社区文章", mViewModel.game?.name + "+" + entity.questions.title) MtaHelper.onEvent("游戏详情_新", "点击社区文章", mViewModel.game?.name + "+" + entity.questions.title)

View File

@ -18,7 +18,7 @@ class RatingFoldActivity : ToolBarActivity() {
@JvmStatic @JvmStatic
fun getIntent(context: Context, game: GameEntity, entrance: String, path: String): Intent { fun getIntent(context: Context, game: GameEntity, entrance: String, path: String): Intent {
val bundle = Bundle() val bundle = Bundle()
bundle.putParcelable(GameEntity.TAG, game) bundle.putParcelable(EntranceConsts.KEY_GAME_ENTITY, game)
bundle.putString(EntranceConsts.KEY_ENTRANCE, mergeEntranceAndPath(entrance, path)) bundle.putString(EntranceConsts.KEY_ENTRANCE, mergeEntranceAndPath(entrance, path))
bundle.putSerializable(EntranceConsts.KEY_LOCATION, RatingViewModel.RatingType.FOLD_RATING) bundle.putSerializable(EntranceConsts.KEY_LOCATION, RatingViewModel.RatingType.FOLD_RATING)
return getTargetIntent(context, RatingFoldActivity::class.java, RatingFragment::class.java, bundle) return getTargetIntent(context, RatingFoldActivity::class.java, RatingFragment::class.java, bundle)

View File

@ -91,7 +91,7 @@ class RatingFragment : LazyListFragment<RatingComment, RatingViewModel>(), IScro
override fun provideListViewModel(): RatingViewModel { override fun provideListViewModel(): RatingViewModel {
val factory = RatingViewModel.Factory( val factory = RatingViewModel.Factory(
HaloApp.getInstance().application, HaloApp.getInstance().application,
arguments?.getParcelable(GameEntity.TAG)!!, mRatingType!! arguments?.getParcelable(EntranceConsts.KEY_GAME_ENTITY)!!, mRatingType!!
) )
return ViewModelProviders.of(this, factory).get(RatingViewModel::class.java) return ViewModelProviders.of(this, factory).get(RatingViewModel::class.java)
} }
@ -109,7 +109,7 @@ class RatingFragment : LazyListFragment<RatingComment, RatingViewModel>(), IScro
override fun onFragmentPause() { override fun onFragmentPause() {
super.onFragmentPause() super.onFragmentPause()
val game = arguments?.getParcelable<GameEntity>(GameEntity.TAG) val game = arguments?.getParcelable<GameEntity>(EntranceConsts.KEY_GAME_ENTITY)
val stayTime = (System.currentTimeMillis() - startPageTime) / 1000 val stayTime = (System.currentTimeMillis() - startPageTime) / 1000
NewLogUtils.logGameDetailTabOrCommentDetailPause( NewLogUtils.logGameDetailTabOrCommentDetailPause(
"jump_game_detail_comment_tab", "jump_game_detail_comment_tab",
@ -128,7 +128,7 @@ class RatingFragment : LazyListFragment<RatingComment, RatingViewModel>(), IScro
super.onFragmentFirstVisible() super.onFragmentFirstVisible()
val horizontalPadding = com.gh.gamecenter.common.R.dimen.game_detail_item_horizontal_padding.toPx() val horizontalPadding = com.gh.gamecenter.common.R.dimen.game_detail_item_horizontal_padding.toPx()
mSkipGameComment = arguments?.getBoolean(EntranceConsts.KEY_SKIP_GAME_COMMENT) mSkipGameComment = arguments?.getBoolean(EntranceConsts.KEY_COMMENT_AS_DEFAULT_TAB)
mListRv?.setPadding(horizontalPadding, 0, horizontalPadding, 0) mListRv?.setPadding(horizontalPadding, 0, horizontalPadding, 0)
mListRefresh?.setBackgroundColor(ContextCompat.getColor(requireContext(), com.gh.gamecenter.common.R.color.transparent)) mListRefresh?.setBackgroundColor(ContextCompat.getColor(requireContext(), com.gh.gamecenter.common.R.color.transparent))
mListRefresh?.isEnabled = mRatingType != RatingViewModel.RatingType.RATING mListRefresh?.isEnabled = mRatingType != RatingViewModel.RatingType.RATING

View File

@ -11,7 +11,7 @@ import androidx.core.content.ContextCompat
import androidx.core.widget.doOnTextChanged import androidx.core.widget.doOnTextChanged
import androidx.lifecycle.ViewModelProviders import androidx.lifecycle.ViewModelProviders
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.alibaba.android.arouter.facade.annotation.Route import com.therouter.router.Route
import com.gh.common.exposure.ExposureManager import com.gh.common.exposure.ExposureManager
import com.gh.common.util.NewFlatLogUtils import com.gh.common.util.NewFlatLogUtils
import com.gh.common.util.NewLogUtils import com.gh.common.util.NewLogUtils

View File

@ -133,7 +133,7 @@ class RatingEditActivity : ToolBarActivity(), KeyboardHeightObserver {
return return
} }
setToolbarMenu(R.menu.menu_game_comment) setToolbarMenu(R.menu.menu_game_comment)
mGame = intent.getParcelableExtra(GameEntity.TAG) ?: GameEntity(id = "") mGame = intent.getParcelableExtra(EntranceConsts.KEY_GAME_ENTITY) ?: GameEntity(id = "")
mFromAmway = intent.getBooleanExtra(EntranceConsts.KEY_AMWAY, false) mFromAmway = intent.getBooleanExtra(EntranceConsts.KEY_AMWAY, false)
mIsSkipSuccessPage = intent.getBooleanExtra(EntranceConsts.KEY_SKIP_SUCCESS_PAGE, false) mIsSkipSuccessPage = intent.getBooleanExtra(EntranceConsts.KEY_SKIP_SUCCESS_PAGE, false)
mComment = intent.getParcelableExtra(RatingComment::class.java.simpleName) mComment = intent.getParcelableExtra(RatingComment::class.java.simpleName)
@ -661,7 +661,7 @@ class RatingEditActivity : ToolBarActivity(), KeyboardHeightObserver {
isSkipSuccessPage: Boolean = true isSkipSuccessPage: Boolean = true
): Intent { ): Intent {
val intent = Intent(context, RatingEditActivity::class.java) val intent = Intent(context, RatingEditActivity::class.java)
intent.putExtra(GameEntity.TAG, game) intent.putExtra(EntranceConsts.KEY_GAME_ENTITY, game)
intent.putExtra(EntranceConsts.KEY_RATING_STAR_COUNT, starCount) intent.putExtra(EntranceConsts.KEY_RATING_STAR_COUNT, starCount)
intent.putExtra(EntranceConsts.KEY_AMWAY, fromAmway) intent.putExtra(EntranceConsts.KEY_AMWAY, fromAmway)
intent.putExtra(EntranceConsts.KEY_SKIP_SUCCESS_PAGE, isSkipSuccessPage) intent.putExtra(EntranceConsts.KEY_SKIP_SUCCESS_PAGE, isSkipSuccessPage)
@ -672,7 +672,7 @@ class RatingEditActivity : ToolBarActivity(), KeyboardHeightObserver {
fun getPatchIntent(context: Context, game: GameEntity, comment: RatingComment): Intent { fun getPatchIntent(context: Context, game: GameEntity, comment: RatingComment): Intent {
val intent = Intent(context, RatingEditActivity::class.java) val intent = Intent(context, RatingEditActivity::class.java)
intent.putExtra(GameEntity.TAG, game) intent.putExtra(EntranceConsts.KEY_GAME_ENTITY, game)
intent.putExtra(RatingComment::class.java.simpleName, comment) intent.putExtra(RatingComment::class.java.simpleName, comment)
return intent return intent
} }

View File

@ -3,7 +3,7 @@ package com.gh.gamecenter.help
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle
import com.alibaba.android.arouter.launcher.ARouter import com.therouter.TheRouter
import com.gh.gamecenter.common.constant.RouteConsts import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.common.entity.SimpleGameEntity import com.gh.gamecenter.common.entity.SimpleGameEntity
import com.gh.gamecenter.common.entity.SuggestType import com.gh.gamecenter.common.entity.SuggestType
@ -11,7 +11,7 @@ import com.gh.gamecenter.common.provider.IHelpAndFeedbackProvider
object HelpAndFeedbackBridge { object HelpAndFeedbackBridge {
private val mHelpAndFeedbackHelp by lazy { private val mHelpAndFeedbackHelp by lazy {
ARouter.getInstance().build(RouteConsts.provider.helpAndFeedback).navigation() as? IHelpAndFeedbackProvider TheRouter.get(IHelpAndFeedbackProvider::class.java)
} }
@JvmStatic @JvmStatic

View File

@ -298,8 +298,7 @@ class CustomPageFragment : LazyFragment(), ISmartRefreshContent, IScrollable {
requireContext(), requireContext(),
game.id, game.id,
entrance, entrance,
-1, traceEvent = game.exposureEvent,
traceEvent = game.exposureEvent
) )
} }
@ -402,8 +401,7 @@ class CustomPageFragment : LazyFragment(), ISmartRefreshContent, IScrollable {
requireContext(), requireContext(),
gameId = gameId, gameId = gameId,
entrance = "自定义页面", entrance = "自定义页面",
defaultTab = -1, traceEvent = exposureEvent,
traceEvent = exposureEvent
) )
}) })

View File

@ -14,7 +14,7 @@ import android.view.ViewGroup
import android.view.Window import android.view.Window
import android.view.animation.PathInterpolator import android.view.animation.PathInterpolator
import android.widget.RelativeLayout import android.widget.RelativeLayout
import com.alibaba.android.arouter.launcher.ARouter import com.therouter.TheRouter
import com.gh.common.exposure.ExposureManager import com.gh.common.exposure.ExposureManager
import com.gh.common.exposure.ExposureTraceUtils import com.gh.common.exposure.ExposureTraceUtils
import com.gh.common.util.DirectUtils import com.gh.common.util.DirectUtils
@ -120,9 +120,7 @@ class CustomWelcomeDialogFragment : BaseDialogFragment() {
mWelcomeEntity?.let { mWelcomeEntity?.let {
DirectUtils.directToLinkPage(requireContext(), it, EntranceConsts.ENTRANCE_WELCOME, "", clickEvent) DirectUtils.directToLinkPage(requireContext(), it, EntranceConsts.ENTRANCE_WELCOME, "", clickEvent)
if (mShowEnterAnimation) { if (mShowEnterAnimation) {
val floatingWindowProvider = val floatingWindowProvider = TheRouter.get(IFloatingWindowProvider::class.java)
ARouter.getInstance().build(RouteConsts.provider.floatingwindow)
.navigation() as? IFloatingWindowProvider<WelcomeDialogEntity>
floatingWindowProvider?.logWindowClicked( floatingWindowProvider?.logWindowClicked(
action = "点击弹窗跳转页面", action = "点击弹窗跳转页面",
@ -160,9 +158,7 @@ class CustomWelcomeDialogFragment : BaseDialogFragment() {
}) })
mBinding.ivCloseBackup.setOnClickListener { mBinding.ivCloseBackup.setOnClickListener {
val floatingWindowProvider = val floatingWindowProvider = TheRouter.get(IFloatingWindowProvider::class.java)
ARouter.getInstance().build(RouteConsts.provider.floatingwindow)
.navigation() as? IFloatingWindowProvider<WelcomeDialogEntity>
// 来源 fragment 是否不可见 // 来源 fragment 是否不可见
if (mTriggerFragment?.isCurrentlyVisible() == false) { if (mTriggerFragment?.isCurrentlyVisible() == false) {
@ -197,9 +193,7 @@ class CustomWelcomeDialogFragment : BaseDialogFragment() {
ImageUtils.displayWithoutMemoryCache(mBinding.ivOpeningCover, mWelcomeEntity?.icon) ImageUtils.displayWithoutMemoryCache(mBinding.ivOpeningCover, mWelcomeEntity?.icon)
// 弹起启动弹窗时,把右下角悬浮窗置为隐藏 // 弹起启动弹窗时,把右下角悬浮窗置为隐藏
val floatingWindowProvider = val floatingWindowProvider = TheRouter.get(IFloatingWindowProvider::class.java)
ARouter.getInstance().build(RouteConsts.provider.floatingwindow)
.navigation() as? IFloatingWindowProvider<WelcomeDialogEntity>
floatingWindowProvider?.hideWindow(requireActivity()) floatingWindowProvider?.hideWindow(requireActivity())

View File

@ -77,11 +77,11 @@ class CustomFloatViewAnimationHelper : DefaultLifecycleObserver {
ViewCompat.animate(this) ViewCompat.animate(this)
.setListener(object : ViewPropertyAnimatorListener { .setListener(object : ViewPropertyAnimatorListener {
override fun onAnimationStart(view: View?) { override fun onAnimationStart(view: View) {
floatState = startState floatState = startState
} }
override fun onAnimationEnd(view: View?) { override fun onAnimationEnd(view: View) {
floatState = endState floatState = endState
if (isExpand && isScrolling) { if (isExpand && isScrolling) {
// 执行展开动画之后,发现页面仍在滚动,则立马执行收起动画 // 执行展开动画之后,发现页面仍在滚动,则立马执行收起动画
@ -89,7 +89,7 @@ class CustomFloatViewAnimationHelper : DefaultLifecycleObserver {
} }
} }
override fun onAnimationCancel(view: View?) = Unit override fun onAnimationCancel(view: View) = Unit
}) })
.alpha(alpha) .alpha(alpha)
.translationX(translationX) .translationX(translationX)

View File

@ -5,7 +5,7 @@ import android.net.Uri
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.alibaba.android.arouter.launcher.ARouter import com.therouter.TheRouter
import com.gh.common.exposure.ExposureManager import com.gh.common.exposure.ExposureManager
import com.gh.common.exposure.ExposureTraceUtils import com.gh.common.exposure.ExposureTraceUtils
import com.gh.gamecenter.common.constant.Constants import com.gh.gamecenter.common.constant.Constants
@ -13,6 +13,7 @@ import com.gh.gamecenter.common.constant.EntranceConsts
import com.gh.gamecenter.common.constant.RouteConsts import com.gh.gamecenter.common.constant.RouteConsts
import com.gh.gamecenter.common.utils.* import com.gh.gamecenter.common.utils.*
import com.gh.gamecenter.common.view.WrapContentDraweeView import com.gh.gamecenter.common.view.WrapContentDraweeView
import com.gh.gamecenter.core.provider.IDirectProvider
import com.gh.gamecenter.feature.entity.GameEntity import com.gh.gamecenter.feature.entity.GameEntity
import com.gh.gamecenter.feature.entity.PageLocation import com.gh.gamecenter.feature.entity.PageLocation
import com.gh.gamecenter.feature.entity.WelcomeDialogEntity import com.gh.gamecenter.feature.entity.WelcomeDialogEntity
@ -121,8 +122,7 @@ class CustomFloatingWindowViewAdapter(
linkText = windowEntity.link.text ?: "", linkText = windowEntity.link.text ?: "",
) )
} else { } else {
val directUtils = ARouter.getInstance().build(RouteConsts.provider.linkDirectUtils) val directUtils = TheRouter.get(ILinkDirectUtilsProvider::class.java)
.navigation() as ILinkDirectUtilsProvider
if (windowEntity.link.type == EntranceConsts.HOST_WEB if (windowEntity.link.type == EntranceConsts.HOST_WEB
|| windowEntity.link.type == EntranceConsts.HOST_WEB_INURL || windowEntity.link.type == EntranceConsts.HOST_WEB_INURL
|| windowEntity.link.type == EntranceConsts.HOST_WEB_AL || windowEntity.link.type == EntranceConsts.HOST_WEB_AL
@ -142,7 +142,7 @@ class CustomFloatingWindowViewAdapter(
if (windowEntity.link.type != "game") { if (windowEntity.link.type != "game") {
ExposureManager.log(clickEvent) ExposureManager.log(clickEvent)
} }
directUtils.directToLinkPage(it.context, windowEntity.link, "右下角悬浮窗", "", clickEvent) directUtils?.directToLinkPage(it.context, windowEntity.link, "右下角悬浮窗", "", clickEvent)
SensorsBridge.trackSuspendedWindowClick( SensorsBridge.trackSuspendedWindowClick(
"收起", "收起",
"跳转", "跳转",

View File

@ -8,7 +8,7 @@ import android.widget.LinearLayout
import android.widget.TextView import android.widget.TextView
import androidx.core.view.isVisible import androidx.core.view.isVisible
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.alibaba.android.arouter.launcher.ARouter import com.therouter.TheRouter
import com.gh.common.util.DownloadItemUtils import com.gh.common.util.DownloadItemUtils
import com.gh.gamecenter.adapter.viewholder.GameViewHolder import com.gh.gamecenter.adapter.viewholder.GameViewHolder
import com.gh.gamecenter.common.constant.RouteConsts import com.gh.gamecenter.common.constant.RouteConsts
@ -73,8 +73,7 @@ class CustomGameItemViewHolder(
recommendStarPref.setTextColor(com.gh.gamecenter.common.R.color.text_tertiary.toColor(root.context)) recommendStarPref.setTextColor(com.gh.gamecenter.common.R.color.text_tertiary.toColor(root.context))
gameIconView.displayGameIconWithIfShowSubscript(entity, item.data.showIndexIconSubscript) gameIconView.displayGameIconWithIfShowSubscript(entity, item.data.showIndexIconSubscript)
val provider = ARouter.getInstance().build(RouteConsts.provider.bindingAdapters) val provider = TheRouter.get(IBindingAdaptersProvider::class.java)
.navigation() as? IBindingAdaptersProvider
provider?.setGameName(gameName, entity, false) provider?.setGameName(gameName, entity, false)
provider?.setGameTags(labelList, entity) provider?.setGameTags(labelList, entity)

View File

@ -6,7 +6,7 @@ import android.os.Bundle;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import com.alibaba.android.arouter.facade.annotation.Route; import com.therouter.router.Route;
import com.gh.gamecenter.common.base.activity.ToolBarActivity; import com.gh.gamecenter.common.base.activity.ToolBarActivity;
import com.gh.gamecenter.common.constant.EntranceConsts; import com.gh.gamecenter.common.constant.EntranceConsts;
import com.gh.gamecenter.common.constant.RouteConsts; import com.gh.gamecenter.common.constant.RouteConsts;

View File

@ -14,6 +14,7 @@ import com.gh.gamecenter.GameDetailActivity
import com.gh.gamecenter.R import com.gh.gamecenter.R
import com.gh.gamecenter.common.baselist.ListAdapter import com.gh.gamecenter.common.baselist.ListAdapter
import com.gh.gamecenter.common.baselist.LoadType import com.gh.gamecenter.common.baselist.LoadType
import com.gh.gamecenter.common.constant.EntranceConsts
import com.gh.gamecenter.common.constant.ItemViewType import com.gh.gamecenter.common.constant.ItemViewType
import com.gh.gamecenter.common.exposure.ExposureSource import com.gh.gamecenter.common.exposure.ExposureSource
import com.gh.gamecenter.common.utils.* import com.gh.gamecenter.common.utils.*
@ -280,7 +281,7 @@ class MyFollowedGameViewHolder(var binding: ItemFollowedGameBinding) : RecyclerV
binding.root.context, binding.root.context,
gameEntity, gameEntity,
entrance, entrance,
defaultTab = GameDetailFragment.TAB_TRENDS defaultTab = EntranceConsts.TAB_TYPE_TRENDS
) )
} }
} else { } else {
@ -306,7 +307,7 @@ class MyFollowedGameViewHolder(var binding: ItemFollowedGameBinding) : RecyclerV
binding.root.context, binding.root.context,
gameEntity, gameEntity,
entrance, entrance,
defaultTab = GameDetailFragment.TAB_BBS defaultTab = EntranceConsts.TAB_TYPE_BBS
) )
} }
} else { } else {

Some files were not shown because too many files have changed in this diff Show More