20
11. Possible device interruptions during Full OTA package:
While a Full OTA Package is installed via AB mode in background, user of the deice will be able to use the
device. Thus, device might be put to various states which can interrupt the ongoing OS Update. Device
states which can interrupt the OS Update are,
1. Low Battery condition. If Battery falls below 30% capacity, ongoing OS Update will be
interrupted and resumed only after connecting to a battery source.
2. Device can be shutdown, enter critical battery state, media ejected (external SDCard), or low
Storage in userdata partition (<200MB). In all the above scenarios, ongoing OS Update will be
cancelled.
3. If device is rebooted in middle of a OS Update operation, the ongoing job will be suspended. On
reboot of device, OS Update job will be resumed and completed.
None of these device conditions will impact while applying OTA diff package as device will reboot to
recovery mode for applying it.
12. AB Fallback mechanism
In Android AB system if an OTA fails to apply (for example, because of a bad flash), the user will not be
affected. The user will continue to run the old OS (existing OS image), and the customer can re-attempt
the update.
If an OTA update is applied but fails to boot, the device will reboot back (fallback) into the old/existing
OS image and device remains usable. This allows our customer to re-attempt the update.
13. Rescue Party Mode
Sometimes devices can end up in reboot loops, which cause customers to file support tickets or
warranty inquiries. This process is frustrating for customers and expensive.
SDM660 O includes a feature that sends out a "rescue party" when it notices core system components
stuck in crash loops. Rescue Party then escalates through a series of actions to recover the device. As a
last resort, Rescue Party reboots the device into recovery mode and prompts the user to perform a
factory reset.
14. Recovery logs
User can pull last recovery logs from /data/tmp/public/recovery via adb command.
adb pull /data/tmp/public/recovery
Last 10 Recovery logs are saved under this folder for debug purposes.