From d7a85edb763e46aa5732ef9bb7952d0902bd9397 Mon Sep 17 00:00:00 2001 From: chenjuntao Date: Wed, 3 Jun 2020 11:50:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E6=B8=B8=E6=88=8F=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E8=87=AA=E5=AE=9A=E4=B9=89=E6=A0=8F=E7=9B=AE=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E4=B8=89=E7=A7=92=E8=87=AA=E5=8A=A8=E9=9A=90=E8=97=8F?= =?UTF-8?q?=E7=9A=84=E6=8F=90=E7=A4=BA=E5=B1=95=E5=BC=80=E6=B5=AE=E7=AA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/gh/common/util/Extensions.kt | 6 +++--- .../gamecenter/gamedetail/desc/DescFragment.kt | 18 +++++++----------- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/com/gh/common/util/Extensions.kt b/app/src/main/java/com/gh/common/util/Extensions.kt index 6d5061b9bf..c883b390c7 100644 --- a/app/src/main/java/com/gh/common/util/Extensions.kt +++ b/app/src/main/java/com/gh/common/util/Extensions.kt @@ -496,15 +496,15 @@ inline fun testChannelOnly(f: () -> Unit) { * 倒计时,单位s */ inline fun countDownTimer( - remainingTime: Long, + timeInSeconds: Long, crossinline block: (finish: Boolean, remainingTime: Long) -> Unit ): Disposable { var subscribe: Disposable? = null subscribe = Observable.interval(0, 1000, TimeUnit.MILLISECONDS) .observeOn(AndroidSchedulers.mainThread()) .subscribe { - if (it < remainingTime) { - block.invoke(false, remainingTime - it) + if (it < timeInSeconds) { + block.invoke(false, timeInSeconds - it) } else { block.invoke(true, 0) if (subscribe != null && !subscribe!!.isDisposed) { diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescFragment.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescFragment.kt index 9130e01ed9..e624da746f 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescFragment.kt @@ -24,7 +24,7 @@ import com.gh.gamecenter.gamedetail.GameDetailViewModel import com.gh.gamecenter.gamedetail.entity.NewGameDetailEntity import com.gh.gamecenter.video.detail.VideoDetailActivity import com.halo.assistant.HaloApp -import io.reactivex.disposables.CompositeDisposable +import io.reactivex.disposables.Disposable import org.greenrobot.eventbus.EventBus import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.ThreadMode @@ -36,9 +36,8 @@ class DescFragment : BaseFragment() { private var layoutManager: LinearLayoutManager? = null private var mGameEntity: GameEntity? = null - // private var mDetailEntity: GameDetailEntity? = null private var mNewDetailEntity: NewGameDetailEntity? = null - private var mCompositeDisposable: CompositeDisposable? = null + private var mDisplayHintDisposable: Disposable? = null private lateinit var mViewModel: DescViewModel @@ -110,8 +109,6 @@ class DescFragment : BaseFragment() { }) super.onCreate(savedInstanceState) - - mCompositeDisposable = CompositeDisposable() } override fun getLayoutId(): Int { @@ -138,14 +135,13 @@ class DescFragment : BaseFragment() { } for (i in firstCompletelyVisibleItemPosition..lastCompletelyVisibleItemPosition) { - if (i < 0) { - continue - } + if (i < 0) continue if (mAdapter.getItemViewType(i) == DescAdapter.CUSTOM_COLUMN && mAdapter.descItemList.get(i).customColumn?.showExpandTagsHint == true) { // 可视三秒后隐藏自定义栏目的标签展开浮窗提示 - mCompositeDisposable?.add(countDownTimer(3L) { isFinish, _ -> + mDisplayHintDisposable?.dispose() + mDisplayHintDisposable = countDownTimer(3L) { isFinish, _ -> if (isFinish && activity?.isFinishing != true && isThisPositionVisible(i)) { tryWithDefaultCatch { SPUtils.setBoolean(Constants.SP_HAS_SHOWN_EXPANDED_GAME_DETAIL_TAGS_HINT, true) @@ -153,7 +149,7 @@ class DescFragment : BaseFragment() { mAdapter.notifyItemChanged(i) } } - }) + } } } } @@ -166,7 +162,7 @@ class DescFragment : BaseFragment() { override fun onDestroy() { super.onDestroy() - mCompositeDisposable?.dispose() + mDisplayHintDisposable?.dispose() } @Subscribe(threadMode = ThreadMode.MAIN)