488 lines
28 KiB
Java
488 lines
28 KiB
Java
package com.gh.gamecenter;
|
||
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.ENTRANCE_BROWSER;
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.HOST_ANSWER;
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.HOST_ARTICLE;
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.HOST_CATEGORY;
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.HOST_COLUMN;
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.HOST_COLUMN_COLLECTION;
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.HOST_COMMUNITY;
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.HOST_COMMUNITY_COLUMN;
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.HOST_CREATE_SHORTCUT;
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.HOST_DOWNLOAD;
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.HOST_GAME;
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.HOST_GAME_COLLECTION_DETAIL;
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.HOST_GAME_COLLECTION_SQUARE;
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.HOST_INVOKE_ONLY;
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.HOST_LIBAO;
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.HOST_QQ;
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.HOST_QQ_GROUP;
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.HOST_QQ_QUN;
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.HOST_QUESTION;
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.HOST_SUGGESTION;
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.HOST_TOOLBOX;
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.HOST_UPLOAD_VIDEO;
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.HOST_USERHOME;
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.HOST_VIDEO;
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.HOST_VIDEO_COLLECTION;
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.HOST_VIDEO_MORE;
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.HOST_VIDEO_SINGLE;
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.HOST_VIDEO_STREAMING_DESC;
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.HOST_VIDEO_STREAMING_HOME;
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.HOST_WEB;
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.KEY_DATA;
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.KEY_GAME_NAME;
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.KEY_NAME;
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.KEY_PACKAGENAME;
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.KEY_PLATFORM;
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.KEY_PLATFORM_VERSION;
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.KEY_TO;
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.KEY_TYPE;
|
||
import static com.gh.gamecenter.common.constant.EntranceConsts.KEY_VERSION;
|
||
|
||
import android.content.DialogInterface;
|
||
import android.content.Intent;
|
||
import android.net.Uri;
|
||
import android.os.Bundle;
|
||
import android.text.TextUtils;
|
||
import android.util.Base64;
|
||
|
||
import androidx.annotation.Nullable;
|
||
|
||
import com.gh.common.util.CheckLoginUtils;
|
||
import com.gh.common.util.DirectUtils;
|
||
import com.gh.common.util.EntranceUtils;
|
||
import com.gh.gamecenter.common.base.activity.BaseActivity;
|
||
import com.gh.gamecenter.common.constant.EntranceConsts;
|
||
import com.gh.gamecenter.common.entity.CommunityEntity;
|
||
import com.gh.gamecenter.common.entity.LinkEntity;
|
||
import com.gh.gamecenter.common.entity.SimpleGameEntity;
|
||
import com.gh.gamecenter.core.utils.GsonUtils;
|
||
import com.gh.gamecenter.core.utils.ToastUtils;
|
||
import com.gh.gamecenter.entity.SubjectRecommendEntity;
|
||
import com.gh.gamecenter.entity.VideoLinkEntity;
|
||
import com.gh.gamecenter.feature.utils.PlatformUtils;
|
||
import com.gh.gamecenter.video.detail.VideoDetailContainerViewModel;
|
||
import com.gh.gamecenter.video.videomanager.VideoManagerActivity;
|
||
import com.gh.vspace.shortcut.OnCreateShortcutResult;
|
||
import com.gh.vspace.shortcut.ShortcutManager;
|
||
import com.gh.vspace.shortcut.ShortcutPermissionTipsDialog;
|
||
import com.halo.assistant.HaloApp;
|
||
import com.lightgame.config.CommonDebug;
|
||
import com.lightgame.utils.Utils;
|
||
import com.muugi.shortcut.core.Executor;
|
||
|
||
/**
|
||
* Created by LGT on 2016/11/16.
|
||
* 链接跳转用
|
||
*/
|
||
public class SkipActivity extends BaseActivity {
|
||
|
||
@Override
|
||
protected int getLayoutId() {
|
||
return R.layout.activity_shell;
|
||
}
|
||
|
||
@Override
|
||
protected void onCreate(Bundle savedInstanceState) {
|
||
super.onCreate(savedInstanceState);
|
||
|
||
Uri uri = getIntent().getData();
|
||
Bundle bundle;
|
||
if (uri != null) {
|
||
if ("ghzhushou".equals(uri.getScheme())) {
|
||
if (CommonDebug.IS_DEBUG) {
|
||
Utils.log("SkipActivity:: Uri=>" + uri.toString());
|
||
}
|
||
String host = uri.getHost();
|
||
String path = uri.getPath();
|
||
|
||
String to = uri.getQueryParameter("to");
|
||
String type = uri.getQueryParameter("type");
|
||
String name = uri.getQueryParameter("name");
|
||
String referer = uri.getQueryParameter("referer");
|
||
String id = uri.getQueryParameter("id");
|
||
if (!TextUtils.isEmpty(path)) {
|
||
path = path.substring(1);
|
||
}
|
||
|
||
if (host != null) {
|
||
Intent intent;
|
||
switch (host) {
|
||
case HOST_INVOKE_ONLY:
|
||
// 仅唤起光环助手,不进入光环页面。用于类似 ContentProvider 的用途
|
||
break;
|
||
case HOST_CREATE_SHORTCUT:
|
||
// 创建桌面快捷方式
|
||
createShortcut(uri);
|
||
return;
|
||
case HOST_ARTICLE:
|
||
DirectUtils.directToArticle(this, path, ENTRANCE_BROWSER);
|
||
break;
|
||
case HOST_GAME:
|
||
DirectUtils.directToGameDetail(this, path, ENTRANCE_BROWSER, "true".equals(uri.getQueryParameter("auto_download")), to, null);
|
||
break;
|
||
case HOST_COLUMN:
|
||
DirectUtils.directToSubject(this, path, uri.getQueryParameter(KEY_NAME), ENTRANCE_BROWSER, null);
|
||
break;
|
||
case HOST_SUGGESTION:
|
||
String platform = uri.getQueryParameter(KEY_PLATFORM);
|
||
String platformName = PlatformUtils.getInstance(this).getPlatformName(platform);
|
||
String gameId = uri.getQueryParameter(EntranceConsts.KEY_GAMEID);
|
||
String packageMd5 = uri.getQueryParameter(EntranceConsts.KEY_PACKAGE_MD5);
|
||
String isQaFeedbackString = uri.getQueryParameter(EntranceConsts.KEY_IS_QA_FEEDBACK);
|
||
String suggestionType = uri.getQueryParameter(KEY_TYPE);
|
||
boolean isQaFeedback = !TextUtils.isEmpty(isQaFeedbackString) && isQaFeedbackString.equals("true");
|
||
String content = (TextUtils.isEmpty(gameId) || TextUtils.isEmpty(packageMd5)) ?
|
||
String.format("%s—V%s—%s(V%s),",
|
||
uri.getQueryParameter(KEY_GAME_NAME),
|
||
uri.getQueryParameter(KEY_VERSION),
|
||
TextUtils.isEmpty(platformName) ? platform : platformName,
|
||
uri.getQueryParameter(KEY_PLATFORM_VERSION)) :
|
||
String.format("%s-%s-V%s\n游戏ID:%s\n游戏包MD5:%s\n",
|
||
uri.getQueryParameter(KEY_GAME_NAME),
|
||
TextUtils.isEmpty(platformName) ? platform : platformName,
|
||
uri.getQueryParameter(KEY_VERSION), gameId, packageMd5);
|
||
String qaId = uri.getQueryParameter("qa_id");
|
||
String qaContentId = uri.getQueryParameter(EntranceConsts.KEY_QA_CONTENT_ID);
|
||
String qaTitle = uri.getQueryParameter(EntranceConsts.KEY_QA_TITLE);
|
||
if (!TextUtils.isEmpty(qaId)) {
|
||
DirectUtils.directToQa(this, qaTitle, qaId);
|
||
} else if ("vgame".equals(suggestionType)) {
|
||
DirectUtils.directToVGameFeedback(this, content, "game", isQaFeedback, qaContentId, EntranceConsts.ENTRANCE_BROWSER);
|
||
} else {
|
||
DirectUtils.directToFeedback(this, content, null, isQaFeedback, qaContentId, EntranceConsts.ENTRANCE_BROWSER);
|
||
}
|
||
break;
|
||
case HOST_DOWNLOAD:
|
||
DirectUtils.directToDownloadManagerAndStartUpdate(this, path, uri.getQueryParameter(KEY_PACKAGENAME), ENTRANCE_BROWSER);
|
||
break;
|
||
case HOST_ANSWER:
|
||
DirectUtils.directToAnswerDetail(this, path, ENTRANCE_BROWSER, "浏览器");
|
||
break;
|
||
case HOST_QUESTION:
|
||
DirectUtils.directToQuestionDetail(this, path, ENTRANCE_BROWSER, "浏览器");
|
||
break;
|
||
case HOST_TOOLBOX:
|
||
DirectUtils.directToToolbox(this, uri.getQueryParameter("gameId"), uri.getQueryParameter("toolboxUrl"), ENTRANCE_BROWSER);
|
||
break;
|
||
case HOST_COMMUNITY:
|
||
// 把切换放到 MainActivity 处理
|
||
if (HaloApp.getInstance().isRunningForeground) {
|
||
intent = new Intent(this, MainActivity.class);
|
||
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
|
||
intent.putExtra(MainActivity.SWITCH_TO_COMMUNITY, true);
|
||
} else {
|
||
bundle = new Bundle();
|
||
bundle.putBoolean(MainActivity.SWITCH_TO_COMMUNITY, true);
|
||
intent = SplashScreenActivity.getSplashScreenIntent(this, bundle);
|
||
}
|
||
startActivity(intent);
|
||
break;
|
||
// 社区文章格式一
|
||
case "community.article":
|
||
DirectUtils.directToCommunityArticle(this, uri.getQueryParameter("articleId"), uri.getQueryParameter("communityId"), ENTRANCE_BROWSER, "浏览器");
|
||
break;
|
||
// 社区文章格式二
|
||
case "communities":
|
||
String communityId = "";
|
||
String typeId = "";
|
||
String[] split = path.split("/");
|
||
for (String text : split) {
|
||
if (TextUtils.isEmpty(communityId)) {
|
||
communityId = text;
|
||
continue;
|
||
}
|
||
if (TextUtils.isEmpty(type)) {
|
||
type = text;
|
||
continue;
|
||
}
|
||
if (TextUtils.isEmpty(typeId)) {
|
||
typeId = text;
|
||
}
|
||
}
|
||
if ("articles".equals(type)) {
|
||
DirectUtils.directToCommunityArticle(this, typeId, communityId, ENTRANCE_BROWSER, "浏览器");
|
||
break;
|
||
}
|
||
break;
|
||
case HOST_VIDEO:
|
||
DirectUtils.directToVideoDetail(this, path, VideoDetailContainerViewModel.Location.HOTTEST_GAME_VIDEO.getValue(),
|
||
false, id, ENTRANCE_BROWSER, "浏览器", TextUtils.isEmpty(referer) ? "" : referer);
|
||
break;
|
||
case HOST_UPLOAD_VIDEO://跳转上传视频
|
||
String titleParameter = uri.getQueryParameter("title");
|
||
String title = TextUtils.isEmpty(titleParameter) ? "" : "#" + titleParameter + "#";
|
||
String categoryId = uri.getQueryParameter("category_id");
|
||
String link = uri.getQueryParameter("link");
|
||
gameId = uri.getQueryParameter("gameId");
|
||
String gameName = uri.getQueryParameter("gameName");
|
||
String tagActivityId = uri.getQueryParameter("tagActivityId");
|
||
String tagActivityName = uri.getQueryParameter("tagActivityName");
|
||
VideoLinkEntity linkEntity = new VideoLinkEntity(title, categoryId, link, tagActivityId, tagActivityName);
|
||
|
||
SimpleGameEntity simpleGameEntity = new SimpleGameEntity(gameId != null ? gameId : "", gameName != null ? gameName : "", "");
|
||
Bundle nextToBundle = VideoManagerActivity.getVideoManagerBundle(linkEntity, simpleGameEntity, EntranceConsts.ENTRANCE_BROWSER, "");
|
||
CheckLoginUtils.checkLogin(this, nextToBundle, true, EntranceConsts.ENTRANCE_BROWSER, () ->
|
||
DirectUtils.directToVideoManager(SkipActivity.this, linkEntity, simpleGameEntity, EntranceConsts.ENTRANCE_BROWSER, "浏览器"));
|
||
break;
|
||
case HOST_VIDEO_SINGLE:
|
||
DirectUtils.directToVideoDetail(this, path, VideoDetailContainerViewModel.Location.SINGLE_VIDEO.getValue(),
|
||
false, "", ENTRANCE_BROWSER, "浏览器", TextUtils.isEmpty(referer) ? "" : referer);
|
||
break;
|
||
case HOST_VIDEO_MORE:
|
||
gameId = uri.getQueryParameter("gameId");
|
||
String act = uri.getQueryParameter("act");
|
||
String fieldId = uri.getQueryParameter("fieldId");
|
||
String sectionName = uri.getQueryParameter("sectionName");
|
||
String paginationType = uri.getQueryParameter("paginationType");//活动分页方式 page filter
|
||
String location;
|
||
if (!TextUtils.isEmpty(act)) {
|
||
location = VideoDetailContainerViewModel.Location.VIDEO_ACTIVITY.getValue();
|
||
} else if (!TextUtils.isEmpty(fieldId)) {
|
||
location = VideoDetailContainerViewModel.Location.GAME_ZONE.getValue();
|
||
} else {
|
||
location = path;
|
||
}
|
||
DirectUtils.directToLegacyVideoDetail(this, path, location,
|
||
false, TextUtils.isEmpty(gameId) ? "" : gameId, ENTRANCE_BROWSER, "浏览器", TextUtils.isEmpty(referer) ? "" : referer,
|
||
TextUtils.isEmpty(type) ? "" : type, TextUtils.isEmpty(act) ? "" : act, TextUtils.isEmpty(paginationType) ? "page" : paginationType, TextUtils.isEmpty(fieldId) ? "" : fieldId,
|
||
TextUtils.isEmpty(sectionName) ? "" : sectionName);
|
||
break;
|
||
case HOST_VIDEO_STREAMING_HOME:
|
||
// 把切换放到 MainActivity 处理
|
||
if (HaloApp.getInstance().isRunningForeground) {
|
||
intent = new Intent(this, MainActivity.class);
|
||
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
|
||
intent.putExtra(MainActivity.SWITCH_TO_VIDEO, true);
|
||
} else {
|
||
bundle = new Bundle();
|
||
bundle.putBoolean(MainActivity.SWITCH_TO_VIDEO, true);
|
||
intent = SplashScreenActivity.getSplashScreenIntent(this, bundle);
|
||
}
|
||
startActivity(intent);
|
||
break;
|
||
case HOST_VIDEO_STREAMING_DESC:
|
||
DirectUtils.directToGameDetailVideoStreaming(this, path, ENTRANCE_BROWSER);
|
||
break;
|
||
case HOST_VIDEO_COLLECTION:
|
||
DirectUtils.directToGameVideo(this, path, ENTRANCE_BROWSER, "浏览器");
|
||
break;
|
||
case HOST_QQ:
|
||
bundle = new Bundle();
|
||
bundle.putString(KEY_TO, HOST_QQ);
|
||
bundle.putString(KEY_DATA, path);
|
||
EntranceUtils.jumpActivity(this, bundle);
|
||
break;
|
||
case HOST_QQ_GROUP:
|
||
bundle = new Bundle();
|
||
bundle.putString(KEY_TO, HOST_QQ_GROUP);
|
||
bundle.putString(KEY_DATA, path);
|
||
EntranceUtils.jumpActivity(this, bundle);
|
||
break;
|
||
case HOST_QQ_QUN:
|
||
String key = uri.getQueryParameter("key");
|
||
bundle = new Bundle();
|
||
bundle.putString(KEY_TO, HOST_QQ_GROUP);
|
||
bundle.putString(KEY_DATA, key);
|
||
EntranceUtils.jumpActivity(this, bundle);
|
||
break;
|
||
case HOST_WEB:
|
||
bundle = new Bundle();
|
||
bundle.putString(KEY_TO, HOST_WEB);
|
||
bundle.putString(KEY_DATA, to);
|
||
bundle.putString(KEY_TYPE, type);
|
||
EntranceUtils.jumpActivityCompat(this, bundle);
|
||
break;
|
||
case EntranceConsts.HOST_VIDEO_DETAIL:
|
||
DirectUtils.directToVideoDetail(this, path, ENTRANCE_BROWSER, "");
|
||
break;
|
||
case HOST_LIBAO:
|
||
DirectUtils.directToGiftDetail(this, path, ENTRANCE_BROWSER);
|
||
break;
|
||
case HOST_USERHOME:
|
||
String position = uri.getQueryParameter("position");
|
||
String subTypeString = uri.getQueryParameter("sub_type");
|
||
String subGameType = uri.getQueryParameter("sub_game_type");
|
||
|
||
DirectUtils.directToHomeActivity(this, path, subTypeString, subGameType, TextUtils.isEmpty(position) ? -1 : Integer.parseInt(position), ENTRANCE_BROWSER, "浏览器");
|
||
break;
|
||
case HOST_COMMUNITY_COLUMN:
|
||
CommunityEntity community = new CommunityEntity();
|
||
community.setId(uri.getQueryParameter("community_id"));
|
||
community.setName(uri.getQueryParameter("community_name"));
|
||
String columnId = uri.getQueryParameter("column_id");
|
||
DirectUtils.directToCommunityColumn(this, community, columnId, ENTRANCE_BROWSER, "");
|
||
break;
|
||
|
||
case HOST_CATEGORY:
|
||
title = uri.getQueryParameter("title");
|
||
DirectUtils.directCategoryDirectory(this, path, title, ENTRANCE_BROWSER, "浏览器");
|
||
break;
|
||
case HOST_COLUMN_COLLECTION:
|
||
DirectUtils.directToColumnCollection(this, path, -1, ENTRANCE_BROWSER, "浏览器");
|
||
break;
|
||
case EntranceConsts.HOST_BLOCK:
|
||
name = uri.getQueryParameter("name");
|
||
SubjectRecommendEntity entity = new SubjectRecommendEntity();
|
||
entity.setLink(path);
|
||
entity.setName(name);
|
||
entity.setText(name);
|
||
DirectUtils.directToBlock(this, entity, mEntrance, null);
|
||
break;
|
||
|
||
case EntranceConsts.HOST_SERVER_BLOCK:
|
||
DirectUtils.directToGameServers(this, ENTRANCE_BROWSER, "浏览器", null);
|
||
break;
|
||
|
||
case EntranceConsts.HOST_AMWAY_BLOCK:
|
||
DirectUtils.directToAmway(this, null, ENTRANCE_BROWSER, "浏览器");
|
||
break;
|
||
|
||
case EntranceConsts.HOST_HELP:
|
||
name = uri.getQueryParameter("name");
|
||
DirectUtils.directToQa(this, name, path);
|
||
break;
|
||
|
||
case EntranceConsts.HOST_HELP_COLLECTION:
|
||
name = uri.getQueryParameter("name");
|
||
DirectUtils.directToQaCollection(this, name, path);
|
||
break;
|
||
case EntranceConsts.HOST_GAME_UPLOAD:
|
||
DirectUtils.directGameUpload(this, ENTRANCE_BROWSER, "浏览器");
|
||
break;
|
||
case EntranceConsts.HOST_GAME_ZONE:
|
||
String zoneUrl = uri.getQueryParameter("url");
|
||
DirectUtils.directGameZone(this, path, zoneUrl, ENTRANCE_BROWSER);
|
||
break;
|
||
case EntranceConsts.HOST_LINK:
|
||
try {
|
||
String dataString = uri.getQueryParameter("data");
|
||
if (!TextUtils.isEmpty(dataString)) {
|
||
byte[] linkData = Base64.decode(dataString, Base64.DEFAULT);
|
||
String linkDataString = new String(linkData, "UTF-8");
|
||
LinkEntity le = GsonUtils.INSTANCE.getGson().fromJson(linkDataString, LinkEntity.class);
|
||
DirectUtils.directToLinkPage(this, le, ENTRANCE_BROWSER, "");
|
||
}
|
||
} catch (Exception e) {
|
||
e.printStackTrace();
|
||
toast(e.getMessage());
|
||
}
|
||
break;
|
||
case EntranceConsts.HOST_REAL_NAME:
|
||
DirectUtils.directToRealName(this);
|
||
break;
|
||
case EntranceConsts.HOST_GAME_NEWS:
|
||
DirectUtils.directToGameNews(
|
||
this,
|
||
uri.getQueryParameter(EntranceConsts.KEY_GAME_ID),
|
||
uri.getQueryParameter(EntranceConsts.KEY_GAME_NAME),
|
||
EntranceConsts.ENTRANCE_BROWSER);
|
||
break;
|
||
case EntranceConsts.HOST_GAME_CALENDAR:
|
||
DirectUtils.directToGameServerCalendar(this, uri.getQueryParameter(EntranceConsts.KEY_GAME_ID));
|
||
break;
|
||
case EntranceConsts.HOST_HISTORY_APK:
|
||
DirectUtils.directToHistoryApk(this, uri.getQueryParameter(EntranceConsts.KEY_GAME_ID));
|
||
break;
|
||
case EntranceConsts.HOST_FORUM_DETAIL:
|
||
DirectUtils.directForumDetail(this, id, ENTRANCE_BROWSER);
|
||
break;
|
||
case EntranceConsts.HOST_GAME_RATING_DETAIL:
|
||
DirectUtils.directToGameRatingDetail(this, uri.getQueryParameter(EntranceConsts.KEY_GAME_ID), uri.getQueryParameter(EntranceConsts.KEY_COMMENT_ID), ENTRANCE_BROWSER);
|
||
break;
|
||
case EntranceConsts.HOST_FORUM:
|
||
position = uri.getQueryParameter("position");
|
||
DirectUtils.directToForum(this, TextUtils.isEmpty(position) ? 0 : Integer.parseInt(position));
|
||
break;
|
||
case EntranceConsts.HOST_HELP_AND_FEEDBACK:
|
||
position = uri.getQueryParameter("position");
|
||
DirectUtils.directToHelpAndFeedback(this, TextUtils.isEmpty(position) ? 0 : Integer.parseInt(position));
|
||
break;
|
||
case HOST_GAME_COLLECTION_DETAIL:
|
||
DirectUtils.directToGameCollectionDetail(this, path, ENTRANCE_BROWSER, "", null);
|
||
break;
|
||
case HOST_GAME_COLLECTION_SQUARE:
|
||
DirectUtils.directToGameCollectionSquare(this, ENTRANCE_BROWSER, "", "", "");
|
||
break;
|
||
default:
|
||
EntranceUtils.jumpActivity(this, new Bundle()); // 跳转至首页
|
||
return;
|
||
}
|
||
}
|
||
} 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()); // 跳转至首页
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
finish();
|
||
}
|
||
|
||
/**
|
||
* 畅玩助手调用创建游戏桌面图标
|
||
*/
|
||
private void createShortcut(Uri uri) {
|
||
String shortcutGameId = uri.getQueryParameter(EntranceConsts.KEY_GAME_ID);
|
||
String shortcutGamePkg = uri.getQueryParameter(EntranceConsts.KEY_GAME_PKG);
|
||
OnCreateShortcutResult onCreateShortcutResult = new OnCreateShortcutResult() {
|
||
@Override
|
||
public void showPermissionDialog(@Nullable Executor executor) {
|
||
ShortcutPermissionTipsDialog dialog =
|
||
new ShortcutPermissionTipsDialog(SkipActivity.this, shortcutGameId, executor);
|
||
dialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
|
||
@Override
|
||
public void onDismiss(DialogInterface dialog) {
|
||
finish();
|
||
}
|
||
});
|
||
|
||
if (SkipActivity.this.isFinishing()) {
|
||
ToastUtils.toast("创建桌面图标失败,请重试");
|
||
return;
|
||
}
|
||
|
||
dialog.show();
|
||
}
|
||
|
||
@Override
|
||
public void exist() {
|
||
Utils.toast(SkipActivity.this, getString(R.string.shortcut_exist));
|
||
finish();
|
||
}
|
||
|
||
@Override
|
||
public void success() {
|
||
Utils.toast(SkipActivity.this, getString(R.string.shortcut_create_success));
|
||
finish();
|
||
}
|
||
|
||
@Override
|
||
public void failed() {
|
||
Utils.toast(SkipActivity.this, getString(R.string.shortcut_create_failed));
|
||
finish();
|
||
}
|
||
};
|
||
ShortcutManager.Companion.getInstance().tryCreateShortCut(
|
||
this,
|
||
shortcutGameId,
|
||
shortcutGamePkg,
|
||
onCreateShortcutResult);
|
||
}
|
||
}
|