Skip to content
Snippets Groups Projects
Verified Commit cd8fcb2a authored by Janne Mareike Koschinski's avatar Janne Mareike Koschinski
Browse files

Fixes bug where info pages would not show up

parent ace51098
Branches
Tags
No related merge requests found
......@@ -585,7 +585,7 @@ class ChatActivity : ServiceBoundActivity(), SharedPreferences.OnSharedPreferenc
})
// Only show nick list when we’re in a channel buffer
viewModel.bufferData.toLiveData().observe(this, Observer {
viewModel.bufferDataThrottled.toLiveData().observe(this, Observer {
bufferData = it
if (bufferData?.info?.type?.hasFlag(Buffer_Type.ChannelBuffer) == true) {
drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED, Gravity.END)
......
......@@ -91,7 +91,7 @@ class ToolbarFragment : ServiceBoundFragment() {
description, messageSettings.colorizeMirc
)
combineLatest(viewModel.bufferData, viewModel.lag).toLiveData()
combineLatest(viewModel.bufferDataThrottled, viewModel.lag).toLiveData()
.observe(this, Observer {
if (it != null) {
val (data, lag) = it
......@@ -119,15 +119,22 @@ class ToolbarFragment : ServiceBoundFragment() {
})
actionArea.setOnClickListener {
viewModel.bufferData.value?.info?.let { info ->
val bufferData = viewModel.bufferData.value
bufferData?.info?.let { info ->
when (info.type.toInt()) {
BufferInfo.Type.QueryBuffer.toInt() -> {
UserInfoActivity.launch(requireContext(), bufferId = info.bufferId, openBuffer = true)
UserInfoActivity.launch(
requireContext(),
bufferId = info.bufferId,
openBuffer = true
)
}
BufferInfo.Type.ChannelBuffer.toInt() -> {
ChannelInfoActivity.launch(requireContext(),
ChannelInfoActivity.launch(
requireContext(),
bufferId = info.bufferId,
openBuffer = true)
openBuffer = true
)
}
else -> null
}
......
......@@ -267,7 +267,9 @@ class BufferViewConfigFragment : ServiceBoundFragment() {
getColor(0, 0)
}
combineLatest(viewModel.bufferList, viewModel.expandedNetworks, viewModel.selectedBuffer)
combineLatest(viewModel.bufferListThrottled,
viewModel.expandedNetworks,
viewModel.selectedBuffer)
.toLiveData().zip(database.filtered().listen(accountId),
accountDatabase.accounts().listen(accountId))
.observe(this, Observer { it ->
......
......@@ -101,7 +101,7 @@ class NickListFragment : ServiceBoundFragment() {
val colorContext = ColorContext(requireContext(), messageSettings)
val avatarSize = resources.getDimensionPixelSize(R.dimen.avatar_size)
viewModel.nickData.toLiveData().observe(this, Observer {
viewModel.nickDataThrottled.toLiveData().observe(this, Observer {
runInBackground {
it?.asSequence()?.map {
val nickName = it.nick
......
......@@ -202,7 +202,9 @@ class QuasselViewModel : ViewModel() {
} else {
Observable.just(BufferData())
}
}.distinctUntilChanged().throttleLast(100, TimeUnit.MILLISECONDS)
}
val bufferDataThrottled = bufferData.distinctUntilChanged().throttleLast(100,
TimeUnit.MILLISECONDS)
val nickData: Observable<List<IrcUserItem>> = combineLatest(session, buffer)
.switchMap { (sessionOptional, buffer) ->
......@@ -243,7 +245,8 @@ class QuasselViewModel : ViewModel() {
} else {
Observable.just(emptyList())
}
}.distinctUntilChanged().throttleLast(100, TimeUnit.MILLISECONDS)
}
val nickDataThrottled = nickData.distinctUntilChanged().throttleLast(100, TimeUnit.MILLISECONDS)
val bufferViewConfigs = bufferViewManager.mapSwitchMap { manager ->
manager.liveBufferViewConfigs().map { ids ->
......@@ -517,5 +520,7 @@ class QuasselViewModel : ViewModel() {
} else {
Observable.just(Pair<BufferViewConfig?, List<BufferProps>>(null, emptyList()))
}
}.distinctUntilChanged().throttleLast(100, TimeUnit.MILLISECONDS)
}
val bufferListThrottled = bufferList.distinctUntilChanged().throttleLast(100,
TimeUnit.MILLISECONDS)
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment