Handling Flow completion
In this section, we will explore how to handle Flow completion. We can add code to perform additional tasks after our Flows have completed.
When the Flow encounters an exception, it will be canceled and complete the Flow. A Flow is also completed when the last element of the Flow has been emitted.
To add a listener in your Flow when it has completed, you can use the onCompletion
operator and add the code block that will be run when the Flow completes. A common usage of onCompletion
is hiding the ProgressBar in your UI when the Flow has completed, as shown in the following code:
class MainActivity : AppCompatActivity() {
...
override fun onCreate(savedInstanceState: Bundle?) {
...
lifecycleScope.launch {
repeatOnLifecycle(Lifecycle.State.STARTED) {
...