by Richard Hamlett
1/7/2017: Change time comparison to >= instead of just = in case the user manually locks the screen during the expiration time.
A timed wake lock that sets the screen time out to 30 minutes when activated. Cancel the persistent notification to end early and set the screen timeout back to 30 seconds. When the 30 minute timer expires, a dialog appears that will allow you to extend the wake lock for another 30 minutes.
Useful when using apps that don't require a lot of interaction, like eReaders, puzzle games, etc., but allows the timeout to reset to a very short timeout when the device is not in use. Long screen timeouts can waste a lot of battery if you have background services that wake the device with notifications or toast messages. (Certain root superuser apps in particular.)
Flow uses less than 30 blocks and wake lock/reset times can easily be set by editing a couple of blocks.