diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/MessageListFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/MessageListFragment.kt index cb63b215cfdf20c3ec4256169e788b748e221e0a..479f9db35e42c17537a0d8fb6bbdf998b2633731 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/MessageListFragment.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/messages/MessageListFragment.kt @@ -415,36 +415,36 @@ class MessageListFragment : ServiceBoundFragment() { modelHelper.sessionManager.mapSwitchMap(SessionManager::state).distinctUntilChanged()) .toLiveData().observe(this, Observer { (bufferSyncer, state) -> if (state?.orNull() == ConnectionState.CONNECTED) { - runInBackgroundDelayed(16) { - modelHelper.chat.bufferId { bufferId -> - val currentNetwork = bufferSyncer.orNull()?.bufferInfo(bufferId)?.networkId - ?: NetworkId(0) - val currentServerBuffer = bufferSyncer.orNull()?.find( - networkId = currentNetwork, - type = Buffer_Type.of(Buffer_Type.StatusBuffer) - )?.bufferId ?: BufferId(0) - - val filtered = database.filtered().get(accountId, - bufferId, - accountDatabase.accounts().findById(accountId)?.defaultFiltered - ?: 0) - // Try loading messages when switching to isEmpty bufferId - val hasVisibleMessages = database.message().hasVisibleMessages(currentNetwork, - currentServerBuffer, - bufferId, - filtered, - redirectionSettings.userNotices, - redirectionSettings.serverNotices, - redirectionSettings.errors) - if (!hasVisibleMessages) { - if (bufferId.isValidId() && bufferId != BufferId.MAX_VALUE) { - loadMore(initial = true) + runInBackgroundDelayed(16) { + modelHelper.chat.bufferId { bufferId -> + val currentNetwork = bufferSyncer.orNull()?.bufferInfo(bufferId)?.networkId + ?: NetworkId(0) + val currentServerBuffer = bufferSyncer.orNull()?.find( + networkId = currentNetwork, + type = Buffer_Type.of(Buffer_Type.StatusBuffer) + )?.bufferId ?: BufferId(0) + + val filtered = database.filtered().get(accountId, + bufferId, + accountDatabase.accounts().findById(accountId)?.defaultFiltered + ?: 0) + // Try loading messages when switching to isEmpty bufferId + val hasVisibleMessages = database.message().hasVisibleMessages(currentNetwork, + currentServerBuffer, + bufferId, + filtered, + redirectionSettings.userNotices, + redirectionSettings.serverNotices, + redirectionSettings.errors) + if (!hasVisibleMessages) { + if (bufferId.isValidId() && bufferId != BufferId.MAX_VALUE) { + loadMore(initial = true) + } } } } } - } - }) + }) modelHelper.connectedSession.toLiveData().zip(lastMessageId).observe( this, Observer { diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/Network.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/Network.kt index 5550cc132d6dfeaf2ee265622cf8c489c8e2b0b1..ecf59a0d4aea40334f8e36079737baaba14f7a11 100644 --- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/Network.kt +++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/Network.kt @@ -872,7 +872,7 @@ class Network constructor( } private var _myNick: String? = null private var _latency: Int = 0 - set (value) { + set(value) { field = value live_latency.onNext(value) } @@ -883,7 +883,7 @@ class Network constructor( live_networkInfo.onNext(Unit) } private var _currentServer: String = "" - set (value) { + set(value) { field = value live_currentServer.onNext(value) } @@ -902,7 +902,7 @@ class Network constructor( private val live_ircChannels = BehaviorSubject.createDefault(Unit) // stores results from RPL_ISUPPORT private var _supports: MutableMap<String, String?> = mutableMapOf() - set (value) { + set(value) { field = value live_caps.onNext(Unit) } @@ -914,7 +914,7 @@ class Network constructor( * SASL EXTERNAL isn't available. */ private var _caps: MutableMap<String, String?> = mutableMapOf() - set (value) { + set(value) { field = value live_caps.onNext(Unit) } @@ -924,7 +924,7 @@ class Network constructor( * _capsEnabled uses the same values from the <name>=<value> pairs stored in _caps */ private var _capsEnabled: MutableSet<String> = mutableSetOf() - set (value) { + set(value) { field = value live_capsEnabled.onNext(Unit) } diff --git a/lib/src/main/java/de/kuschku/libquassel/util/helper/BehaviorSubjectHelper.kt b/lib/src/main/java/de/kuschku/libquassel/util/helper/BehaviorSubjectHelper.kt index 583d6b2da88bd0546e0fdad350c1635fc7b788b5..4dce835150090c5b0f64ff35a78107ded424d5f7 100644 --- a/lib/src/main/java/de/kuschku/libquassel/util/helper/BehaviorSubjectHelper.kt +++ b/lib/src/main/java/de/kuschku/libquassel/util/helper/BehaviorSubjectHelper.kt @@ -21,5 +21,5 @@ package de.kuschku.libquassel.util.helper import io.reactivex.subjects.BehaviorSubject -val <T : Any> BehaviorSubject<T>.safeValue : T +val <T : Any> BehaviorSubject<T>.safeValue: T get() = value!! diff --git a/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/helper/EditorViewModelHelper.kt b/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/helper/EditorViewModelHelper.kt index 9390ec1c82b3018986e105fa66a6b43aaab81167..4612d39e81bf3347e216b09df3e5e3934dc9326f 100644 --- a/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/helper/EditorViewModelHelper.kt +++ b/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/helper/EditorViewModelHelper.kt @@ -174,11 +174,11 @@ open class EditorViewModelHelper @Inject constructor( processResults( when (lastWord.first.firstOrNull()) { - '/' -> getAliases() - '@' -> getNicks() - '#' -> getBuffers() - ':' -> getEmojis() - else -> getAliases() + getNicks() + getBuffers() + getEmojis() + '/' -> getAliases() + '@' -> getNicks() + '#' -> getBuffers() + ':' -> getEmojis() + else -> getAliases() + getNicks() + getBuffers() + getEmojis() } ) }