完成游戏详情自定义栏目显示三秒自动隐藏的提示展开浮窗
This commit is contained in:
@ -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) {
|
||||
|
||||
@ -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<Any>() {
|
||||
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<Any>() {
|
||||
})
|
||||
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
mCompositeDisposable = CompositeDisposable()
|
||||
}
|
||||
|
||||
override fun getLayoutId(): Int {
|
||||
@ -138,14 +135,13 @@ class DescFragment : BaseFragment<Any>() {
|
||||
}
|
||||
|
||||
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<Any>() {
|
||||
mAdapter.notifyItemChanged(i)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -166,7 +162,7 @@ class DescFragment : BaseFragment<Any>() {
|
||||
|
||||
override fun onDestroy() {
|
||||
super.onDestroy()
|
||||
mCompositeDisposable?.dispose()
|
||||
mDisplayHintDisposable?.dispose()
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
|
||||
Reference in New Issue
Block a user