Reduce ServiceWatcher thrashing
ServiceWatcher forced a rebind everytime something about the connected
package changed. This causes a lot of thrashing, as every time a
component in the bound package changes (which happens a lot in Google
Play services for instance), the service was completely rebound. This
was likely initially necessary because there was no way to detect when a
binding failed completely. Current OS versions support onBindingDied()
to detect this case however, so it should no longer be necessary to
rebind everytime anything changes.
Also fixes NPE crash in LocationProviderManager when debug logging is
enabled.
Bug: 163076048
Bug: 164035101
Test: manual
Change-Id: Ida4b8c8774f68d63ab319ed342055ff050e39f95
2 files changed