Attempt to reload providers when selected provider is available but unloaded

A more minor race may still be present, but this fix should
reduce incidence of the issue and be safer than reorganizing
the multithreading in verifyLoadedProviders. A subsequent
change will address that more directly.

Bug: 300671811
Test: Manually forced and checked race condition
Change-Id: I5258dddd50b9c89f28340254c53bc1839351e28e
2 files changed