Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2c0cd3c6 authored by Matt Casey's avatar Matt Casey Committed by Android (Google) Code Review
Browse files

Merge "Update BroadcastDispatcher docs to say not to call goAsync()" into tm-dev

parents 0fe99625 f2606d0f
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ The dispatcher supports `BroadcastReceiver` dynamic subscriptions in the followi
* The `IntentFilter` may or may not contain categories.
* The `IntentFilter` **does not** contain data types, data schemes, data authorities or data paths.
* The broadcast **is not** gated behind a permission.
* The broadcast **is not** ordered and doesn't need to set result data.

Additionally, the dispatcher supports the following:

@@ -107,3 +108,8 @@ fun unregisterReceiverForUser(BroadcastReceiver, UserHandle)
```

Unregistering can be done even if the `BroadcastReceiver` has never been registered with `BroadcastDispatcher`. In that case, it is a No-Op.

### A note on goAsync()

If you're processing a broadcast in a background thread, you shouldn't call `goAsync()` and
`finish()`. The system will keep sysui alive regardless, so it isn't needed.
+2 −0
Original line number Diff line number Diff line
@@ -60,6 +60,8 @@ private const val DEBUG = true
 * Use only for IntentFilters with actions and optionally categories. It does not support,
 * permissions, schemes, data types, data authorities or priority different than 0.
 * Cannot be used for getting sticky broadcasts (either as return of registering or as re-delivery).
 * Broadcast handling may be asynchronous *without* calling goAsync(), as it's running within sysui
 * and doesn't need to worry about being killed.
 */
open class BroadcastDispatcher constructor (
    private val context: Context,