diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/buffers/BufferViewConfigFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/buffers/BufferViewConfigFragment.kt index f7ef6bd6c67be9060580569525141a3079c79db6..a6ab816a4cc465f52bf2d7ea518169ee96a90b69 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/buffers/BufferViewConfigFragment.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/buffers/BufferViewConfigFragment.kt @@ -47,10 +47,7 @@ import de.kuschku.quasseldroid.settings.MessageSettings import de.kuschku.quasseldroid.ui.coresettings.network.NetworkEditActivity import de.kuschku.quasseldroid.util.ColorContext import de.kuschku.quasseldroid.util.avatars.AvatarHelper -import de.kuschku.quasseldroid.util.helper.combineLatest -import de.kuschku.quasseldroid.util.helper.styledAttributes -import de.kuschku.quasseldroid.util.helper.toLiveData -import de.kuschku.quasseldroid.util.helper.zip +import de.kuschku.quasseldroid.util.helper.* import de.kuschku.quasseldroid.util.irc.format.IrcFormatDeserializer import de.kuschku.quasseldroid.util.service.ServiceBoundFragment import de.kuschku.quasseldroid.viewmodel.data.BufferHiddenState @@ -269,10 +266,11 @@ class BufferViewConfigFragment : ServiceBoundFragment() { combineLatest(viewModel.bufferListThrottled, viewModel.expandedNetworks, - viewModel.selectedBuffer) - .toLiveData().zip(database.filtered().listen(accountId), - accountDatabase.accounts().listen(accountId)) - .observe(this, Observer { it -> + viewModel.selectedBuffer).toLiveData().switchMapNotNull { a -> + database.filtered().listen(accountId).zip(accountDatabase.accounts().listen(accountId)).map { (b, c) -> + Triple(a, b, c) + } + }.observe(this, Observer { it -> it?.let { (data, activityList, account) -> runInBackground { val (info, expandedNetworks, selected) = data diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/service/ServiceBoundFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/util/service/ServiceBoundFragment.kt index 86f0c7630bda885661de710698a672894ee9342e..fb4d423630fdc77643f9ca4b4c455137129d95fd 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/util/service/ServiceBoundFragment.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/util/service/ServiceBoundFragment.kt @@ -60,6 +60,12 @@ abstract class ServiceBoundFragment : DaggerFragment() { super.onCreate(savedInstanceState) } + override fun onStart() { + super.onStart() + accountId = context?.getSharedPreferences(Keys.Status.NAME, Context.MODE_PRIVATE) + ?.getLong(Keys.Status.selectedAccount, -1) ?: -1 + } + override fun onDestroy() { lifecycle.removeObserver(connection) super.onDestroy()