Add infinitely deferred broadcasts.
- Adds a flag that prevents a broadcast from being delivered to a cached app until that app is no longer cached. - As of this CL, this flag is only honored for unordered broadcasts to runtime receivers. Ordered broadcasts, alarm/interactive broadcasts, and manifest broadcasts are never deferred. - This CL prevents the modern queue from cold starting processes for manifest receivers that would not be eligible to receive a particular broadcast, as in the case of USER_PRESENT. - Unordered broadcasts with a completion callback (ie, resultTo broadcasts) are always marked as infinitely-deferred. resultTo broadcasts must still be dispatched only to runtime receivers or manifest receivers that disallow process starts in order to be deferred. - This CL marks various BATTERY_CHANGED-esque broadcasts as infinitely deferred. - This CL marks SCREEN_ON and SCREEN_OFF broadcasts as infinitely deferred. - This CL marks USER_PRESENT broadcasts are infinitely deferred. Test: atest BroadcastDeliveryGroupTest Test: atest BroadcastQueueModernImplTest Test: atest BroadcastQueueTest Bug: 261065790 Bug: 263141882 Bug: 263143790 Change-Id: I9a356c8701d73f5687831fbe5b699e4485f07dd5
Loading
Please register or sign in to comment