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 f1c23c4ffb64792c0ff147d4715a74a65107415f..cc52089d3702bcd205a59f358b382cf7aa8bc021 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 @@ -126,7 +126,7 @@ class BufferViewConfigFragment : ServiceBoundFragment() { } R.id.action_unhide -> { bufferSyncer?.let { - bufferViewConfig?.orNull()?.requestAddBuffer(info, bufferSyncer) + bufferViewConfig?.orNull()?.insertBufferSorted(info, bufferSyncer) } true } diff --git a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/BufferViewConfig.kt b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/BufferViewConfig.kt index 5296f71be1e492740cd87e67edcbc264487f9527..1cee19a4808883b14c8cec7405852036a79840ce 100644 --- a/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/BufferViewConfig.kt +++ b/lib/src/main/java/de/kuschku/libquassel/quassel/syncables/BufferViewConfig.kt @@ -6,6 +6,7 @@ import de.kuschku.libquassel.protocol.Type import de.kuschku.libquassel.quassel.BufferInfo import de.kuschku.libquassel.quassel.syncables.interfaces.IBufferViewConfig import de.kuschku.libquassel.session.SignalProxy +import de.kuschku.libquassel.util.flag.hasFlag import io.reactivex.Observable import io.reactivex.subjects.BehaviorSubject @@ -297,7 +298,7 @@ class BufferViewConfig constructor( (a?.bufferViewName() ?: "").compareTo((b?.bufferViewName() ?: ""), true) } - fun requestAddBuffer(info: BufferInfo, bufferSyncer: BufferSyncer) { + fun insertBufferSorted(info: BufferInfo, bufferSyncer: BufferSyncer) { if (!_buffers.contains(info.bufferId)) { val position = if (_sortAlphabetically) { val sortedBuffers = _buffers.mapNotNull { bufferSyncer.bufferInfo(it)?.bufferName } @@ -313,8 +314,9 @@ class BufferViewConfig constructor( if (_addNewBuffersAutomatically && !_buffers.contains(info.bufferId) && !_temporarilyRemovedBuffers.contains(info.bufferId) && - !_removedBuffers.contains(info.bufferId)) { - requestAddBuffer(info, bufferSyncer) + !_removedBuffers.contains(info.bufferId) && + !info.type.hasFlag(Buffer_Type.StatusBuffer)) { + insertBufferSorted(info, bufferSyncer) } } }