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

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

Merge changes from topic "presubmit-am-da4c6b1f3d1848f2b5dcf9ea111fdce2" into tm-mainline-prod

* changes:
  [automerge] Update BroadcastDispatcher docs to say not to call goAsync() 2p: f2606d0f
  Update BroadcastDispatcher docs to say not to call goAsync()
parents c7ef86fa c02a745e
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,