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. 5. Do not send Radio Power Off on SIM_RESET This change is needed as per GCF test spec CRs-Fixed: 441924 CRs-Fixed: 503646 Conflicts: src/java/com/android/internal/telephony/uicc/UiccController.java Change-Id: I58b1237a49d4f943a699d751a8680c25ce4394ad
Loading
Please register or sign in to comment