In an attempt to avoid the recent and infamous reboot loops in Android devices, the company has implemented a feature called ‘Rescue Party’ in Android 8.0.
This feature comes into the party when it notices core system components stuck in crash loops. Then the Rescue Party escalates through a series of actions to recover the device. If it doesn’t solve, the Rescue Party reboots the device into recovery mode and prompts the user to perform a factory reset.
Rescue Party is enabled by default in Android 8.0, and the implementation lives in /services/core/java/com/android/server/RescueParty.java.
Rescue Party receives information about boot and crash events and starts if:
- The system_server restarts more than 5 times in 5 minutes.
- A persistent system app crashes more than 5 times in 30 seconds.
During any one of those situations, the Rescue Party escalates to the next level, processes the task associated with it and lets the device proceed to see if it is solved or not.
This Rescue Party doesn’t need any special hardware and once implemented, the device’s recovery system should respond to the –prompt_and_wipe_data command and devices must surface a way for users to confirm any destruction of user data before proceeding.