Clean up Icc Refresh handling.
1. When a SIM refresh is received of type INIT or RESET, don't immediately start re-fetching the records, because the app might not be ready. In this case, we could end up broadcasting that all records are loaded pre-maturely. On a refresh of the above type, the app will move out of the ready state and back into the PIN state, if PIN is enabled. Start reading the records only after the PIN has been verified and the app has moved to the READY state. 2. UiccController will listen for refresh and propagate it to the Card and the Apps. The App will set its state to UNKNOWN on receiving a refresh. UiccController will also request card status on receiving refresh to get the latest state. This avoids having to make assumptions on the ordering of the Unsols for Sim Refresh and card state changes. This also ensures that after an app state is marked UNKNOWN, it will move to READY, if it is truly ready. 3. Moved common implementation for refresh into IccRecords for better code reuse. 4. Side effect of #3 is RuimRecords will now reset AdnCache when refresh of type INIT is received. Change-Id: I58b1237a49d4f943a699d751a8680c25ce4394ad CRs-Fixed: 503646 (cherry picked from commit 6000bfc07122c07f7b8f075f272fdf1e384032e6) (cherry picked from commit 5a1abe073cb648a8772bcfa2d5fdee88070e4b8b) (cherry picked from commit 12a9a344eb49498b44ddb0e4f1c8126c6507b56e)
Loading
Please register or sign in to comment