{"push_id":574643524,"size":1,"distinct_size":1,"ref":"refs/heads/lp5.0","head":"99ab318d6d189e65ec9c2991ef9f781cf43f83db","before":"883b3a98f72c3d853ca978e0b1b06462478b0e44","commits":[{"sha":"99ab318d6d189e65ec9c2991ef9f781cf43f83db","author":{"email":"b7a82f4a366e561905cdc83b7ae597d96aa7c308@sonymobile.com","name":"Kenji Sugimoto"},"message":"Prevent ANR when broadcast receiver is killed\n\nIf the process of a BroacastReceiver is dying at the same time\nas the system is trying to send an ordered broadcast to the\nreceiver, the system will try to start the process again. The\nBroadcastQueue will store the BroadcastRecord in mPendingBroadcast\nto be able to handle it again when the process is awake. A\ntimeout Message is posted to the handler of the BroadcastQueue.\n\nAs part of the shutdown sequence skipCurrentReceiver is called for\nthe ProcessRecord. This will check if there is a curReceiver set\nfor the application and make sure to finish the receiver.\n\nEach of the foreground and background BroadcastQueues have their\nown handler for managing broadcast timeouts. If the wrong\nBroadcastQueue finishes the receiver, the pending timeout Message\nwill never be cancelled, leading to an ANR report for a receiver\nthat has already been finished.\n\nChange-Id: I960c0d8f1a8b739b54a8f09f496b32a3498b9e9a","distinct":true,"url":"https://api.github.com/repos/zombi-x-lp/android_frameworks_base/commits/99ab318d6d189e65ec9c2991ef9f781cf43f83db"}]}