4472fa97800fb20b045f1907372f75d2b37b137e
If the process of a BroacastReceiver is dying at the same time as the system is trying to send an ordered broadcast to the receiver, the system will try to start the process again. The BroadcastQueue will store the BroadcastRecord in mPendingBroadcast to be able to handle it again when the process is awake. A timeout Message is posted to the handler of the BroadcastQueue. As part of the shutdown sequence skipCurrentReceiver is called for the ProcessRecord. This will check if there is a curReceiver set for the application and make sure to finish the receiver. Each of the foreground and background BroadcastQueues have their own handler for managing broadcast timeouts. If the wrong BroadcastQueue finishes the receiver, the pending timeout Message will never be cancelled, leading to an ANR report for a receiver that has already been finished. Change-Id: I960c0d8f1a8b739b54a8f09f496b32a3498b9e9a
am
877ce2c4: Merge "Make sure the bitmap from VD\'s cache is drawn using bi-linear filter." into lmp-dev
am
6a3faf5a: Merge "Fix test framework to allow Mockito tests to run successfully on ART." into lmp-dev
…
Description
No description provided
Languages
Java
73.7%
Kotlin
14%
PowerBuilder
5.8%
C++
5.2%
AIDL
1%