光环助手V5.0.0-新社区展示功能(0630 运营测试问题 4)https://git.ghzs.com/pm/halo-app-issues/-/issues/1253#note_106346
This commit is contained in:
@ -5,7 +5,6 @@ import android.view.View
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.gh.common.AppExecutor
|
||||
import com.gh.common.constant.Constants
|
||||
import com.gh.common.util.*
|
||||
import com.gh.common.view.divider.HorizontalDividerItemDecoration
|
||||
import com.gh.gamecenter.R
|
||||
@ -16,6 +15,7 @@ import com.gh.gamecenter.eventbus.EBTypeChange
|
||||
import com.gh.gamecenter.forum.home.ForumScrollCalculatorHelper
|
||||
import com.gh.gamecenter.qa.CommunityFragment
|
||||
import com.gh.gamecenter.qa.entity.AnswerEntity
|
||||
import com.gh.gamecenter.video.detail.CustomManager
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
import org.greenrobot.eventbus.Subscribe
|
||||
import org.greenrobot.eventbus.ThreadMode
|
||||
@ -195,6 +195,14 @@ class ForumArticleAskListFragment : ListFragment<AnswerEntity, ForumArticleAskLi
|
||||
|
||||
override fun provideSyncAdapter(): ForumArticleAskListAdapter = mAdapter
|
||||
|
||||
override fun onBackPressed(): Boolean {
|
||||
mScrollCalculatorHelper?.currentPlayer?.run {
|
||||
return (isIfCurrentIsFullscreen
|
||||
&& CustomManager.backFromWindowFull(requireActivity(), getKey()))
|
||||
}
|
||||
return super.onBackPressed()
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
fun onEvent(detail: EBDeleteDetail) {
|
||||
val currentEntity = mAdapter.entityList?.find { it.id == detail.id }
|
||||
|
||||
@ -3,12 +3,16 @@ package com.gh.gamecenter.forum.detail
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import androidx.fragment.app.Fragment
|
||||
import com.gh.base.BaseActivity
|
||||
import com.gh.common.util.DisplayUtils
|
||||
import com.gh.common.util.EntranceUtils
|
||||
import com.gh.gamecenter.R
|
||||
|
||||
class ForumDetailActivity : BaseActivity() {
|
||||
|
||||
private var mContainerFragment: Fragment? = null
|
||||
|
||||
override fun getLayoutId(): Int {
|
||||
return R.layout.activity_amway
|
||||
}
|
||||
@ -18,10 +22,10 @@ class ForumDetailActivity : BaseActivity() {
|
||||
|
||||
DisplayUtils.transparentStatusBar(this)
|
||||
|
||||
val containerFragment = supportFragmentManager.findFragmentByTag(ForumDetailFragment::class.java.simpleName)
|
||||
mContainerFragment = supportFragmentManager.findFragmentByTag(ForumDetailFragment::class.java.simpleName)
|
||||
?: ForumDetailFragment().with(intent.extras)
|
||||
// 若 placeholder 外层为 RelativeLayout 的话,会出现莫名的偏移
|
||||
supportFragmentManager.beginTransaction().replace(R.id.placeholder, containerFragment, ForumDetailFragment::class.java.simpleName).commitAllowingStateLoss()
|
||||
supportFragmentManager.beginTransaction().replace(R.id.placeholder, mContainerFragment!!, ForumDetailFragment::class.java.simpleName).commitAllowingStateLoss()
|
||||
}
|
||||
|
||||
override fun getBusinessId(): Pair<String, String> {
|
||||
@ -37,4 +41,11 @@ class ForumDetailActivity : BaseActivity() {
|
||||
return intent
|
||||
}
|
||||
}
|
||||
|
||||
override fun handleBackPressed(): Boolean {
|
||||
(mContainerFragment as? ForumDetailFragment)?.run {
|
||||
return onBackPressed()
|
||||
}
|
||||
return super.handleBackPressed()
|
||||
}
|
||||
}
|
||||
@ -546,6 +546,10 @@ class ForumDetailFragment : BaseLazyTabFragment() {
|
||||
mAllForumArticleAskListFragment?.insertDataToFirstIndex(entity)
|
||||
}
|
||||
|
||||
override fun onBackPressed(): Boolean {
|
||||
return (mFragmentsList[mBinding.fragmentViewPager.currentItem] as ForumArticleAskListFragment).onBackPressed()
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
fun onEventMainThread(status: EBTypeChange) {
|
||||
if (status.type == EB_SHOW_QUESTION_BUTTON) {
|
||||
|
||||
@ -267,6 +267,15 @@ class CommunityHomeFragment : LazyFragment() {
|
||||
(mFragmentList[0] as? ForumArticleListFragment)?.insertDataToFirstIndex(entity)
|
||||
}
|
||||
|
||||
override fun onBackPressed(): Boolean {
|
||||
mBinding?.viewPager?.run {
|
||||
if (currentItem == 0) {
|
||||
return (mFragmentList[0] as ForumArticleListFragment).onBackPressed()
|
||||
}
|
||||
}
|
||||
return super.onBackPressed()
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
fun onEventMainThread(status: EBTypeChange) {
|
||||
if (status.type == CommunityFragment.EB_SHOW_QUESTION_BUTTON) {
|
||||
|
||||
@ -6,7 +6,6 @@ import androidx.lifecycle.ViewModelProviders
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.gh.common.AppExecutor
|
||||
import com.gh.common.constant.Constants
|
||||
import com.gh.common.iinterface.IScrollable
|
||||
import com.gh.common.util.*
|
||||
import com.gh.gamecenter.R
|
||||
@ -21,6 +20,7 @@ import com.gh.gamecenter.forum.home.ForumScrollCalculatorHelper.Companion.savePl
|
||||
import com.gh.gamecenter.qa.CommunityFragment
|
||||
import com.gh.gamecenter.qa.entity.ArticleEntity
|
||||
import com.gh.gamecenter.user.UserViewModel
|
||||
import com.gh.gamecenter.video.detail.CustomManager
|
||||
import com.google.android.material.appbar.AppBarLayout
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
import org.greenrobot.eventbus.Subscribe
|
||||
@ -250,6 +250,14 @@ class ForumArticleListFragment : LazyListFragment<ArticleEntity, ForumArticleLis
|
||||
|
||||
override fun provideSyncAdapter(): ForumArticleListAdapter = provideListAdapter()
|
||||
|
||||
override fun onBackPressed(): Boolean {
|
||||
mScrollCalculatorHelper?.currentPlayer?.run {
|
||||
return (isIfCurrentIsFullscreen
|
||||
&& CustomManager.backFromWindowFull(requireActivity(), getKey()))
|
||||
}
|
||||
return super.onBackPressed()
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
fun onEvent(detail: EBDeleteDetail){
|
||||
mAdapter?.run {
|
||||
|
||||
@ -113,6 +113,7 @@ public class MainWrapperFragment extends BaseFragment_ViewPager_Checkable implem
|
||||
private MainWrapperViewModel mViewModel;
|
||||
private MessageUnreadViewModel mMessageUnreadViewModel;
|
||||
private HomeVideoFragment homeVideoFragment;
|
||||
private CommunityHomeFragment mCommunityHomeFragment;
|
||||
private String[] resAssets = {"lottie/tab_home.json", "lottie/tab_game.json", "lottie/tab_forum.json", "lottie/tab_video.json", "tab_mine.gif"};
|
||||
|
||||
@Override
|
||||
@ -147,7 +148,8 @@ public class MainWrapperFragment extends BaseFragment_ViewPager_Checkable implem
|
||||
videoArgs.putBoolean(EntranceUtils.KEY_IS_HOME_VIDEO, true);
|
||||
homeVideoFragment.setArguments(videoArgs);
|
||||
|
||||
fragments.add(new CommunityHomeFragment());
|
||||
mCommunityHomeFragment = new CommunityHomeFragment();
|
||||
fragments.add(mCommunityHomeFragment);
|
||||
fragments.add(homeVideoFragment);
|
||||
|
||||
if (mViewModel.shouldHideVideoTab()) {
|
||||
@ -549,6 +551,10 @@ public class MainWrapperFragment extends BaseFragment_ViewPager_Checkable implem
|
||||
if (homeVideoFragment.getCurrentFragment() != null) {
|
||||
return homeVideoFragment.getCurrentFragment().onHandleBackPressed();
|
||||
}
|
||||
|
||||
if (mViewPager.getCurrentItem() == INDEX_BBS) {
|
||||
return mCommunityHomeFragment.onBackPressed();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@ -628,6 +628,15 @@ class UserHomeFragment : NormalFragment() {
|
||||
return bitmap
|
||||
}
|
||||
|
||||
override fun onBackPressed(): Boolean {
|
||||
mHomeBinding?.viewpager?.run {
|
||||
if (currentItem == 1) {
|
||||
return (mFragmentList[1] as UserHistoryFragment).onBackPressed()
|
||||
}
|
||||
}
|
||||
return super.onBackPressed()
|
||||
}
|
||||
|
||||
companion object {
|
||||
const val LOCATION = "个人主页"
|
||||
}
|
||||
|
||||
@ -8,7 +8,6 @@ import android.widget.TextView
|
||||
import androidx.core.os.bundleOf
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.gh.common.AppExecutor
|
||||
import com.gh.common.constant.Constants
|
||||
import com.gh.common.util.*
|
||||
import com.gh.gamecenter.R
|
||||
import com.gh.gamecenter.baselist.ListAdapter
|
||||
@ -20,7 +19,6 @@ import com.gh.gamecenter.entity.PersonalHistoryEntity
|
||||
import com.gh.gamecenter.entity.RatingComment
|
||||
import com.gh.gamecenter.forum.home.ForumScrollCalculatorHelper
|
||||
import com.gh.gamecenter.gamedetail.rating.RatingReplyActivity
|
||||
import com.gh.gamecenter.qa.answer.detail.AnswerDetailActivity
|
||||
import com.gh.gamecenter.qa.answer.detail.SimpleAnswerDetailActivity
|
||||
import com.gh.gamecenter.qa.article.detail.ArticleDetailActivity
|
||||
import com.gh.gamecenter.qa.entity.AnswerDetailEntity
|
||||
@ -28,6 +26,7 @@ import com.gh.gamecenter.qa.entity.ArticleDetailEntity
|
||||
import com.gh.gamecenter.qa.entity.QuestionsDetailEntity
|
||||
import com.gh.gamecenter.qa.video.detail.ForumVideoDetailActivity
|
||||
import com.gh.gamecenter.qa.questions.newdetail.NewQuestionDetailActivity
|
||||
import com.gh.gamecenter.video.detail.CustomManager
|
||||
import com.halo.assistant.HaloApp
|
||||
|
||||
class UserHistoryFragment : ListFragment<PersonalHistoryEntity, UserHistoryViewModel>() {
|
||||
@ -323,6 +322,14 @@ class UserHistoryFragment : ListFragment<PersonalHistoryEntity, UserHistoryViewM
|
||||
}
|
||||
}
|
||||
|
||||
override fun onBackPressed(): Boolean {
|
||||
mScrollCalculatorHelper?.currentPlayer?.run {
|
||||
return (isIfCurrentIsFullscreen
|
||||
&& CustomManager.backFromWindowFull(requireActivity(), getKey()))
|
||||
}
|
||||
return super.onBackPressed()
|
||||
}
|
||||
|
||||
companion object {
|
||||
const val USER_ID = "user_id"
|
||||
const val SCENE = "scene"
|
||||
|
||||
Reference in New Issue
Block a user