The logic here assumes that the icc id is available after icc info changed, but which may not be true always. To deal with this, we need to keep listening to the icc info changed event until the icc id is actually ready.