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...) Change-Id: I09313571239da6a017a02b22aba247c94b45a35d
Loading
Please register or sign in to comment