Recently I've had the issue to have a completely unsorted Photo Library in Android after migrating to a new phone. The reason is that WhatsApp images are copied into internal storage and end up with the last modification date when they were copied, thus conglomerating together when they should be spread out over time.
The problem is not that trivially to solve because you cannot mount internal storage into a computer and then modify the file dates. Thankfully, I was still able to create a viable solution using a bash script.
It all revolves around the Android Terminal Emulator Termux which allows you to execute scripts on your phone.
- Install
Termux . - Grant Termux access to your storage directories.
- Install core tools apt install
coreutils - Copy this script into your file tree (for example via Android File Transfer):
for f in IMG-20* VID-20* AUD-20*; do
[ -e "$f" ] || continue
NEWDATE=`echo $f | cut -c5-8`-`echo $f | cut -c9-10`-`echo $f | cut -c10-11`
echo touch -d $NEWDATE "$f"
touch -d $NEWDATE "$f"
done
- Run the script in the directories you need to fix file dates (for example in /storage/emulated/0/WhatsApp/Media/WhatsApp Images)
- Delete the data of MediaStorage (and maybe reboot) to make Android re-index the files with the new file dates.