3f5f83b54f
Previously it was possible to get an inconsistent state because there were two paths that updated the lock screen sim state. This reworks the data flow to ensure the same path is always used to update the state. KeyguardUpdateMonitor now correctly updates the entire state of the callee whenever a new callback is registered. In addition, KeyguardUpdateMonitor now caches the phone state in order to avoid a round-trip binder call in updateEmergencyCallButtonState(). This avoids a condition that could make lockscreen unresponsive while updating the emergency call button state. KeyguardStatusViewManager also ensures the TransportControlView is hidden when created to ensure we don't inappropriately update the carrier line while waiting for the first callbacks to update the status lines. Change-Id: I6b3975b703a7d90bac8d0fe29fbc0f1d9c5e0e7d