Update special_format column value on IdleMaintenance

Special format detection is a computationally expensive job especially
if it has to be run for all the existing images on a device after db
upgrade (which adds the new special format column).
Run this on idle maintenance for MediaProvider stability.
* This may lead to a delay in special format tagging in PhotoPicker UI,
but that is preferred over the user having a bad user experience due
to all images being scanned when the device is not ready.
* Triggering an unbound background job affects the device adversely.
There may still be scope for a lag in PhotoPicker UI showing special
format tags, as the device may take a couple of hours to finish this
unbound special format detection (depends on the number of images).

Bug: 202396821
Test: atest IdleServiceTest
Test: atest DatabaseHelperTest
Change-Id: Ie351d1f1959004cbafe50a8a6281d56c888fe96d
Merged-In: Ie351d1f1959004cbafe50a8a6281d56c888fe96d
(cherry picked from commit b54cb9653750f29205ec309357a51e650a583e6e)
5 files changed