feat: 光环助手跳转链接规则优化(路由框架切换至 theRouter) https://jira.shanqu.cc/browse/GHZSCY-5889
This commit is contained in:
@ -11,7 +11,7 @@ import android.os.Looper;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.util.Log;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.therouter.TheRouter;
|
||||
import com.gh.gamecenter.common.constant.Config;
|
||||
import com.gh.gamecenter.common.constant.RouteConsts;
|
||||
import com.gh.gamecenter.core.HaloApp;
|
||||
@ -61,7 +61,7 @@ public class AppUncaughtHandler implements UncaughtExceptionHandler {
|
||||
saveCrashLogToSp(e);
|
||||
restart(mContext);
|
||||
|
||||
ISentryProvider sentryProvider = (ISentryProvider) ARouter.getInstance().build(RouteConsts.provider.sentry).navigation();
|
||||
ISentryProvider sentryProvider = TheRouter.get(ISentryProvider.class);
|
||||
if (sentryProvider != null) {
|
||||
sentryProvider.captureException(e);
|
||||
}
|
||||
|
||||
@ -36,10 +36,8 @@ import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentTransaction;
|
||||
import androidx.lifecycle.Lifecycle;
|
||||
|
||||
import com.alibaba.android.arouter.core.LogisticsCenter;
|
||||
import com.alibaba.android.arouter.exception.NoRouteFoundException;
|
||||
import com.alibaba.android.arouter.facade.Postcard;
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.gh.gamecenter.core.iinterface.ISplashScreen;
|
||||
import com.therouter.TheRouter;
|
||||
import com.blankj.utilcode.util.LanguageUtils;
|
||||
import com.facebook.drawee.view.SimpleDraweeView;
|
||||
import com.gh.gamecenter.common.BuildConfig;
|
||||
@ -190,15 +188,14 @@ public abstract class BaseActivity extends BaseAppCompatActivity implements IBus
|
||||
String xapkUnzipActivity = SPUtils.getString(Constants.SP_XAPK_UNZIP_ACTIVITY);
|
||||
String xapkUrl = SPUtils.getString(Constants.SP_XAPK_URL);
|
||||
Utils.log("页面重建了--" + xapkUnzipActivity + "--" + xapkUrl);
|
||||
final Class<?> destination = ExtensionsKt.toDestinationClass(RouteConsts.activity.splashActivity);
|
||||
if (destination != null && this.getClass().isAssignableFrom(destination)) {
|
||||
if (this instanceof ISplashScreen) {
|
||||
SPUtils.setString(Constants.SP_XAPK_UNZIP_ACTIVITY, "");
|
||||
SPUtils.setString(Constants.SP_XAPK_URL, "");
|
||||
return;
|
||||
}
|
||||
if (this.getClass().getName().equals(xapkUnzipActivity) && !TextUtils.isEmpty(xapkUrl)) {
|
||||
IDownloadManagerProvider downloadManagerConfig = (IDownloadManagerProvider) ARouter.getInstance().build(RouteConsts.provider.downloadManager).navigation();
|
||||
IPackageInstallerProvider packageInstallerConfig = (IPackageInstallerProvider) ARouter.getInstance().build(RouteConsts.provider.packageInstaller).navigation();
|
||||
IDownloadManagerProvider downloadManagerConfig = TheRouter.get(IDownloadManagerProvider.class);
|
||||
IPackageInstallerProvider packageInstallerConfig = TheRouter.get(IPackageInstallerProvider.class);
|
||||
DownloadEntity downloadEntity = downloadManagerConfig.getDownloadEntityByUrl(xapkUrl);
|
||||
if (downloadEntity != null) {
|
||||
NewFlatLogUtils.INSTANCE.logGameInstall(downloadEntity.getGameId(), downloadEntity.getName(), "自动安装");
|
||||
@ -255,15 +252,8 @@ public abstract class BaseActivity extends BaseAppCompatActivity implements IBus
|
||||
@Override
|
||||
public void setContentView(View view) {
|
||||
if (PackageFlavorHelper.IS_TEST_FLAVOR) {
|
||||
try {
|
||||
final Postcard postcard = ARouter.getInstance().build(RouteConsts.activity.splashActivity);
|
||||
LogisticsCenter.completion(postcard);
|
||||
final Class<?> destination = postcard.getDestination();
|
||||
if (!(this.getClass().isAssignableFrom(destination))) {
|
||||
view = getRootViewWithEnvIndicator(view);
|
||||
}
|
||||
} catch (NoRouteFoundException e) {
|
||||
e.printStackTrace();
|
||||
if (!(this instanceof ISplashScreen)) {
|
||||
view = getRootViewWithEnvIndicator(view);
|
||||
}
|
||||
}
|
||||
super.setContentView(view);
|
||||
@ -355,9 +345,7 @@ public abstract class BaseActivity extends BaseAppCompatActivity implements IBus
|
||||
|
||||
if (BuildConfig.DEBUG) {
|
||||
tv.setOnLongClickListener(v -> {
|
||||
IEntranceUtilsProvider entranceUtilsProvider = (IEntranceUtilsProvider) ARouter.getInstance()
|
||||
.build(RouteConsts.provider.entranceUtils)
|
||||
.navigation();
|
||||
IEntranceUtilsProvider entranceUtilsProvider = TheRouter.get(IEntranceUtilsProvider.class);
|
||||
entranceUtilsProvider.saveShortcut(this.getClass().getName(), getIntent().getExtras());
|
||||
return true;
|
||||
});
|
||||
@ -408,7 +396,7 @@ public abstract class BaseActivity extends BaseAppCompatActivity implements IBus
|
||||
if (getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.RESUMED)
|
||||
&& !showDialog.isUsed()) {
|
||||
showDialog.setUsed(true);
|
||||
IPackageInstallerProvider packageInstallerConfig = (IPackageInstallerProvider) ARouter.getInstance().build(RouteConsts.provider.packageInstaller).navigation();
|
||||
IPackageInstallerProvider packageInstallerConfig = TheRouter.get(IPackageInstallerProvider.class);
|
||||
if (DOWNLOAD_HIJACK.equals(showDialog.getType())) {
|
||||
DownloadEntity downloadEntity = showDialog.getDownloadEntity();
|
||||
DialogHelper.showQqSessionDialog(this);// 建议用户联系客服
|
||||
@ -454,19 +442,18 @@ public abstract class BaseActivity extends BaseAppCompatActivity implements IBus
|
||||
}
|
||||
, () -> {
|
||||
if (NetworkUtils.isQuickLoginEnabled(BaseActivity.this)) {
|
||||
IQuickLoginProvider quickLoginConfig = (IQuickLoginProvider) ARouter.getInstance().build(RouteConsts.provider.quickLogin).navigation();
|
||||
quickLoginConfig.startLogin(BaseActivity.this, "你的账号已在另外一台设备登录多设备-重新登录", null);
|
||||
IQuickLoginProvider quickLoginConfig = TheRouter.get(IQuickLoginProvider.class);
|
||||
if (quickLoginConfig != null) {
|
||||
quickLoginConfig.startLogin(BaseActivity.this, "你的账号已在另外一台设备登录多设备-重新登录", null, null);
|
||||
}
|
||||
} else {
|
||||
ARouter.getInstance().build(RouteConsts.activity.loginActivity)
|
||||
TheRouter.build(RouteConsts.activity.loginActivity)
|
||||
.withString(EntranceConsts.KEY_ENTRANCE, "你的账号已在另外一台设备登录多设备-重新登录")
|
||||
.navigation();
|
||||
}
|
||||
}
|
||||
);
|
||||
IQGameProvider qProvider = (IQGameProvider) ARouter
|
||||
.getInstance()
|
||||
.build(RouteConsts.provider.qGame)
|
||||
.navigation();
|
||||
IQGameProvider qProvider = TheRouter.get(IQGameProvider.class);
|
||||
if (qProvider != null) {
|
||||
qProvider.stopAllMiniApp(true); // 关闭所有QQ小游戏进程
|
||||
}
|
||||
@ -829,7 +816,7 @@ public abstract class BaseActivity extends BaseAppCompatActivity implements IBus
|
||||
* 初始化图片加载器
|
||||
*/
|
||||
private void initImageLoaderIfNeeded() {
|
||||
IAppProvider appProvider = (IAppProvider) ARouter.getInstance().build(RouteConsts.provider.app).navigation();
|
||||
IAppProvider appProvider = TheRouter.get(IAppProvider.class);
|
||||
if (appProvider != null) {
|
||||
appProvider.initImageLoaderIfNeeded();
|
||||
}
|
||||
|
||||
@ -7,7 +7,7 @@ import android.app.DownloadManager;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.lifecycle.MutableLiveData;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.therouter.TheRouter;
|
||||
import com.gh.gamecenter.common.constant.RouteConsts;
|
||||
import com.gh.gamecenter.common.retrofit.BiResponse;
|
||||
import com.gh.gamecenter.common.retrofit.Response;
|
||||
@ -110,7 +110,7 @@ public abstract class ListViewModel<LD /*ListData*/, ID /*ItemData*/> extends Ba
|
||||
}
|
||||
|
||||
// 针对游戏的一些操作(过滤隐藏游戏,过滤隐藏APK吗,增加下载数据)
|
||||
IHandleGameResponseProvider handleGameResponse = (IHandleGameResponseProvider) ARouter.getInstance().build(RouteConsts.provider.handleGameResponse).navigation();
|
||||
IHandleGameResponseProvider handleGameResponse = TheRouter.get(IHandleGameResponseProvider.class);
|
||||
if (handleGameResponse != null) {
|
||||
response = (List<LD>) handleGameResponse.handleGameResponse(response, mEntrance);
|
||||
}
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
package com.gh.gamecenter.common.constant;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.therouter.TheRouter;
|
||||
import com.gh.gamecenter.core.provider.IPackageUtilsProvider;
|
||||
import com.gh.gamecenter.core.utils.TimeUtils;
|
||||
|
||||
public class Constants {
|
||||
|
||||
private static final IPackageUtilsProvider packageUtilsConfig = (IPackageUtilsProvider) ARouter.getInstance().build(RouteConsts.provider.packageUtils).navigation();
|
||||
private static final IPackageUtilsProvider packageUtilsConfig = TheRouter.get(IPackageUtilsProvider.class);
|
||||
|
||||
public final static int LIST_FOOTER_ITEM = 1;
|
||||
public final static int LIST_HEAD_ITEM = 1;
|
||||
@ -25,8 +25,6 @@ public class Constants {
|
||||
|
||||
public static final String SHOULD_SHOW_VIDEO_MOBILE_WARNING = "should_show_video_mobile_warning";
|
||||
|
||||
public static final String GAME_DETAIL_COME_IN = "game_detail_come_in"; // 从游戏详情进入
|
||||
|
||||
public static final String EB_QUIT_LOGIN = "quit_login";
|
||||
|
||||
public static final String EB_GAME_DETAIL = "eb_game_detail";
|
||||
|
||||
@ -11,8 +11,8 @@ public class EntranceConsts {
|
||||
public static final String KEY_TO = "to";
|
||||
public static final String KEY_NEXT_TO = "next_to";
|
||||
public static final String KEY_NEWSID = "newsId";
|
||||
public static final String KEY_GAMEID = "gameId";
|
||||
public static final String KEY_GAME_ID = "game_id";
|
||||
public static final String KEY_GAMEID = KEY_GAME_ID;
|
||||
public static final String KEY_ID = "id";
|
||||
public static final String KEY_URL = "url";
|
||||
public static final String KEY_BUNDLE = "bundle";
|
||||
@ -117,6 +117,10 @@ public class EntranceConsts {
|
||||
public static final String KEY_PLATFORM = "platform";
|
||||
public static final String KEY_GAME_NAME = "game_name";
|
||||
|
||||
public static final String KEY_GAME_ENTITY = "game_entity";
|
||||
|
||||
public static final String KEY_DEFAULT_TAB = "default_tab";
|
||||
|
||||
public static final String KEY_PLATFORMS = "platforms";
|
||||
public static final String KEY_PLATFORMS_AUTO_DOWNLOAD = "platform_auto_download";
|
||||
public static final String KEY_GAME_INFO = "game_info";
|
||||
@ -176,12 +180,13 @@ public class EntranceConsts {
|
||||
public static final String KEY_CATEGORY_TITLE = "category_title";
|
||||
public static final String KEY_BLOCK_DATA = "blockData";
|
||||
public static final String KEY_ASK_TAG = "askTag";
|
||||
public static final String KEY_SCROLL_TO_LIBAO = "libao";
|
||||
public static final String KEY_SCROLL_TO_LIBAO = "scroll_to_libao";
|
||||
public static final String KEY_SCROLL_TO_SERVER = "scroll_to_server";
|
||||
public static final String KEY_ASK_COLUMN_TAG = "askColumnTag";
|
||||
public static final String KEY_COMMUNITY_ID = "community_id";
|
||||
public static final String KEY_COMMUNITY_NAME = "community_name";
|
||||
public static final String KEY_COMMUNITY_DATA = "communityData";
|
||||
public static final String KEY_COMMUNITY_TYPE = "community_type";
|
||||
public static final String KEY_TRACE_EVENT = "trace_event";
|
||||
public static final String KEY_SUBJECT_DATA = "subjectData";
|
||||
public static final String KEY_SUBJECT_TYPE = "subjectType";
|
||||
@ -199,8 +204,8 @@ public class EntranceConsts {
|
||||
public static final String KEY_SCROLL_TO_COMMENT_AREA = "scroll_to_comment_area";
|
||||
public static final String KEY_RATING_STAR_COUNT = "ratingStarCount";
|
||||
public static final String KEY_QUESTION_MODERATOR_PATCH = "questionModeratorPatch";
|
||||
public static final String KEY_SKIP_GAME_COMMENT = "skipGameComment";
|
||||
public static final String KEY_OPEN_PLATFORM_WINDOW = "openPlatformWindow";
|
||||
public static final String KEY_COMMENT_AS_DEFAULT_TAB = "comment_as_default_tab";
|
||||
public static final String KEY_OPEN_PLATFORM_WINDOW = "open_platform_window";
|
||||
public static final String KEY_OPEN_KEYBOARD = "openKeyboard";
|
||||
public static final String KEY_PATH_VIDEO = "pathVideo";
|
||||
public static final String KEY_VIDEO_ID = "videoId";
|
||||
@ -215,7 +220,7 @@ public class EntranceConsts {
|
||||
public static final String KEY_COLLECTION_NAME = "collectionName";
|
||||
public static final String KEY_NAVIGATION_TITLE = "navigationTitle";
|
||||
public static final String KEY_IMAGE_CROP_RATIO = "imageCropRatio";
|
||||
public static final String KEY_OPEN_VIDEO_STREAMING = "openVideoStreaming";
|
||||
public static final String KEY_OPEN_VIDEO_STREAMING = "open_video_streaming";
|
||||
public static final String KEY_REFERER = "referer";
|
||||
public static final String KEY_UUID = "uuid";
|
||||
public static final String KEY_IS_HOME_VIDEO = "isHomeVideo";
|
||||
@ -351,4 +356,10 @@ public class EntranceConsts {
|
||||
public static final String KEY_SHOW_ADD_GAMES_DIALOG = "show_add_games_dialog";
|
||||
|
||||
public static final String KEY_IS_AUTO_LOAD = "key_is_auto_load";
|
||||
|
||||
public static final String TAB_TYPE_DESC = "详情";
|
||||
public static final String TAB_TYPE_TRENDS = "专区";
|
||||
public static final String TAB_TYPE_ARCHIVE = "云存档";
|
||||
public static final String TAB_TYPE_RATING = "评价";
|
||||
public static final String TAB_TYPE_BBS = "论坛";
|
||||
}
|
||||
|
||||
@ -15,6 +15,10 @@ object RouteConsts {
|
||||
const val libaoDetailActivity = "/app/libaoDetailActivity"
|
||||
const val fullScreenVideoActivity = "/app/FullScreenVideoActivity"
|
||||
|
||||
const val gameDetailActivity = "/activity/game_detail"
|
||||
const val userHomeActivity = "/activity/user_home"
|
||||
const val quickLoginActivity = "/activity/quick_login_activity"
|
||||
|
||||
const val aboutActivity = "/settings/AboutActivity"
|
||||
const val webActivity = "/setting/WebActivity"
|
||||
const val weiBoShareActivity = "/setting/weiBoShareActivity"
|
||||
@ -34,102 +38,13 @@ object RouteConsts {
|
||||
|
||||
}
|
||||
|
||||
object provider {
|
||||
const val app = "/services/app"
|
||||
const val buildConfig = "/services/buildConfig"
|
||||
const val activation = "/services/activation"
|
||||
const val directUtils = "/services/directUtils"
|
||||
const val defaultUrlHandler = "/services/defaultUrlHandler"
|
||||
const val config = "/services/config"
|
||||
const val configSetting = "/services/configSetting"
|
||||
const val packageUtils = "/services/packageUtils"
|
||||
const val checkLogin = "/services/checkLogin"
|
||||
const val dialogUtils = "/services/dialogUtils"
|
||||
const val webActivity = "/services/webActivity"
|
||||
const val downloadManager = "/services/downloadManager"
|
||||
const val packageInstaller = "/services/packageInstaller"
|
||||
const val packageHelper = "/services/packageHelper"
|
||||
const val entranceUtils = "/services/entranceUtils"
|
||||
const val reservationRepository = "/services/reservationRepository"
|
||||
const val dataUtils = "/services/dataUtils"
|
||||
const val errorHelper = "/services/errorHelper"
|
||||
const val messageUnreadRepository = "/services/messageUnreadRepository"
|
||||
const val logUtils = "/services/logUtils"
|
||||
const val wechatHelper = "/services/wechatHelper"
|
||||
const val timeUtil = "/services/timeUtil"
|
||||
const val linkDirectUtils = "/services/linkDirectUtils"
|
||||
const val handleGameResponse = "/services/handleGameResponse"
|
||||
const val usageStatsHelper = "/services/usageStatsHelper"
|
||||
const val mainActivity = "/services/mainActivity"
|
||||
const val shellActivity = "/services/shellActivity"
|
||||
const val browserInstallHelper = "/services/browserInstallHelper"
|
||||
const val historyHelper = "/services/historyHelper"
|
||||
const val updateManager = "/services/updateManager"
|
||||
const val vhelper = "/services/vhelper"
|
||||
const val regionSettingHelper = "/services/regionSettingHelper"
|
||||
const val fixedRateJobHelper = "/services/fixedRateJobHelper"
|
||||
const val bindingAdapters = "/services/bindingAdapters"
|
||||
const val gameDetail = "/services/gameDetail"
|
||||
const val packagesManager = "/services/packagesManager"
|
||||
const val adHelper = "/services/adHelper"
|
||||
const val commentUtils = "/services/commentUtils"
|
||||
const val subject = "/services/subject"
|
||||
const val messageDetail = "/services/messageDetail"
|
||||
const val commentDetail = "/services/commentDetail"
|
||||
const val newCommentDetail = "/services/newCommentDetail"
|
||||
const val simpleAnswerDetail = "/services/simpleAnswerDetail"
|
||||
const val gameCollectionDetail = "/services/gameCollectionDetail"
|
||||
const val dataCollection = "/services/dataCollection"
|
||||
const val shareCardActivity = "/services/shareCardActivity"
|
||||
const val shareCardPicActivity = "/services/shareCardPicActivity"
|
||||
const val concernActivity = "/services/concernActivity"
|
||||
const val visitManager = "/services/visitManager"
|
||||
const val commentManager = "/services/commentManager"
|
||||
const val concernContentUtils = "/services/concernContentUtils"
|
||||
const val concernGiftPackUtils = "/services/concernGiftPackUtils"
|
||||
const val concernShareNews = "/services/concernShareNews"
|
||||
const val libaoUtils = "/services/libaoUtils"
|
||||
const val gameTrendsHelper = "/services/gameTrendsHelper"
|
||||
const val searchTabUtils = "/services/SearchTabUtils"
|
||||
object Action {
|
||||
const val LOGIN_SUCCESS_ACTION = "action://login/success"
|
||||
}
|
||||
|
||||
const val downloadButtonClickedHandler = "/downloadbutton/clickedHandler"
|
||||
|
||||
const val userManager = "/login/userManager"
|
||||
const val login = "/login/login"
|
||||
|
||||
const val helpAndFeedback = "/help/helpAndFeedback"
|
||||
|
||||
const val setting = "/settings/setting"
|
||||
const val composeSetting = "/composeSetting/composeSetting"
|
||||
|
||||
const val pkg = "/pkg/pkg"
|
||||
const val pkgConfig = "/pkgConfig/pkgConfig"
|
||||
const val floatingwindow = "/floatingwindow/floatingwindow"
|
||||
|
||||
const val exposureManager = "/exposure/exposureManager"
|
||||
|
||||
const val sensors = "/sensors/sensors"
|
||||
|
||||
const val csjAd = "/csj/csj"
|
||||
|
||||
const val oaid = "/oaid/oaid"
|
||||
|
||||
const val concernInfo = "/message/concernInfo"
|
||||
|
||||
const val qGame = "/qGame/qGame"
|
||||
|
||||
const val push = "/push/push"
|
||||
|
||||
const val realName = "/realName/realName"
|
||||
|
||||
const val miniGameRecentPlayed = "/services/miniGameRecentPlayed"
|
||||
const val sentry = "/sentry/sentry"
|
||||
|
||||
const val vaAd = "/vaAd/vaAd"
|
||||
|
||||
const val vaCore = "/vaCore/vaCore"
|
||||
|
||||
const val quickLogin = "/quickLogin/quickLogin"
|
||||
object QueryParams {
|
||||
const val REQUIRE_LOGIN = "require_login"
|
||||
const val SOURCE = "source"
|
||||
}
|
||||
|
||||
}
|
||||
@ -13,7 +13,7 @@ import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.annotation.RequiresApi
|
||||
import androidx.fragment.app.FragmentActivity
|
||||
import com.alibaba.android.arouter.launcher.ARouter
|
||||
import com.therouter.TheRouter
|
||||
import com.gh.gamecenter.common.base.fragment.BaseDialogFragment
|
||||
import com.gh.gamecenter.common.constant.RouteConsts
|
||||
import com.gh.gamecenter.common.databinding.DialogAlertDefaultBinding
|
||||
@ -37,7 +37,7 @@ class ManageExternalStoragePermissionDialogFragment : BaseDialogFragment() {
|
||||
contentTv.text = "需要所有文件访问权限,请打开权限设置页面"
|
||||
|
||||
confirmTv.setOnClickListener {
|
||||
val appProvider = ARouter.getInstance().build(RouteConsts.provider.app).navigation() as? IAppProvider?
|
||||
val appProvider = TheRouter.get(IAppProvider::class.java)
|
||||
appProvider?.setDisableSplashAdTemporarily(true)
|
||||
val intent = Intent().apply {
|
||||
action = Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION
|
||||
@ -55,7 +55,7 @@ class ManageExternalStoragePermissionDialogFragment : BaseDialogFragment() {
|
||||
override fun onDismiss(dialog: DialogInterface) {
|
||||
super.onDismiss(dialog)
|
||||
AppExecutor.uiExecutor.executeWithDelay({
|
||||
val appProvider = ARouter.getInstance().build(RouteConsts.provider.app).navigation() as? IAppProvider?
|
||||
val appProvider = TheRouter.get(IAppProvider::class.java)
|
||||
appProvider?.setDisableSplashAdTemporarily(false)
|
||||
}, 100)
|
||||
}
|
||||
|
||||
@ -11,10 +11,9 @@ import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.core.content.ContextCompat
|
||||
import com.alibaba.android.arouter.launcher.ARouter
|
||||
import com.therouter.TheRouter
|
||||
import com.gh.gamecenter.common.R
|
||||
import com.gh.gamecenter.common.base.fragment.BaseDialogFragment
|
||||
import com.gh.gamecenter.common.constant.RouteConsts
|
||||
import com.gh.gamecenter.common.databinding.DialogNotificationHintBinding
|
||||
import com.gh.gamecenter.common.entity.NotificationStyleEntity
|
||||
import com.gh.gamecenter.common.entity.NotificationUgc
|
||||
@ -88,8 +87,7 @@ class NotificationHintDialogFragment : BaseDialogFragment() {
|
||||
|
||||
activateTv.setOnClickListener {
|
||||
dismissAllowingStateLoss()
|
||||
val buildConfig =
|
||||
ARouter.getInstance().build(RouteConsts.provider.buildConfig).navigation() as? IBuildConfigProvider
|
||||
val buildConfig = TheRouter.get(IBuildConfigProvider::class.java)
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
//这种方案适用于 API 26, 即8.0(含8.0)以上可以用
|
||||
val intent = Intent()
|
||||
|
||||
@ -10,7 +10,7 @@ import android.os.DeadObjectException
|
||||
import android.provider.Settings
|
||||
import android.telephony.TelephonyManager
|
||||
import android.text.TextUtils
|
||||
import com.alibaba.android.arouter.launcher.ARouter
|
||||
import com.therouter.TheRouter
|
||||
import com.gh.gamecenter.common.constant.Constants
|
||||
import com.gh.gamecenter.core.utils.SPUtils
|
||||
import com.gh.gamecenter.common.HaloApp
|
||||
@ -34,11 +34,9 @@ object MetaUtil {
|
||||
|
||||
fun refreshMeta() {
|
||||
|
||||
val appProvider = ARouter.getInstance().build(RouteConsts.provider.app).navigation() as? IAppProvider
|
||||
val buildConfigProvider =
|
||||
ARouter.getInstance().build(RouteConsts.provider.buildConfig).navigation() as? IBuildConfigProvider
|
||||
val userManagerProvider =
|
||||
ARouter.getInstance().build(RouteConsts.provider.userManager).navigation() as? IUserManagerProvider
|
||||
val appProvider = TheRouter.get(IAppProvider::class.java)
|
||||
val buildConfigProvider = TheRouter.get(IBuildConfigProvider::class.java)
|
||||
val userManagerProvider = TheRouter.get(IUserManagerProvider::class.java)
|
||||
m = Meta(
|
||||
mac = null,
|
||||
jnfj = getBase64EncodedIMEI(),
|
||||
@ -77,7 +75,7 @@ object MetaUtil {
|
||||
}
|
||||
|
||||
private fun getChannel(): String? {
|
||||
val appProvider = ARouter.getInstance().build(RouteConsts.provider.app).navigation() as? IAppProvider
|
||||
val appProvider = TheRouter.get(IAppProvider::class.java)
|
||||
return appProvider?.getChannel()
|
||||
}
|
||||
|
||||
@ -87,7 +85,7 @@ object MetaUtil {
|
||||
@JvmStatic
|
||||
fun getIMEI(): String {
|
||||
return ""
|
||||
// val appProvider = ARouter.getInstance().build(RouteConsts.provider.app).navigation() as? IAppProvider
|
||||
// val appProvider = TheRouter.get(IAppProvider::class.java)
|
||||
// if (appProvider?.isUserAcceptPrivacyPolicy(HaloApp.getInstance()) == false) {
|
||||
// return ""
|
||||
// }
|
||||
@ -175,7 +173,7 @@ object MetaUtil {
|
||||
|
||||
@JvmStatic
|
||||
fun getAndroidId(): String {
|
||||
val appProvider = ARouter.getInstance().build(RouteConsts.provider.app).navigation() as? IAppProvider
|
||||
val appProvider = TheRouter.get(IAppProvider::class.java)
|
||||
if (appProvider?.isUserAcceptPrivacyPolicy(HaloApp.getInstance()) == false) {
|
||||
return ""
|
||||
}
|
||||
|
||||
@ -5,12 +5,12 @@ import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import com.alibaba.android.arouter.facade.template.IProvider
|
||||
|
||||
import com.gh.gamecenter.common.base.fragment.BaseFragment
|
||||
import com.gh.gamecenter.common.entity.SimpleGameEntity
|
||||
import com.gh.gamecenter.common.entity.SuggestType
|
||||
|
||||
interface IHelpAndFeedbackProvider : IProvider {
|
||||
interface IHelpAndFeedbackProvider {
|
||||
|
||||
fun isSuggestionActivity(activity: Activity): Boolean
|
||||
|
||||
|
||||
@ -4,9 +4,9 @@ import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.view.ViewStub
|
||||
import androidx.fragment.app.Fragment
|
||||
import com.alibaba.android.arouter.facade.template.IProvider
|
||||
|
||||
interface ILaunchAd : IProvider {
|
||||
|
||||
interface ILaunchAd {
|
||||
fun requestAd(
|
||||
fragment: Fragment,
|
||||
container: ViewGroup,
|
||||
|
||||
@ -3,7 +3,7 @@ package com.gh.gamecenter.common.retrofit;
|
||||
import android.content.Context;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.therouter.TheRouter;
|
||||
import com.gh.gamecenter.common.constant.RouteConsts;
|
||||
import com.gh.gamecenter.common.exposure.meta.MetaUtil;
|
||||
import com.gh.gamecenter.common.utils.NetworkUtils;
|
||||
@ -44,7 +44,7 @@ public class OkHttpCacheInterceptor implements Interceptor {
|
||||
|
||||
// 拦截参数缺失的非法请求
|
||||
if (request.url().pathSegments().contains("")) {
|
||||
IBuildConfigProvider buildConfig = (IBuildConfigProvider) ARouter.getInstance().build(RouteConsts.provider.buildConfig).navigation();
|
||||
IBuildConfigProvider buildConfig = TheRouter.get(IBuildConfigProvider.class);
|
||||
if (buildConfig.isDebug()) {
|
||||
Utils.log("OkHttpCacheInterceptor-> 已拦截参数缺失的请求:" + request.url().toString());
|
||||
}
|
||||
@ -88,9 +88,9 @@ public class OkHttpCacheInterceptor implements Interceptor {
|
||||
.build();
|
||||
}
|
||||
|
||||
IAppProvider appProvider = (IAppProvider) ARouter.getInstance().build(RouteConsts.provider.app).navigation();
|
||||
IUserManagerProvider userManagerProvider = (IUserManagerProvider) ARouter.getInstance().build(RouteConsts.provider.userManager).navigation();
|
||||
IPackageUtilsProvider packageUtilsConfig = (IPackageUtilsProvider) ARouter.getInstance().build(RouteConsts.provider.packageUtils).navigation();
|
||||
IAppProvider appProvider = TheRouter.get(IAppProvider.class);
|
||||
IUserManagerProvider userManagerProvider = TheRouter.get(IUserManagerProvider.class);
|
||||
IPackageUtilsProvider packageUtilsConfig = TheRouter.get(IPackageUtilsProvider.class);
|
||||
String token = userManagerProvider.getToken();
|
||||
String deviceId = appProvider.getGid();
|
||||
String temporaryLocalDeviceId = appProvider.getTemporaryLocalDeviceId();
|
||||
@ -175,8 +175,8 @@ public class OkHttpCacheInterceptor implements Interceptor {
|
||||
*/
|
||||
private String addVersionAndChannel(String url) {
|
||||
if (TextUtils.isEmpty(url)) return url;
|
||||
IBuildConfigProvider buildConfigProvider = (IBuildConfigProvider) ARouter.getInstance().build(RouteConsts.provider.buildConfig).navigation();
|
||||
IAppProvider appProvider = (IAppProvider) ARouter.getInstance().build(RouteConsts.provider.app).navigation();
|
||||
IBuildConfigProvider buildConfigProvider = TheRouter.get(IBuildConfigProvider.class);
|
||||
IAppProvider appProvider = TheRouter.get(IAppProvider.class);
|
||||
if (url.contains("?")) {
|
||||
return url + "&version=" + buildConfigProvider.getVersionName() + "&channel=" + appProvider.getChannel();
|
||||
} else {
|
||||
@ -188,7 +188,7 @@ public class OkHttpCacheInterceptor implements Interceptor {
|
||||
* 为 url 添加用户 mark
|
||||
*/
|
||||
private String appendUserMarkIfNeeded(String url) {
|
||||
IAppProvider appProvider = (IAppProvider) ARouter.getInstance().build(RouteConsts.provider.app).navigation();
|
||||
IAppProvider appProvider = TheRouter.get(IAppProvider.class);
|
||||
if (TextUtils.isEmpty(url)
|
||||
|| TextUtils.isEmpty(appProvider.getServerUserMark())
|
||||
|| url.contains("mark=")) {
|
||||
|
||||
@ -3,9 +3,8 @@ package com.gh.gamecenter.common.retrofit
|
||||
import android.content.Context
|
||||
import android.os.Build
|
||||
import android.text.TextUtils
|
||||
import com.alibaba.android.arouter.launcher.ARouter
|
||||
import com.therouter.TheRouter
|
||||
import com.gh.gamecenter.common.HaloApp
|
||||
import com.gh.gamecenter.common.constant.RouteConsts
|
||||
import com.gh.gamecenter.common.exposure.meta.MetaUtil
|
||||
import com.gh.gamecenter.common.utils.DeviceUtils
|
||||
import com.gh.gamecenter.core.provider.IBuildConfigProvider
|
||||
@ -61,8 +60,7 @@ class OkHttpRetryInterceptor constructor(context: Context, val maxRetryCount: In
|
||||
}
|
||||
|
||||
if (response != null && token != null) { // TOKEN 过期处理
|
||||
val userManagerProvider =
|
||||
ARouter.getInstance().build(RouteConsts.provider.userManager).navigation() as? IUserManagerProvider
|
||||
val userManagerProvider = TheRouter.get(IUserManagerProvider::class.java)
|
||||
userManagerProvider?.refreshToken(token, {
|
||||
val newBuilder = request.newBuilder()
|
||||
newBuilder.header("TOKEN", userManagerProvider.getToken())
|
||||
@ -80,8 +78,7 @@ class OkHttpRetryInterceptor constructor(context: Context, val maxRetryCount: In
|
||||
response = doRequest(chain, request)
|
||||
}
|
||||
}
|
||||
val buildConfig =
|
||||
ARouter.getInstance().build(RouteConsts.provider.buildConfig).navigation() as IBuildConfigProvider
|
||||
val buildConfig = TheRouter.get(IBuildConfigProvider::class.java)
|
||||
// 上报网络错误,过滤 404 以及非用户可感知的请求
|
||||
val api = pathSegmentsToString(request.url.pathSegments)
|
||||
if (tryCount == maxRetryCount + 1
|
||||
@ -92,7 +89,7 @@ class OkHttpRetryInterceptor constructor(context: Context, val maxRetryCount: In
|
||||
"网络错误",
|
||||
"访问接口", api,
|
||||
"网络状态", DeviceUtils.getNetwork(HaloApp.getInstance()),
|
||||
"光环版本", buildConfig.getVersionName(),
|
||||
"光环版本", buildConfig?.getVersionName(),
|
||||
"网络状态", DeviceUtils.getNetwork(HaloApp.getInstance()),
|
||||
"JNFJ", MetaUtil.getBase64EncodedIMEI(),
|
||||
"机型", Build.MODEL,
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
package com.gh.gamecenter.common.tracker
|
||||
|
||||
import android.content.Context
|
||||
import com.alibaba.android.arouter.launcher.ARouter
|
||||
import com.therouter.TheRouter
|
||||
import com.gh.gamecenter.common.constant.RouteConsts
|
||||
import com.gh.gamecenter.common.exposure.meta.MetaUtil
|
||||
import com.gh.gamecenter.common.exposure.meta.MetaUtil.getBase64EncodedAndroidId
|
||||
@ -127,7 +127,7 @@ object TrackerLogger {
|
||||
fun logAppLaunch(context: Context) {
|
||||
val jsonObject = JSONObject()
|
||||
val payloadObject = JSONObject()
|
||||
val appProvider = ARouter.getInstance().build(RouteConsts.provider.app).navigation() as? IAppProvider
|
||||
val appProvider = TheRouter.get(IAppProvider::class.java)
|
||||
|
||||
tryCatchInRelease {
|
||||
payloadObject.put("launch_id", Tracker.launchId)
|
||||
|
||||
@ -3,7 +3,7 @@ package com.gh.gamecenter.common.utils
|
||||
import android.graphics.Bitmap
|
||||
import android.graphics.BitmapFactory
|
||||
import android.graphics.Matrix
|
||||
import com.alibaba.android.arouter.launcher.ARouter
|
||||
import com.therouter.TheRouter
|
||||
import com.gh.gamecenter.common.HaloApp
|
||||
import com.gh.gamecenter.common.constant.RouteConsts
|
||||
import com.gh.gamecenter.core.provider.IConfigProvider
|
||||
@ -35,7 +35,7 @@ object CompressImageUtils {
|
||||
*/
|
||||
@Throws(Exception::class)
|
||||
fun compressImageAndSaveToFile(imageFile: File, compressGif: Boolean): File {
|
||||
val configProvider = ARouter.getInstance().build(RouteConsts.provider.config).navigation() as? IConfigProvider
|
||||
val configProvider = TheRouter.get(IConfigProvider::class.java)
|
||||
val imageType = ImageInfoExtractor.getImageType(imageFile)
|
||||
// 小于某一个设定的值时,直接返回原图
|
||||
if (imageType != ImageInfoExtractor.TYPE_ANIMATED_WEBP && imageFile.length() < configProvider?.getUploadLimitSize() ?: compressLimitSize) {
|
||||
@ -110,7 +110,7 @@ object CompressImageUtils {
|
||||
val longSide = Math.max(height, width) //最长边
|
||||
val shortSide = Math.min(height, width) //最短边
|
||||
val scale = longSide.toFloat() / shortSide // 长短边比例
|
||||
val configProvider = ARouter.getInstance().build(RouteConsts.provider.config).navigation() as? IConfigProvider
|
||||
val configProvider = TheRouter.get(IConfigProvider::class.java)
|
||||
val compressLimit = configProvider?.getSize() ?: defaultCompressBorder
|
||||
|
||||
if (longSide > compressLimit && shortSide > compressLimit) {
|
||||
|
||||
@ -2,7 +2,7 @@ package com.gh.gamecenter.common.utils;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.therouter.TheRouter;
|
||||
import com.gh.gamecenter.common.constant.RouteConsts;
|
||||
import com.gh.gamecenter.common.exposure.meta.MetaUtil;
|
||||
import com.gh.gamecenter.common.loghub.LoghubUtils;
|
||||
@ -51,8 +51,8 @@ public class DataLogUtils {
|
||||
|
||||
// 上传日志
|
||||
public static void uploadLog(Context context, String topic, Map<String, Object> map) {
|
||||
IPackageUtilsProvider packageUtilsConfig = (IPackageUtilsProvider) ARouter.getInstance().build(RouteConsts.provider.packageUtils).navigation();
|
||||
IAppProvider appProvider = (IAppProvider) ARouter.getInstance().build(RouteConsts.provider.app).navigation();
|
||||
IPackageUtilsProvider packageUtilsConfig = TheRouter.get(IPackageUtilsProvider.class);
|
||||
IAppProvider appProvider = TheRouter.get(IAppProvider.class);
|
||||
String version = packageUtilsConfig.getGhVersionName();
|
||||
String user = Installation.getUUID(context);
|
||||
String channel = appProvider.getChannel();
|
||||
|
||||
@ -23,7 +23,7 @@ import androidx.constraintlayout.widget.ConstraintSet
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.fragment.app.FragmentActivity
|
||||
import androidx.viewbinding.ViewBinding
|
||||
import com.alibaba.android.arouter.launcher.ARouter
|
||||
import com.therouter.TheRouter
|
||||
import com.gh.gamecenter.common.R
|
||||
import com.gh.gamecenter.common.base.TrackableDialog
|
||||
import com.gh.gamecenter.common.callback.ConfirmListener
|
||||
@ -520,17 +520,7 @@ object DialogHelper {
|
||||
"检查升级",
|
||||
"取消",
|
||||
confirmClickCallback = {
|
||||
val isComposeEnabled = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
||||
ARouter.getInstance().build(RouteConsts.provider.composeSetting).navigation() != null
|
||||
} else {
|
||||
false
|
||||
}
|
||||
|
||||
val settingProvider: ISettingProvider? = if (isComposeEnabled) {
|
||||
ARouter.getInstance().build(RouteConsts.provider.composeSetting).navigation() as? ISettingProvider
|
||||
} else {
|
||||
ARouter.getInstance().build(RouteConsts.provider.setting).navigation() as? ISettingProvider
|
||||
}
|
||||
val settingProvider = TheRouter.get(ISettingProvider::class.java)
|
||||
|
||||
context.startActivity(settingProvider?.getAboutIntent(context, true))
|
||||
},
|
||||
@ -778,14 +768,13 @@ object DialogHelper {
|
||||
// 网络劫持时 打开QQ客户端,创建临时会话
|
||||
@JvmStatic
|
||||
fun showQqSessionDialog(context: Context) {
|
||||
val configProvider = ARouter.getInstance().build(RouteConsts.provider.config).navigation() as IConfigProvider
|
||||
val directProvider =
|
||||
ARouter.getInstance().build(RouteConsts.provider.directUtils).navigation() as IDirectProvider
|
||||
val qq = configProvider.getQQ()
|
||||
val configProvider = TheRouter.get(IConfigProvider::class.java)
|
||||
val directProvider = TheRouter.get(IDirectProvider::class.java)
|
||||
val qq = configProvider?.getQQ() ?: ""
|
||||
showDialog(
|
||||
context, "警告", "您当前网络环境异常,下载地址可能被运营商恶意替换(网络劫持)" +
|
||||
",如多次下载失败,请联系客服获取正确的下载地址(客服QQ:" + qq + ")", "前往QQ", "取消",
|
||||
{ directProvider.directToQqConversation(context, qq) },
|
||||
{ directProvider?.directToQqConversation(context, qq) },
|
||||
extraConfig = Config(centerTitle = true)
|
||||
)
|
||||
}
|
||||
@ -801,10 +790,7 @@ object DialogHelper {
|
||||
cancelText = context.getString(R.string.unspported_feature_dialog_cancel_text),
|
||||
confirmClickCallback = {
|
||||
if (context is FragmentActivity) {
|
||||
val updateManager = ARouter
|
||||
.getInstance()
|
||||
.build(RouteConsts.provider.updateManager)
|
||||
.navigation() as? IUpdateManagerProvider
|
||||
val updateManager = TheRouter.get(IUpdateManagerProvider::class.java)
|
||||
updateManager?.checkUpdate(context, false)
|
||||
}
|
||||
},
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
package com.gh.gamecenter.common.utils
|
||||
|
||||
import android.R.attr.gravity
|
||||
import android.R.attr.orientation
|
||||
import android.app.AlertDialog
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
@ -9,7 +11,7 @@ import android.widget.EditText
|
||||
import android.widget.LinearLayout
|
||||
import android.widget.TextView
|
||||
import androidx.core.content.ContextCompat
|
||||
import com.alibaba.android.arouter.launcher.ARouter
|
||||
import com.therouter.TheRouter
|
||||
import com.gh.gamecenter.common.R
|
||||
import com.gh.gamecenter.common.constant.Constants
|
||||
import com.gh.gamecenter.common.constant.RouteConsts
|
||||
@ -29,10 +31,7 @@ object EnvHelper {
|
||||
|
||||
@JvmStatic
|
||||
val isGATApp: Boolean by lazy {
|
||||
val buildConfig = ARouter
|
||||
.getInstance()
|
||||
.build(RouteConsts.provider.buildConfig)
|
||||
.navigation() as? IBuildConfigProvider
|
||||
val buildConfig = TheRouter.get(IBuildConfigProvider::class.java)
|
||||
buildConfig?.isGATApp() ?: false
|
||||
}
|
||||
|
||||
@ -40,17 +39,13 @@ object EnvHelper {
|
||||
|
||||
@JvmStatic
|
||||
val logProducerProject: String by lazy {
|
||||
val buildConfig = ARouter
|
||||
.getInstance()
|
||||
.build(RouteConsts.provider.buildConfig)
|
||||
.navigation() as? IBuildConfigProvider
|
||||
val buildConfig = TheRouter.get(IBuildConfigProvider::class.java)
|
||||
buildConfig?.getLogProducerProject() ?: DEFAULT_LOG_PRODUCER_PROJECT
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun getHost(): String {
|
||||
val buildConfig =
|
||||
ARouter.getInstance().build(RouteConsts.provider.buildConfig).navigation() as? IBuildConfigProvider
|
||||
val buildConfig = TheRouter.get(IBuildConfigProvider::class.java)
|
||||
return if (!PackageFlavorHelper.IS_TEST_FLAVOR) {
|
||||
buildConfig?.getApiHost() ?: ""
|
||||
} else {
|
||||
@ -64,8 +59,7 @@ object EnvHelper {
|
||||
|
||||
@JvmStatic
|
||||
fun getVHost(): String {
|
||||
val buildConfig =
|
||||
ARouter.getInstance().build(RouteConsts.provider.buildConfig).navigation() as? IBuildConfigProvider
|
||||
val buildConfig = TheRouter.get(IBuildConfigProvider::class.java)
|
||||
return if (!PackageFlavorHelper.IS_TEST_FLAVOR) {
|
||||
buildConfig?.getVDevApiHost() ?: ""
|
||||
} else {
|
||||
@ -79,8 +73,7 @@ object EnvHelper {
|
||||
|
||||
@JvmStatic
|
||||
fun getNewHost(): String {
|
||||
val buildConfig =
|
||||
ARouter.getInstance().build(RouteConsts.provider.buildConfig).navigation() as? IBuildConfigProvider
|
||||
val buildConfig = TheRouter.get(IBuildConfigProvider::class.java)
|
||||
return if (!PackageFlavorHelper.IS_TEST_FLAVOR) {
|
||||
buildConfig?.getNewApiHost() ?: ""
|
||||
} else {
|
||||
@ -94,21 +87,19 @@ object EnvHelper {
|
||||
|
||||
@JvmStatic
|
||||
fun getWGameCPMHost(): String {
|
||||
val buildConfig =
|
||||
ARouter.getInstance().build(RouteConsts.provider.buildConfig).navigation() as? IBuildConfigProvider
|
||||
val buildConfig = TheRouter.get(IBuildConfigProvider::class.java)
|
||||
return buildConfig?.getWGameCPMApiHost() ?: ""
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
fun getWGameCPMBusiAppId(): String {
|
||||
val buildConfig =
|
||||
ARouter.getInstance().build(RouteConsts.provider.buildConfig).navigation() as? IBuildConfigProvider
|
||||
val buildConfig = TheRouter.get(IBuildConfigProvider::class.java)
|
||||
return buildConfig?.getWGameCPMBusiAppId() ?: ""
|
||||
}
|
||||
|
||||
|
||||
fun showChangeChannelDialog(context: Context, restartAfterChanges: Boolean = false) {
|
||||
val appProvider = ARouter.getInstance().build(RouteConsts.provider.app).navigation() as? IAppProvider
|
||||
val appProvider = TheRouter.get(IAppProvider::class.java)
|
||||
val layout = LinearLayout(context).apply {
|
||||
layoutParams = LinearLayout.LayoutParams(
|
||||
LinearLayout.LayoutParams.MATCH_PARENT,
|
||||
|
||||
@ -13,6 +13,7 @@ import android.graphics.Color
|
||||
import android.graphics.Rect
|
||||
import android.graphics.drawable.Drawable
|
||||
import android.graphics.drawable.GradientDrawable
|
||||
import android.net.Uri
|
||||
import android.os.Build
|
||||
import android.text.*
|
||||
import android.text.format.Formatter
|
||||
@ -43,15 +44,13 @@ import androidx.viewpager.widget.ViewPager
|
||||
import androidx.webkit.WebSettingsCompat
|
||||
import androidx.webkit.WebViewFeature
|
||||
import com.airbnb.lottie.LottieAnimationView
|
||||
import com.alibaba.android.arouter.core.LogisticsCenter
|
||||
import com.alibaba.android.arouter.launcher.ARouter
|
||||
import com.therouter.TheRouter
|
||||
import com.facebook.drawee.view.SimpleDraweeView
|
||||
import com.gh.gamecenter.common.BuildConfig
|
||||
import com.gh.gamecenter.common.R
|
||||
import com.gh.gamecenter.common.callback.SimpleCallback
|
||||
import com.gh.gamecenter.common.constant.Config
|
||||
import com.gh.gamecenter.common.constant.Constants
|
||||
import com.gh.gamecenter.common.constant.RouteConsts
|
||||
import com.gh.gamecenter.common.view.CustomLinkMovementMethod
|
||||
import com.gh.gamecenter.common.view.ExpandTextView
|
||||
import com.gh.gamecenter.core.HaloApp
|
||||
@ -407,8 +406,7 @@ fun Fragment.ifLogin(entrance: String, action: (() -> Unit)? = null) {
|
||||
}
|
||||
|
||||
fun Context.ifLogin(entrance: String, action: (() -> Unit)? = null) {
|
||||
val checkLoginConfig =
|
||||
ARouter.getInstance().build(RouteConsts.provider.checkLogin).navigation() as? ICheckLoginProvider
|
||||
val checkLoginConfig = TheRouter.get(ICheckLoginProvider::class.java)
|
||||
checkLoginConfig?.checkLogin(this, entrance, action)
|
||||
}
|
||||
|
||||
@ -459,11 +457,9 @@ fun String.containHtmlTag(): Boolean {
|
||||
* 用户行为相关
|
||||
*/
|
||||
fun Fragment.showRegulationTestDialogIfNeeded(action: (() -> Unit)) {
|
||||
val provider = ARouter.getInstance().build(RouteConsts.provider.directUtils).navigation() as? IDirectProvider
|
||||
val userManagerProvider =
|
||||
ARouter.getInstance().build(RouteConsts.provider.userManager).navigation() as? IUserManagerProvider
|
||||
val dialogUtils =
|
||||
ARouter.getInstance().build(RouteConsts.provider.dialogUtils).navigation() as? IDialogUtilsProvider
|
||||
val provider = TheRouter.get(IDirectProvider::class.java)
|
||||
val userManagerProvider = TheRouter.get(IUserManagerProvider::class.java)
|
||||
val dialogUtils = TheRouter.get(IDialogUtilsProvider::class.java)
|
||||
if (userManagerProvider?.userShouldTakeRegulationBaseOnLastRemind() == true) {
|
||||
dialogUtils?.showRegulationTestDialog(requireContext(),
|
||||
{ provider?.directToRegulationTestPage(requireContext()) },
|
||||
@ -474,11 +470,9 @@ fun Fragment.showRegulationTestDialogIfNeeded(action: (() -> Unit)) {
|
||||
}
|
||||
|
||||
fun Context.showRegulationTestDialogIfNeeded(action: (() -> Unit)) {
|
||||
val provider = ARouter.getInstance().build(RouteConsts.provider.directUtils).navigation() as? IDirectProvider
|
||||
val userManagerProvider =
|
||||
ARouter.getInstance().build(RouteConsts.provider.userManager).navigation() as? IUserManagerProvider
|
||||
val dialogUtils =
|
||||
ARouter.getInstance().build(RouteConsts.provider.dialogUtils).navigation() as? IDialogUtilsProvider
|
||||
val provider = TheRouter.get(IDirectProvider::class.java)
|
||||
val userManagerProvider = TheRouter.get(IUserManagerProvider::class.java)
|
||||
val dialogUtils = TheRouter.get(IDialogUtilsProvider::class.java)
|
||||
if (userManagerProvider?.userShouldTakeRegulationBaseOnLastRemind() == true) {
|
||||
dialogUtils?.showRegulationTestDialog(this,
|
||||
{ provider?.directToRegulationTestPage(this) },
|
||||
@ -954,11 +948,9 @@ fun CharSequence.interceptUrlSpanAndRoundImageSpan(
|
||||
|
||||
override fun onClick(widget: View) {
|
||||
clickedCallback?.invoke(it.url)
|
||||
val webActivityProvider =
|
||||
ARouter.getInstance().build(RouteConsts.provider.webActivity).navigation() as? IWebProvider
|
||||
val provider = ARouter.getInstance().build(RouteConsts.provider.defaultUrlHandler)
|
||||
.navigation() as IDefaultUrlHandlerProvider
|
||||
if (!provider.interceptUrl(widget.context, it.url, "", sourceEntrance = sourceEntrance)) {
|
||||
val webActivityProvider = TheRouter.get(IWebProvider::class.java)
|
||||
val provider = TheRouter.get(IDefaultUrlHandlerProvider::class.java)
|
||||
if (provider != null && !provider.interceptUrl(widget.context, it.url, "", sourceEntrance = sourceEntrance)) {
|
||||
webActivityProvider?.getIntent(widget.context, it.url, true)?.run {
|
||||
widget.context.startActivity(this)
|
||||
}
|
||||
@ -1130,11 +1122,10 @@ fun DownloadEntity.putGameCategory(gameCategory: String) {
|
||||
}
|
||||
|
||||
inline fun doOnMainProcessOnly(f: () -> Unit) {
|
||||
val buildConfig =
|
||||
ARouter.getInstance().build(RouteConsts.provider.buildConfig).navigation() as? IBuildConfigProvider
|
||||
val packageUtilsConfig =
|
||||
ARouter.getInstance().build(RouteConsts.provider.packageUtils).navigation() as? IPackageUtilsProvider
|
||||
val buildConfig = TheRouter.get(IBuildConfigProvider::class.java)
|
||||
val packageUtilsConfig = TheRouter.get(IPackageUtilsProvider::class.java)
|
||||
val processName = packageUtilsConfig?.obtainProcessName()
|
||||
|
||||
if (processName == null || buildConfig?.getApplicationId() == processName) {
|
||||
f.invoke()
|
||||
} else {
|
||||
@ -1154,7 +1145,7 @@ inline fun debugOnly(f: () -> Unit) {
|
||||
}
|
||||
|
||||
inline fun testChannelOnly(f: () -> Unit) {
|
||||
val appProvider = ARouter.getInstance().build(RouteConsts.provider.app).navigation() as? IAppProvider
|
||||
val appProvider = TheRouter.get(IAppProvider::class.java)
|
||||
if (appProvider?.getChannel() == Config.DEFAULT_CHANNEL) {
|
||||
f()
|
||||
}
|
||||
@ -1590,20 +1581,6 @@ fun LottieAnimationView.setDownloadTipsAnimation(isPlaying: Boolean = false) {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* ARouter根据路由获取Class
|
||||
*/
|
||||
fun String.toDestinationClass(): Class<*>? {
|
||||
try {
|
||||
val postcard = ARouter.getInstance().build(this)
|
||||
LogisticsCenter.completion(postcard)
|
||||
return postcard.destination
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
return null
|
||||
}
|
||||
|
||||
/**
|
||||
* RGB颜色转HSV颜色
|
||||
*/
|
||||
@ -1615,6 +1592,23 @@ fun List<Int>.colorRGBToHSV(): FloatArray {
|
||||
return colorHSV
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取没有 host 的 uri String
|
||||
*/
|
||||
fun Uri.dropSchemeAndHost(): String {
|
||||
// Get the components of the URI
|
||||
val path = path
|
||||
val query = query
|
||||
val fragment = fragment
|
||||
|
||||
// Build the string without the host
|
||||
return StringBuilder().apply {
|
||||
path?.let { append(it) }
|
||||
query?.let { append("?$it") }
|
||||
fragment?.let { append("#$it") }
|
||||
}.toString()
|
||||
}
|
||||
|
||||
/**
|
||||
* 转HSV颜色
|
||||
*/
|
||||
|
||||
@ -11,12 +11,12 @@ import android.text.TextUtils
|
||||
import android.view.View
|
||||
import androidx.annotation.DrawableRes
|
||||
import androidx.core.content.ContextCompat
|
||||
import com.therouter.TheRouter
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.lifecycle.DefaultLifecycleObserver
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import androidx.lifecycle.LifecycleObserver
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import com.alibaba.android.arouter.launcher.ARouter
|
||||
import com.facebook.common.executors.CallerThreadExecutor
|
||||
import com.facebook.common.references.CloseableReference
|
||||
import com.facebook.datasource.DataSource
|
||||
@ -94,7 +94,7 @@ object ImageUtils {
|
||||
}
|
||||
|
||||
fun getUploadFileMaxSize(): Long {
|
||||
val configProvider = ARouter.getInstance().build(RouteConsts.provider.config).navigation() as? IConfigProvider
|
||||
val configProvider = TheRouter.get(IConfigProvider::class.java)
|
||||
val uploadLimitSize = configProvider?.getUploadLimitSize()
|
||||
if (uploadLimitSize != null) {
|
||||
return uploadLimitSize
|
||||
@ -104,7 +104,7 @@ object ImageUtils {
|
||||
|
||||
@JvmStatic
|
||||
fun getDefaultGifRule(): String {
|
||||
val configProvider = ARouter.getInstance().build(RouteConsts.provider.config).navigation() as? IConfigProvider
|
||||
val configProvider = TheRouter.get(IConfigProvider::class.java)
|
||||
val gifConfig = configProvider?.getGif()
|
||||
if (gifConfig != null) {
|
||||
return gifConfig
|
||||
@ -114,7 +114,7 @@ object ImageUtils {
|
||||
|
||||
@JvmStatic
|
||||
fun getWatermarkWidthGifRule(width: Int?): String {
|
||||
val configProvider = ARouter.getInstance().build(RouteConsts.provider.config).navigation() as? IConfigProvider
|
||||
val configProvider = TheRouter.get(IConfigProvider::class.java)
|
||||
val gifConfig = configProvider?.getGitThumb()
|
||||
val gifWaterMark = configProvider?.getGifWaterMark()
|
||||
if (gifConfig != null && gifWaterMark != null) {
|
||||
@ -125,7 +125,7 @@ object ImageUtils {
|
||||
|
||||
@JvmStatic
|
||||
fun getLimitWidthRule(width: Int?): String {
|
||||
val configProvider = ARouter.getInstance().build(RouteConsts.provider.config).navigation() as? IConfigProvider
|
||||
val configProvider = TheRouter.get(IConfigProvider::class.java)
|
||||
val jpegConfig = configProvider?.getJpeg()
|
||||
if (jpegConfig != null) {
|
||||
return "$jpegConfig,w_${width ?: 0}"
|
||||
@ -138,7 +138,7 @@ object ImageUtils {
|
||||
*/
|
||||
@JvmStatic
|
||||
private fun limitWidthWithRuleIfPossible(imageUrl: String?, width: Int?, loadAsAnimatedImage: Boolean = true): String? {
|
||||
val configProvider = ARouter.getInstance().build(RouteConsts.provider.config).navigation() as? IConfigProvider
|
||||
val configProvider = TheRouter.get(IConfigProvider::class.java)
|
||||
var jpegConfig = configProvider?.getJpeg()
|
||||
var webpConfig = configProvider?.getWebp() ?: configProvider?.getGif() ?: ""
|
||||
|
||||
@ -393,8 +393,7 @@ object ImageUtils {
|
||||
if (width > 0) {
|
||||
val ratioHeight = (width / processor.cutRatio).toInt()
|
||||
if (ratioHeight > 0) {
|
||||
val configProvider =
|
||||
ARouter.getInstance().build(RouteConsts.provider.config).navigation() as? IConfigProvider
|
||||
val configProvider = TheRouter.get(IConfigProvider::class.java)
|
||||
|
||||
val cropSuffix = configProvider?.getImageCropSuffix() ?: ""
|
||||
|
||||
@ -702,7 +701,7 @@ object ImageUtils {
|
||||
if (url.startsWith("res:")) return url
|
||||
|
||||
val idealSize = getIdealIconSize(width)
|
||||
val configProvider = ARouter.getInstance().build(RouteConsts.provider.config).navigation() as? IConfigProvider
|
||||
val configProvider = TheRouter.get(IConfigProvider::class.java)
|
||||
val resizeConfig = configProvider?.getImageResizeSuffix() ?: "?x-oss-process=image/resize"
|
||||
|
||||
return "$url$resizeConfig,h_$idealSize,w_$idealSize".also { addCachedUrl(it) }
|
||||
@ -721,7 +720,7 @@ object ImageUtils {
|
||||
}
|
||||
|
||||
fun getVideoSnapshot(videoUrl: String, progress: Long): String {
|
||||
val configProvider = ARouter.getInstance().build(RouteConsts.provider.config).navigation() as? IConfigProvider
|
||||
val configProvider = TheRouter.get(IConfigProvider::class.java)
|
||||
return if (!configProvider?.getVideoSnapshotSuffix().isNullOrEmpty()) {
|
||||
"$videoUrl${configProvider?.getVideoSnapshotSuffix()},t_$progress,f_jpg,w_0,h_0,ar_auto"
|
||||
} else {
|
||||
|
||||
@ -2,7 +2,7 @@ package com.gh.gamecenter.common.utils;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.therouter.TheRouter;
|
||||
import com.gh.gamecenter.common.BuildConfig;
|
||||
import com.gh.gamecenter.common.constant.RouteConsts;
|
||||
import com.gh.gamecenter.common.entity.ShareResultEntity;
|
||||
@ -36,7 +36,7 @@ public class LogUtils {
|
||||
public static JSONObject getMetaObject() {
|
||||
Meta meta = MetaUtil.INSTANCE.getMeta();
|
||||
JSONObject metaObject = new JSONObject();
|
||||
IAppProvider appProvider = (IAppProvider) ARouter.getInstance().build(RouteConsts.provider.app).navigation();
|
||||
IAppProvider appProvider = TheRouter.get(IAppProvider.class);
|
||||
try {
|
||||
metaObject.put("dia", MetaUtil.getBase64EncodedAndroidId());
|
||||
metaObject.put("android_sdk", meta.getAndroid_sdk());
|
||||
@ -62,7 +62,7 @@ public class LogUtils {
|
||||
public static JSONObject getNewMetaObject() {
|
||||
Meta meta = MetaUtil.INSTANCE.getMeta();
|
||||
JSONObject metaObject = new JSONObject();
|
||||
IAppProvider appProvider = (IAppProvider) ARouter.getInstance().build(RouteConsts.provider.app).navigation();
|
||||
IAppProvider appProvider = TheRouter.get(IAppProvider.class);
|
||||
try {
|
||||
metaObject.put("dia", MetaUtil.getBase64EncodedAndroidId());
|
||||
metaObject.put("android_sdk", meta.getAndroid_sdk());
|
||||
|
||||
@ -4,7 +4,7 @@ import android.content.Context;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.NetworkInfo;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.therouter.TheRouter;
|
||||
import com.gh.gamecenter.common.constant.RouteConsts;
|
||||
import com.gh.gamecenter.core.provider.IConfigProvider;
|
||||
import com.gh.gamecenter.core.provider.IQuickLoginProvider;
|
||||
@ -89,15 +89,15 @@ public class NetworkUtils {
|
||||
* networktype字段获取网络状态:0.未知;1.流量 2.wifi;3.数据流量+wifi
|
||||
*/
|
||||
public static boolean isOpenMobileData(Context context) {
|
||||
Object navigation = ARouter.getInstance().build(RouteConsts.provider.quickLogin).navigation();
|
||||
if (navigation instanceof IQuickLoginProvider) {
|
||||
return ((IQuickLoginProvider) navigation).isOpenMobileData(context);
|
||||
IQuickLoginProvider navigation = TheRouter.get(IQuickLoginProvider.class);
|
||||
if (navigation != null) {
|
||||
return navigation.isOpenMobileData(context);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean isJiguangQuickLoginSwitch() {
|
||||
IConfigProvider configProvider = (IConfigProvider) ARouter.getInstance().build(RouteConsts.provider.config).navigation();
|
||||
IConfigProvider configProvider = TheRouter.get(IConfigProvider.class);
|
||||
if (configProvider != null) {
|
||||
return configProvider.isJiguangSwitch();
|
||||
} else {
|
||||
|
||||
@ -3,7 +3,7 @@ package com.gh.gamecenter.common.utils
|
||||
import android.annotation.SuppressLint
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.core.app.NotificationManagerCompat
|
||||
import com.alibaba.android.arouter.launcher.ARouter
|
||||
import com.therouter.TheRouter
|
||||
import com.gh.gamecenter.common.HaloApp
|
||||
import com.gh.gamecenter.common.constant.Constants
|
||||
import com.gh.gamecenter.common.constant.RouteConsts
|
||||
@ -20,8 +20,7 @@ object NotificationHelper {
|
||||
@JvmStatic
|
||||
fun showNotificationHintDialog(ugc: NotificationUgc, callBack: ((isShow: Boolean) -> Unit)? = null) {
|
||||
val showedNewVersion = SPUtils.getInt(Constants.SP_SHOWED_NOTIFICATION_NEW_VERSION, 0)
|
||||
val packageUtilsConfig =
|
||||
ARouter.getInstance().build(RouteConsts.provider.packageUtils).navigation() as? IPackageUtilsProvider
|
||||
val packageUtilsConfig = TheRouter.get(IPackageUtilsProvider::class.java)
|
||||
val currentVersion = packageUtilsConfig?.getGhVersionCode() ?: 0
|
||||
// 版本升级后重置数据
|
||||
if (currentVersion > showedNewVersion) {
|
||||
|
||||
@ -25,7 +25,7 @@ import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.view.updateLayoutParams
|
||||
import androidx.fragment.app.FragmentActivity
|
||||
import com.alibaba.android.arouter.launcher.ARouter
|
||||
import com.therouter.TheRouter
|
||||
import com.gh.gamecenter.common.R
|
||||
import com.gh.gamecenter.common.constant.Constants
|
||||
import com.gh.gamecenter.common.constant.RouteConsts
|
||||
@ -150,8 +150,7 @@ object PermissionHelper {
|
||||
when {
|
||||
permission.granted -> {
|
||||
// 获得存储权限后刷新 gid 避免下载仍需实名
|
||||
(ARouter.getInstance().build(RouteConsts.provider.app)
|
||||
.navigation() as? IAppProvider)?.refreshGid()
|
||||
TheRouter.get(IAppProvider::class.java)?.refreshGid()
|
||||
|
||||
// 延迟 100ms 确保能够正常获取到 gid
|
||||
AppExecutor.uiExecutor.executeWithDelay({
|
||||
@ -502,8 +501,7 @@ object PermissionHelper {
|
||||
uiModificationCallback = {
|
||||
it.hintTv.setTextColor(ContextCompat.getColor(context, R.color.text_theme))
|
||||
it.hintTv.setOnClickListener {
|
||||
val provider =
|
||||
ARouter.getInstance().build(RouteConsts.provider.directUtils).navigation() as? IDirectProvider
|
||||
val provider = TheRouter.get(IDirectProvider::class.java)
|
||||
provider?.directToWebView(context, Constants.PERMISSION_SCENARIO_ADDRESS, "(权限弹窗)")
|
||||
}
|
||||
it.contentTv.setTextColor(ContextCompat.getColor(context, R.color.text_primary))
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
package com.gh.gamecenter.common.utils
|
||||
|
||||
import android.app.Application
|
||||
import com.alibaba.android.arouter.launcher.ARouter
|
||||
import com.therouter.TheRouter
|
||||
import com.gh.gamecenter.common.constant.Constants
|
||||
import com.gh.gamecenter.common.constant.RouteConsts
|
||||
import com.gh.gamecenter.common.entity.SensorsEvent
|
||||
@ -306,7 +306,7 @@ object SensorsBridge {
|
||||
private var mIsSensorsEnabled = false
|
||||
|
||||
private val mSensor by lazy {
|
||||
ARouter.getInstance().build(RouteConsts.provider.sensors).navigation() as? ISensorsProvider
|
||||
TheRouter.get(ISensorsProvider::class.java)
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
|
||||
@ -24,7 +24,7 @@ import android.widget.TextView;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.alibaba.android.arouter.launcher.ARouter;
|
||||
import com.therouter.TheRouter;
|
||||
import com.gh.gamecenter.common.R;
|
||||
import com.gh.gamecenter.common.callback.BiCallback;
|
||||
import com.gh.gamecenter.common.constant.EntranceConsts;
|
||||
@ -144,7 +144,7 @@ public class ShareUtils {
|
||||
private Context mContext; // application context
|
||||
//QQ或者QQ空间分享回调处理
|
||||
|
||||
private IAppProvider mAppProvider = (IAppProvider) ARouter.getInstance().build(RouteConsts.provider.app).navigation();
|
||||
private IAppProvider mAppProvider = TheRouter.get(IAppProvider.class);
|
||||
|
||||
public IUiListener QqShareListener = new IUiListener() {
|
||||
@Override
|
||||
@ -245,7 +245,7 @@ public class ShareUtils {
|
||||
};
|
||||
|
||||
private ShareUtils(Context context) {
|
||||
IConfigProvider configProvider = (IConfigProvider) ARouter.getInstance().build(RouteConsts.provider.config).navigation();
|
||||
IConfigProvider configProvider = TheRouter.get(IConfigProvider.class);
|
||||
Tencent.setIsPermissionGranted(true);
|
||||
|
||||
mContext = context.getApplicationContext();
|
||||
@ -262,7 +262,7 @@ public class ShareUtils {
|
||||
|
||||
//检查是否安装手机QQ
|
||||
public static boolean isQQClientAvailable(Context context) {
|
||||
IPackageUtilsProvider packageUtilsImpl = (IPackageUtilsProvider) ARouter.getInstance().build(RouteConsts.provider.packageUtils).navigation();
|
||||
IPackageUtilsProvider packageUtilsImpl = TheRouter.get(IPackageUtilsProvider.class);
|
||||
|
||||
return packageUtilsImpl.isInstalledWithLauncherIcon(context, "com.tencent.mobileqq")
|
||||
|| packageUtilsImpl.isInstalledWithLauncherIcon(context, "com.tencent.tim");
|
||||
@ -865,7 +865,7 @@ public class ShareUtils {
|
||||
}
|
||||
Activity activity = mActivity.get();
|
||||
if (activity != null) {
|
||||
ARouter.getInstance().build(RouteConsts.activity.weiBoShareActivity)
|
||||
TheRouter.build(RouteConsts.activity.weiBoShareActivity)
|
||||
.withString(EntranceConsts.KET_SHARE_STYLE, "NORMAL")
|
||||
.withString(EntranceConsts.KET_TITLE, mTitle)
|
||||
.withString(EntranceConsts.KET_SHAREICON, shareIcon)
|
||||
|
||||
@ -13,7 +13,7 @@ import android.widget.EditText
|
||||
import android.widget.TextView
|
||||
import androidx.annotation.ColorRes
|
||||
import androidx.core.content.ContextCompat
|
||||
import com.alibaba.android.arouter.launcher.ARouter
|
||||
import com.therouter.TheRouter
|
||||
import com.gh.gamecenter.common.HaloApp
|
||||
import com.gh.gamecenter.common.R
|
||||
import com.gh.gamecenter.common.callback.SimpleCallback
|
||||
@ -350,10 +350,7 @@ object TextHelper {
|
||||
override fun onCallback(arg: String) {
|
||||
val pattern = Pattern.compile(PROTOCOL_ADDRESS_REGEX)
|
||||
if (pattern.matcher(arg).find()) {
|
||||
val directUtils = ARouter
|
||||
.getInstance()
|
||||
.build(RouteConsts.provider.directUtils)
|
||||
.navigation() as? IDirectProvider
|
||||
val directUtils = TheRouter.get(IDirectProvider::class.java)
|
||||
directUtils?.directToWebView(context, arg, entrance)
|
||||
} else {
|
||||
val application = HaloApp.getInstance()
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
package com.gh.gamecenter.common.utils
|
||||
|
||||
import androidx.collection.arrayMapOf
|
||||
import com.alibaba.android.arouter.launcher.ARouter
|
||||
import com.therouter.TheRouter
|
||||
import com.gh.gamecenter.common.BuildConfig
|
||||
import com.gh.gamecenter.common.constant.RouteConsts
|
||||
import com.gh.gamecenter.core.provider.IAppProvider
|
||||
@ -80,12 +80,12 @@ object TimestampUtils {
|
||||
}
|
||||
|
||||
val appProvider =
|
||||
ARouter.getInstance().build(RouteConsts.provider.app).navigation() as IAppProvider
|
||||
TheRouter.get(IAppProvider::class.java)
|
||||
|
||||
if (url.isBlank()) return url
|
||||
|
||||
// 测试环境直接添加时间戳
|
||||
return if (BuildConfig.DEBUG || appProvider.getChannel().lowercase().contains("refresh")) {
|
||||
return if (BuildConfig.DEBUG || appProvider?.getChannel()?.lowercase()?.contains("refresh") == true) {
|
||||
getCurrentTimeStampUrl(url)
|
||||
} else {
|
||||
getCDTimeStampUrl(url)
|
||||
|
||||
@ -9,7 +9,7 @@ import android.view.MotionEvent
|
||||
import android.view.ViewGroup
|
||||
import android.view.ViewParent
|
||||
import android.widget.TextView
|
||||
import com.alibaba.android.arouter.launcher.ARouter
|
||||
import com.therouter.TheRouter
|
||||
import com.gh.gamecenter.common.constant.RouteConsts
|
||||
import com.gh.gamecenter.core.provider.IDefaultUrlHandlerProvider
|
||||
|
||||
@ -36,8 +36,7 @@ class UrlInterceptedLinkMovementMethod : LinkMovementMethod() {
|
||||
val link = links[0]
|
||||
if (action == MotionEvent.ACTION_UP) {
|
||||
if (link is URLSpan && link.url.contains("ghzhushou")) {
|
||||
val provider = ARouter.getInstance().build(RouteConsts.provider.defaultUrlHandler)
|
||||
.navigation() as? IDefaultUrlHandlerProvider
|
||||
val provider = TheRouter.get(IDefaultUrlHandlerProvider::class.java)
|
||||
provider?.interceptUrl(widget.context, link.url, "")
|
||||
} else {
|
||||
link.onClick(widget)
|
||||
|
||||
Reference in New Issue
Block a user