cleanup a crashed or kill apps calls
The telecom dev rel mentioned flows were not echoing the endpoints
whenever an application was swiped up or killed. When I was trying to
reproduce this issue I noticed the client VoIP application was losing
it's CallControl reference even though the call still existed in the
platform.
Telecom should be cleaning up a clients calls if the app crashes via
a RuntimeException or is killed off by the ActivityManager.
The fix is to set a IBinder.DeathRecipient each time a
TransactionalServiceWrapper is created. This cleans up all the calls
every time the binder dies.
Fixes: 285045481
Test: manual;
- crash test app (w/ calls) via RuntimeException
- kill test app (w/ calls) via adb shell am force-stop packageName
Change-Id: Id6158d77cbaf3dd60557ca5e3aef7858d35868f3
6 files changed