Ensure that finishBroadcast is called in broadcastCallbacks

* An unexpected (runtime) exception during a callback left the
  broadcast unfinished, leading to a fatal exception
* Ensure that we always call finishBroadcast()
* Catch RuntimeException in a broadcast call, so that other calls
  can be executed
* Addresses one of two issues in the referenced bug

Bug: 3142618
Change-Id: I77166bf927560681a2b189906cd687a6e3585223
1 file changed