From 92a0d778856fb4fc6a14a8a4c420b56205d4116a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E7=8E=89=E4=B9=85?= <1484288157@qq.com> Date: Tue, 17 Mar 2020 16:07:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=89=E7=8E=AF=E5=8A=A9=E6=89=8BV3.7.4-?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E9=97=AE=E9=A2=98=E6=B1=87=E6=80=BB=EF=BC=88?= =?UTF-8?q?20200311-1900=EF=BC=8910=20https://gitlab.ghzs.com/pm/halo-app-?= =?UTF-8?q?issues/issues/797?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/gh/common/DefaultWebViewUrlHandler.kt | 4 ++++ .../main/java/com/gh/common/util/DirectUtils.kt | 15 +++++++++++++++ .../java/com/gh/common/util/EntranceUtils.java | 1 + .../java/com/gh/gamecenter/SkipActivity.java | 7 ++++++- .../java/com/gh/gamecenter/WebActivity.java | 4 ++-- .../gamecenter/personalhome/UserHomeActivity.kt | 4 ++++ .../gamecenter/personalhome/UserHomeFragment.kt | 17 +++++++++++------ 7 files changed, 43 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/gh/common/DefaultWebViewUrlHandler.kt b/app/src/main/java/com/gh/common/DefaultWebViewUrlHandler.kt index 41fcc90869..37353d3ba7 100644 --- a/app/src/main/java/com/gh/common/DefaultWebViewUrlHandler.kt +++ b/app/src/main/java/com/gh/common/DefaultWebViewUrlHandler.kt @@ -122,6 +122,10 @@ object DefaultWebViewUrlHandler { DirectUtils.directToVideoManager(context, linkEntity, EntranceUtils.ENTRANCE_BROWSER, "") } } + EntranceUtils.HOST_USERHOME -> { + val position = uri.getQueryParameter("position") + DirectUtils.directToHomeActivity(context, id, if(position.isNullOrEmpty()) -1 else position.toInt(), entrance, "") + } else -> DialogUtils.showLowVersionDialog(context) } return true diff --git a/app/src/main/java/com/gh/common/util/DirectUtils.kt b/app/src/main/java/com/gh/common/util/DirectUtils.kt index 1a6fa36033..e5e993168e 100644 --- a/app/src/main/java/com/gh/common/util/DirectUtils.kt +++ b/app/src/main/java/com/gh/common/util/DirectUtils.kt @@ -241,6 +241,21 @@ object DirectUtils { context.startActivity(UserHomeActivity.getIntent(context, userId ?: "", entrance, path)) } + /** + * 跳转至个人主页 + * @param position 定位到某个tab 0游戏评论 1问答 2视频 + */ + @JvmStatic + fun directToHomeActivity(context: Context, userId: String?, position: Int, entrance: String? = null, path: String? = null) { + val bundle = Bundle() + bundle.putString(KEY_USER_ID, userId) + bundle.putString(KEY_TO, UserHomeActivity::class.java.name) + bundle.putString(KEY_ENTRANCE, BaseActivity.mergeEntranceAndPath(entrance, path)) + bundle.putString(KEY_PATH, path) + bundle.putInt(KEY_POSITION, position) + jumpActivity(context, bundle) + } + /** * 回到首页 */ diff --git a/app/src/main/java/com/gh/common/util/EntranceUtils.java b/app/src/main/java/com/gh/common/util/EntranceUtils.java index a8b3a5c205..1f97274c21 100644 --- a/app/src/main/java/com/gh/common/util/EntranceUtils.java +++ b/app/src/main/java/com/gh/common/util/EntranceUtils.java @@ -35,6 +35,7 @@ public class EntranceUtils { public static final String HOST_VIDEO_STREAMING_HOME = "video_streaming_home";//视频流-首页 public static final String HOST_VIDEO_STREAMING_DESC = "video_streaming_desc";//视频流-游戏介绍进入 public static final String HOST_VIDEO_COLLECTION = "video_collection";//视频合集 + public static final String HOST_USERHOME = "userhome";//个人主页 public static final String HOST_VIDEO = "video"; public static final String HOST_COMMUNITY_ARTICLE = "community_article"; public static final String HOST_COMMUNITY_COLUMN = "community_column"; diff --git a/app/src/main/java/com/gh/gamecenter/SkipActivity.java b/app/src/main/java/com/gh/gamecenter/SkipActivity.java index 539b9a0d98..91d79b0ab1 100644 --- a/app/src/main/java/com/gh/gamecenter/SkipActivity.java +++ b/app/src/main/java/com/gh/gamecenter/SkipActivity.java @@ -33,6 +33,7 @@ import static com.gh.common.util.EntranceUtils.HOST_QUESTION; import static com.gh.common.util.EntranceUtils.HOST_SUGGESTION; import static com.gh.common.util.EntranceUtils.HOST_TOOLBOX; import static com.gh.common.util.EntranceUtils.HOST_UPLOAD_VIDEO; +import static com.gh.common.util.EntranceUtils.HOST_USERHOME; import static com.gh.common.util.EntranceUtils.HOST_VIDEO; import static com.gh.common.util.EntranceUtils.HOST_VIDEO_COLLECTION; import static com.gh.common.util.EntranceUtils.HOST_VIDEO_MORE; @@ -172,7 +173,7 @@ public class SkipActivity extends BaseActivity { // if (!CheckLoginUtils.isLogin()) { // HaloApp.put(HOST_UPLOAD_VIDEO, linkEntity); // } - Bundle nextToBundle = VideoManagerActivity.getVideoManagerBundle( linkEntity, EntranceUtils.ENTRANCE_BROWSER, ""); + Bundle nextToBundle = VideoManagerActivity.getVideoManagerBundle(linkEntity, EntranceUtils.ENTRANCE_BROWSER, ""); CheckLoginUtils.checkLogin(this, nextToBundle, true, EntranceUtils.ENTRANCE_BROWSER, null); break; case HOST_VIDEO_SINGLE: @@ -225,6 +226,10 @@ public class SkipActivity extends BaseActivity { case HOST_LIBAO: DirectUtils.directToGiftDetail(this, path, ENTRANCE_BROWSER); break; + case HOST_USERHOME: + String position = uri.getQueryParameter("position"); + DirectUtils.directToHomeActivity(this, path, TextUtils.isEmpty(position) ? -1 : Integer.parseInt(position), ENTRANCE_BROWSER, "浏览器"); + break; default: EntranceUtils.jumpActivity(this, new Bundle()); // 跳转至首页 return; diff --git a/app/src/main/java/com/gh/gamecenter/WebActivity.java b/app/src/main/java/com/gh/gamecenter/WebActivity.java index 51af9175eb..2fb565b97e 100644 --- a/app/src/main/java/com/gh/gamecenter/WebActivity.java +++ b/app/src/main/java/com/gh/gamecenter/WebActivity.java @@ -5,8 +5,6 @@ import android.content.Intent; import android.os.Bundle; import android.view.View; -import androidx.annotation.NonNull; - import com.gh.common.constant.Constants; import com.gh.common.util.EntranceUtils; import com.gh.gamecenter.entity.ConcernEntity; @@ -18,6 +16,8 @@ import java.net.URLEncoder; import java.util.Date; import java.util.Locale; +import androidx.annotation.NonNull; + /** * Created by khy on 2016/10/18. */ diff --git a/app/src/main/java/com/gh/gamecenter/personalhome/UserHomeActivity.kt b/app/src/main/java/com/gh/gamecenter/personalhome/UserHomeActivity.kt index 752b9299a0..13350334b6 100644 --- a/app/src/main/java/com/gh/gamecenter/personalhome/UserHomeActivity.kt +++ b/app/src/main/java/com/gh/gamecenter/personalhome/UserHomeActivity.kt @@ -20,4 +20,8 @@ class UserHomeActivity : NormalActivity() { } } + override fun provideNormalIntent(): Intent { + return getTargetIntent(this, UserHomeActivity::class.java, UserHomeFragment::class.java) + } + } \ No newline at end of file diff --git a/app/src/main/java/com/gh/gamecenter/personalhome/UserHomeFragment.kt b/app/src/main/java/com/gh/gamecenter/personalhome/UserHomeFragment.kt index 0487182a19..ce3108c888 100644 --- a/app/src/main/java/com/gh/gamecenter/personalhome/UserHomeFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/personalhome/UserHomeFragment.kt @@ -188,13 +188,18 @@ class UserHomeFragment : NormalFragment() { } private fun updateTab(personalData: PersonalEntity) { + val keyPosition = arguments?.getInt(EntranceUtils.KEY_POSITION,-1) ?: -1 val count = personalData.count - // 根据是否有内容选择页面显示 - val position = when { - count.gameComment > 0 -> 0 - count.getQaCount() > 0 -> 1 - count.video > 0 -> 2 - else -> 0 + val position = if (keyPosition > -1) { + keyPosition + } else { + // 根据是否有内容选择页面显示 + when { + count.gameComment > 0 -> 0 + count.getQaCount() > 0 -> 1 + count.video > 0 -> 2 + else -> 0 + } } val commentFragment = UserHistoryFragment.getInstance(mUserHomeViewModel.userId, UserHistoryViewModel.SCENE.COMMENT, count)