title: consumeAsFlow causes app to crash on configuration change
body: <p>I have an activity which loads a list usign paging 3.</p>
  <p>I use a channel to emit search text and then consume it as flow to apply transformations to get a flow of List of items</p>
  <p>when the app under goes a configuration change I get the following error</p>
  <pre><code>ReceiveChannel.consumeAsFlow can be collected just once
  </code></pre>
  <p>Here is my psuedo code</p>
  <pre class="lang-kotlin prettyprint-override"><code>fun onCreate() {
     lifecycleScope.launch {
              viewModel.skuList.collectLatest {
                  adapter.submitData(it)
              }
     }
  }
  </code></pre>
  <p>In viewModel</p>
  <pre class="lang-kotlin prettyprint-override"><code>val skuList = _searchChannel.consumeAsFlow().flatMapLatest {
          skuRepository.fetchSku(it.activeOrderId, it.supplierId,
              it.name, it.fetchDiscounted, it.skuCategoryIdCombinedText)
          }
      }
  
  
  </code></pre>
  <pre><code>Fatal Exception: java.lang.IllegalStateException: ReceiveChannel.consumeAsFlow can be collected just once
         at kotlinx.coroutines.flow.ChannelAsFlow.markConsumed(Channels.kt:130)
         at kotlinx.coroutines.flow.ChannelAsFlow.collect(Channels.kt:153)
         at kotlinx.coroutines.flow.internal.ChannelFlowTransformLatest$flowCollect$3.invokeSuspend(Merge.kt:101)
         at kotlinx.coroutines.flow.internal.ChannelFlowTransformLatest$flowCollect$3.invoke(:8)
         at kotlinx.coroutines.flow.internal.ChannelFlowTransformLatest$flowCollect$3.invoke(:4)
         at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:89)
         at kotlinx.coroutines.flow.internal.FlowCoroutineKt.flowScope(FlowCoroutine.kt:33)
         at kotlinx.coroutines.flow.internal.ChannelFlowTransformLatest.flowCollect(Merge.kt:25)
         at kotlinx.coroutines.flow.internal.ChannelFlowOperator.collectTo$suspendImpl(ChannelFlow.kt:157)
         at kotlinx.coroutines.flow.internal.ChannelFlowOperator.collectTo()
         at kotlinx.coroutines.flow.internal.ChannelFlow$collectToFun$1.invokeSuspend(ChannelFlow.kt:60)
         at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
         at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
         at kotlinx.coroutines.EventLoop.processUnconfinedEvent(EventLoop.common.kt:69)
         at kotlinx.coroutines.internal.DispatchedContinuationKt.resumeCancellableWith(DispatchedContinuation.kt:375)
         at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable(Cancellable.kt:30)
         at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable$default(Cancellable.kt:25)
         at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:110)
         at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:126)
         at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:56)
         at kotlinx.coroutines.BuildersKt.launch(:1)
         at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch$default(Builders.common.kt:47)
         at kotlinx.coroutines.BuildersKt.launch$default(:1)
         at com.awantunai.app.home.cart.ordering.add_to_cart.AddToCartV2Activity.setupRecyclerView(AddToCartV2Activity.kt:272)
         at com.awantunai.app.home.cart.ordering.add_to_cart.AddToCartV2Activity.initViews(AddToCartV2Activity.kt:207)
         at com.awantunai.app.home.cart.ordering.add_to_cart.AddToCartV2Activity.onCreate(AddToCartV2Activity.kt:105)
         at android.app.Activity.performCreate(Activity.java:8054)
         at android.app.Activity.performCreate(Activity.java:8034)
         at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1341)
         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3688)
         at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3864)
         at android.app.ActivityThread.handleRelaunchActivityInner(ActivityThread.java:5811)
         at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:5703)
         at android.app.servertransaction.ActivityRelaunchItem.execute(ActivityRelaunchItem.java:71)
         at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45)
         at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
         at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2253)
         at android.os.Handler.dispatchMessage(Handler.java:106)
         at android.os.Looper.loopOnce(Looper.java:201)
         at android.os.Looper.loop(Looper.java:288)
         at android.app.ActivityThread.main(ActivityThread.java:7870)
         at java.lang.reflect.Method.invoke(Method.java)
         at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
  </code></pre>