[Zenfone 5 Android Development] Sukarn:
A few notes about the OTA app. Please read this, for your own sake.

You must manually open and run the app called RR OTA. It does not check for updates unless you tell it to do that. RR's Settings > Configurations > Updates can check for updates and tell you when an update is available, if you want automatic notification of new builds.

You must set your device in the app. The app is made for multiple devices, not only Zenfone 5, and there's no way for tank to pre-set your device in it.

The app supports automatic downloading of latest Open GApps package, or you can set a custom gapps zip file, or you can turn off gapps flashing. Automatic gapps downloading feature is with permission from Open GApps up to 20170515. It will automatically stop working after that date.

The app also supports adding up to 8 add-on zip files that will be flashed with every update.

There is also an option to make a nandroid backup in twrp before flashing starts.

Battery must be at least 40% to start the process, but I recommend having your phone connected to a charger.

At this time, the app does not support external storage. I've been working with tank to fix this, but no luck so far, as the app just cannot see /sdcard1 for some unknown reason. I need an alternate path to external storage to get that working.

So, you need enough free space in your internal storage to download the ROM and GApps, and all your add-ons must be in the internal storage.

Downloaded files are kept in internal storage > RR_OTA > ResurrectionRemix and gapps folders. These files are NOT deleted automatically, in case you want to manually flash from a zip.

Order of flashing is:

- download ROM, check md5

- download gapps , check md5 (if selected)

- wait for screen to be off, if screen is on

- reboot to twrp

- nandroid backup (if selected)

- flash ROM update

- flash Addons in the order in which they're listed by you in the app's settings (if any)

- flash gapps (if any)

- wipe cache and dalvik-cache

- reboot to system

If your screen is on when downloads are done, you'll get a notification that it's waiting for your screen to turn off. From the notification, you can:

- cancel flashing and run the app again later. Downloaded files will not be deleted, so you can run the app later and it will continue where it left off.

- set a delay of up to 120 minutes where the app will not reboot to recovery during that delay, even if your screen is off. This is so that the app does not interfere if you're doing something and want to turn your screen off but don't want to flash the update yet.

- if you set a delay of 0 minutes, the app will reboot to recovery without waiting for screen to be turned off. This is there in case you're feeling impatient.

- the delay can be changed as many times as you want. So if you delay it for 50 minutes, then 30 minutes later you set a delay of 120 minutes, it will wait for 120 minutes from the time when you set a new delay.

- screen still needs to be off and battery still needs to be at least 40% even after the delay has finished, so it won't interrupt anything you're doing even if the delay time runs out.

-----------

The first time you run it, it doesn't know what build you're running, so it will automatically download and flash the latest build, even if you're already running the latest build. You can prevent this from happening by doing one of these:

- run the app for the first time when you know there is a new build available; or

- open the app once, tap on "Exit", then copy the full name of the zip file of your build, open the file "Internal Storage > RR_OTA > config" in a text editor, and paste the full name of the zip file after "rom:" without any space, like this:

rom:ResurrectionRemix-M-v5.6.7-20160421-bacon.zip

If you do this, the app will know which build you're already running, so it won't download and flash that one but will check for a newer build instead.

You don't NEED to do this as long as your first use is only after a newer build has been uploaded.