Никакого не имееет. Вопрос был в том, как менять логику внутри Flow.
Я в итоге сдалал ConflatedBroadcastChannel, и посылаю в него сообщение, когда пользователь сделал определенное действие.
А внутри Flow который эммитит основной поток данных я сделал combine(сonflatedBroadcastChannel.asFlow()) и меняю там логику.
Все работает нормально, пока в оригинальном потоке не становится очень много данных, и собщение из канала просто перестает доходить, видимо так как диспатчер перегружен.
Я не понял, что означает менять логику внутри Flow. Есть map, если надо один в один отображать, если надо делать какие-то более сложные штуки, есть collect{}