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

Commit f2606d0f authored by Matt Casey's avatar Matt Casey
Browse files

Update BroadcastDispatcher docs to say not to call goAsync()

Shouldn't be needed within sysui as we're not worried about the process
being killed.

Change-Id: I14977770123c9b41fec1ac556a539cb8f09b9f2b
parent 27df8ca3
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,