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

Skip to content
Commit 4a556d71 authored by Rambo Wang's avatar Rambo Wang
Browse files

Make carrier service persistent binding more robust

The change introduces an additional checkpoint to make sure
carrier service binding is connected whenever carrier package
has changed to non-null.

When carrier service package (e.g. Google Fi) gets upgraded e.g.
through PlayStore, the persistent binding from telephony to the
carrier service may get released. A rebinding may not perform until
a new trigger event occurs later (e.g. SIM state change, user
unlock or other package installation).

The root cause comes from the race condition when both
CarrierServiceBindHelper and CarrierPrivilegesTracker handle the
package change events. When CSBH firstly received the events and
tried to get current carrier package to rebind, the carrier package
in CPT may not be updated yet, causing the rebinding fail.

To fix the issue, CarrierPrivilegesCallback is introduced into
CSBH which can rebind when reliably knowing carrier package has
been updated.

Bug: 232461097
Test: atest CarrierServiceBindHelperTest
Test: go/carrier-service-binding-sanity
Test: Sanity test on telephony(voice, sms, data connection...)

Merged-In: I09313571239da6a017a02b22aba247c94b45a35d
Change-Id: I09313571239da6a017a02b22aba247c94b45a35d
(cherry picked from commit 9e73af69)
parent 11341cac
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