Update fgs time limit reset logic.
Instead of strictly waiting until the user launches the app after a time
limit is exhaused, infer the app being in the TOP state as a signal for
when the time limit should occur from. This will ensure subsequent
user-initiated fgs starts allow the fgs to run for the entire time
limit.
Also update all timestamps to use the uptime base instead of realtime.
This makes all FGS tracking using the same time base and ensures apps
are not penalized for runtime when the CPU is asleep.
Bug: 330399444
Test: atest CtsFgsTimeoutTestsCases
Change-Id: I288f65b0943ddb1898851bb333f0d4e6a41b2fdb
2 files changed