persist.sys.boot.reason is cleared once read by bootstat

To ensure a surprise reboot does not take the last boot reason on
face value especially if coming from more than one boot sessions ago.
We shift and clear the value from persist.sys.boot.reason to
sys.boot.reason.last and establish a correct last reboot reason in
the canonical sys.boot.reason property.  As a result, the power
manager should read the canonical sys.boot.reason for a definitive
result rather than relying on the possibly incorrect values in the
persistent storage.

The value in sys.boot.reason is not valid until bootstat has
signaled boot complete.

Test: compile
Bug: 86671991
Bug: 63736262
Change-Id: I80b3602821678f0cececf28b727c06135bf94960
1 file changed