Revisit the lifetime of the RebootEscrowProvider
Currently the RebootEscrowProvider is created as part of the boot
process, when device tries to restore the escrow data. This will
fail the first RoR boot attempt after we switch from HAL based
-> server based. So revisit the logic to reduce the time for
RebootEscrowManager to hold the provider in RAM.
Now we attempt to create a new provider object when
1. new RoR preparation request
2. load / restore escrow data (after reboot)
3. clear rebootescrow, as we want to clear provider's internal data
4. lskf capture
We reuse the old provider in memory when
1. arm reboot escrow, right before reboot (we don't switch the provider
after lskf is captured)
we clear the provider in memory when
1. after clear rebootescrow, so new RoR request can create a new one
2. after we finish restoring escrow data
Bug: 184676743
Test: unittest, cts test
Change-Id: I2109cbe69f0ebba766aabf30feb141053496354f
2 files changed