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)