File: android-deltas-sync/_etc/bash-version/sync-changes-part2-phone.sh
#################################################################
# Sync Changes, Part 2: run on PHONE, in Termux or other, with:
#
# bash sync-changes-part2-phone.sh
#
# Run this from any folder; it uses paths set in config-phone.txt,
# and finds sourced files in its own folder automatically.
#
# Step runtimes are shown in the console after step completion.
# Step outputs go to files in $L; watch with 'tail -f $L/file'.
#
# See _README.html for license, attribution, and more docs.
#################################################################
mydir=$(dirname "$0") # this script's own folder
source $mydir/config-phone.txt # get settings for scripts run on phone
source $mydir/common.sh # run code common to both PC and phone
# 'to' must exist here
if [ ! -e $T/$STUFF ]; then
echo "The \$T/\$STUFF folder does not exist: $T/$STUFF"
echo 'Exiting; please check the config file and rerun.'
exit
fi
#----------------------------------------------------------------
# 1) Copy deltas zip from proxy to phone with an explorer app
#----------------------------------------------------------------
# Choose your app (but not Termux: POSIX cannot access USB in 11)
echo "Manually copy or move DELTAS.zip"
echo " from the root of the USB drive"
echo " to $F"
echo 'using any Android file-explorer app with suitable storage permissions.'
read -p 'Press enter/return here when the copy is finished...'
# did the copy work?
if [ ! -e $F/DELTAS.zip ]; then
echo 'Deltas zip not found; please rerun this script to try again.'
exit
fi
#----------------------------------------------------------------
# 2) Unzip deltas on phone with [zip-extract.py] in Termux
#----------------------------------------------------------------
announce 'Unzipping deltas on phone'
time python3 $Z/zip-extract.py $F/DELTAS.zip $F -permissions \
> $L/$stamp--sync-1-unzip-deltas-log.txt
#----------------------------------------------------------------
# 3) Apply deltas to phone with [mergeall.py -restore] in Termux
#----------------------------------------------------------------
announce 'Applying deltas to phone'
time python3 $M/mergeall.py $F/DELTAS $T/$STUFF -restore -auto -skipcruft -backup -quiet \
> $L/$stamp--sync-2-apply-deltas-log.txt
#----------------------------------------------------------------
# 4) Cleanup deltas zip and folder on phone in Termux
#----------------------------------------------------------------
printf '\nRemoving deltas folder from phone\n'
time rm -rf $F/DELTAS
# on-phone zip; user may have copied or moved the proxy zip, but can't check here
printf '\nRemoving deltas zip from phone (remove manually from proxy as needed)\n'
time rm $F/DELTAS.zip
#----------------------------------------------------------------
# Configurable: hook for custom post-propagate steps
#----------------------------------------------------------------
bash $mydir/z-postcopy-hook-phone.sh
printf "\nFinished: see logs in $L.\n"