#!/data/data/com.termux/files/usr/bin/bash

FILE=/storage/F6B8-70DC/System/wswap/newactive

if test -f "$FILE"; then

  echo "============================="
  echo "= WhatsApp Account Switcher ="
  echo "============================="
  echo
  echo " Switching to old number..."
  echo
  echo "  - Disabling connections"
  tsu -c "settings put global airplane_mode_on 1 > /dev/null 2>&1"
  tsu -c "am broadcast -a android.intent.action.AIRPLANE_MODE > /dev/null 2>&1"
  echo "  - Killing WhatsApp"
  tsu -c "kill $(ps -A | grep 'com.whatsapp' | awk '{print $1}') > /dev/null 2>&1"
  sleep 3
  tsu -c "kill $(ps -A | grep 'com.whatsapp' | awk '{print $1}') > /dev/null 2>&1"
  echo "  - Backing up new databases"
  tsu -c "rm -rf /storage/emulated/0/Android/data/com.whatsapp && rm /storage/F6B8-70DC/System/wswap/new.tar.gz && tar -zcf /storage/F6B8-70DC/System/wswap/new.tar.gz /data/data/com.whatsapp > /dev/null 2>&1"
  echo "  - Switching to old databases"
  tsu -c "pm clear com.whatsapp > /dev/null 2>&1 && tar -zxf /storage/F6B8-70DC/System/wswap/old.tar.gz -C / > /dev/null 2>&1"
  echo "  - Switching to old media storage cache"
  tsu -c "mv /storage/emulated/0/WhatsApp /storage/emulated/0/WhatsApp.NEW > /dev/null 2>&1 && mv /storage/emulated/0/WhatsApp.OLD /storage/emulated/0/WhatsApp > /dev/null 2>&1"
  echo "  - Setting old WhatsApp as active"
  tsu -c "rm /storage/F6B8-70DC/System/wswap/newactive"
  tsu -c "kill $(ps -A | grep 'com.whatsapp' | awk '{print $1}') > /dev/null 2>&1"
  sleep 3
  tsu -c "kill $(ps -A | grep 'com.whatsapp' | awk '{print $1}') > /dev/null 2>&1"
  tsu -c "pkill -TERM -f com.android.systemui; am startservice --user 0 -n com.android.systemui/.SystemUIService > /dev/null 2>&1"
  echo "  - Enabling connections"
  tsu -c "settings put global airplane_mode_on 0"
  tsu -c "am broadcast -a android.intent.action.AIRPLANE_MODE"
  echo
  echo " Old WhatsApp is now active."

else

  echo "============================="
  echo "= WhatsApp Account Switcher ="
  echo "============================="
  echo
  echo " Switching to new number..."
  echo
  echo "  - Disabling connections"
  tsu -c "settings put global airplane_mode_on 1 > /dev/null 2>&1"
  tsu -c "am broadcast -a android.intent.action.AIRPLANE_MODE > /dev/null 2>&1"
  echo "  - Killing WhatsApp"
  tsu -c "kill $(ps -A | grep 'com.whatsapp' | awk '{print $1}') > /dev/null 2>&1"
  sleep 3
  tsu -c "kill $(ps -A | grep 'com.whatsapp' | awk '{print $1}') > /dev/null 2>&1"
  echo "  - Backing up old databases"
  tsu -c "rm -rf /storage/emulated/0/Android/data/com.whatsapp && rm /storage/F6B8-70DC/System/wswap/old.tar.gz && tar -zcf /storage/F6B8-70DC/System/wswap/old.tar.gz /data/data/com.whatsapp > /dev/null 2>&1"
  echo "  - Switching to new databases"
  tsu -c "pm clear com.whatsapp > /dev/null 2>&1 && tar -zxf /storage/F6B8-70DC/System/wswap/new.tar.gz -C / > /dev/null 2>&1"
  echo "  - Switching to new media storage cache"
  tsu -c "mv /storage/emulated/0/WhatsApp /storage/emulated/0/WhatsApp.OLD > /dev/null 2>&1 && mv /storage/emulated/0/WhatsApp.NEW /storage/emulated/0/WhatsApp > /dev/null 2>&1"
  echo "  - Setting new WhatsApp as active"
  tsu -c "touch /storage/F6B8-70DC/System/wswap/newactive"
  tsu -c "kill $(ps -A | grep 'com.whatsapp' | awk '{print $1}') > /dev/null 2>&1"
  sleep 3
  tsu -c "kill $(ps -A | grep 'com.whatsapp' | awk '{print $1}') > /dev/null 2>&1"
  tsu -c "pkill -TERM -f com.android.systemui; am startservice --user 0 -n com.android.systemui/.SystemUIService > /dev/null 2>&1"
  echo "  - Enabling connections"
  tsu -c "settings put global airplane_mode_on 0 > /dev/null 2>&1"
  tsu -c "am broadcast -a android.intent.action.AIRPLANE_MODE > /dev/null 2>&1"
  echo
  echo " New WhatsApp is now active."

fi
