Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit d36e3ab3 authored by Mohannad Farrag's avatar Mohannad Farrag Committed by Lorenzo Colitti
Browse files

Preload HttpEngine into the Zygote via an API

In order to speed-up the initialization of HttpEngine, we plan to
preload HttpEngine and all of its components into the Zygote. Currently
the plan is to preload the Impl classes and the shared library but
the current implementation only preload a single impl.

The new API is protected behind a flag and should be gradually
rolled out to ensure that we don't mess with the system health
metrics by enrolling HttpEngine into the Zygote. It's important to
note that HttpEngine's other version (Cronet) is extensively used
by a lot of apps and this would be a net positive for the entire
ecosystem.

Unfortunately, using exported flags in this case is impossible because
ZygoteInit happens before the DeviceConfig has initialized which means
that we have to link the same flag twice, once into tethering and
another into platform. The consequence here is that calling
`HttpEngine.preload()` can lead to NoSuchMethodError even if the flag
condition is enabled. This is protected by catching the exception and
logging it.

Bug: 380349437
Change-Id: I00fb4f751f41ee9459c55e76d58690d7ca4f0b30
parent 2b9fc5c1
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment