If ensureInitialized() fails the first time, the second
call to it will do nothing and return without error like it is already initialized. As the result, if a client builds a second Cronet engine, the ensureInitialized() will succeed but the engine fail when the first native call is made; thus masking the root cause of the failure.
We should make sure that if the previous initialization attempts failed, the next attempts should retry and return to the client the real error instead of behaving like the initialization already happened successfully.
Comment 1 by bugdroid1@chromium.org
, Feb 28 2017