Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit 58482c55 authored by Jeff Sharkey's avatar Jeff Sharkey
Browse files

Make ServiceWatcher encryption-aware.

This utility class automates the process of binding to the best
matching service, including rebinding as packages change over time.

This design means it's easy to become encryption-aware: we use the
default PackageManager behavior that filters components based on
their encryption-aware status, and we just kick off another
evaluation pass once the user is unlocked.

This change cleans up some of the internal logic so we only rebind
when the implementation switches, and it fixes several bugs along
the way.  For example, we would never trigger a rebind if a service
was refactored to a different ComponentName.  Another subtle bug was
that we'd never fallback to an older implementation if a higher
version was uninstalled/disabled.  And finally, if all implementations
were uninstalled/disabled, we'd leave the last connection bound.

Bug: 26280056
Change-Id: I259af78e6564d61353a772ac03cf5799a398d535
parent b251a2f5
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment