summaryrefslogtreecommitdiff
path: root/scriptlets/adbor.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scriptlets/adbor.sh')
-rwxr-xr-xscriptlets/adbor.sh49
1 files changed, 49 insertions, 0 deletions
diff --git a/scriptlets/adbor.sh b/scriptlets/adbor.sh
new file mode 100755
index 0000000..ed060f8
--- /dev/null
+++ b/scriptlets/adbor.sh
@@ -0,0 +1,49 @@
+#!/bin/bash
+
+# if not this, keep prompting in loop
+# adb devices | grep device$
+
+MODE="$1"
+
+[[ ! $( echo "$MODE" | grep -e "^add$" -e "^remove$" ) ]] && echo -e "usage: $0 add/remove" && exit -3
+
+while ! adb devices | grep -iq "device$" ; do
+
+ echo "No authorized devices found."
+ for i in {1..5}; do
+ echo "Recheck in ${i}..."
+ sleep 1
+ done
+done
+
+DEVICE="$( adb devices | grep -i device$ | awk '{print $1}' | fzf -1 --prompt "Device: " )"
+[[ -z "$DEVICE" ]] && echo "No device selected. Exiting." && exit 0
+
+if echo "$MODE" | grep -iqF "remove" ; then
+
+ PACKAGE=$( adb -s "${DEVICE}" shell "pm list packages" | sed -r "s|^package:||" | fzf --prompt "[Device: ${DEVICE}] Package to remove: " )
+ [[ -z "$PACKAGE" ]] && echo "No package selected. Exiting." && exit 0
+
+ read -p "Are you sure you want to uninstall package \"${PACKAGE}\"? [Y/n] " -n 1
+ # if [[ $REPLY =~ ^[Yy]$ ]]
+ if [[ $REPLY =~ ^[Nn]$ ]]; then
+ echo "Uninstall aborted." && exit -1
+ fi
+ adb -s "${DEVICE}" shell "pm uninstall -k --user 0 ${PACKAGE}" && echo "Package uninstalled." && exit 1
+
+elif echo "$MODE" | grep -iqF "add" ; then
+
+ PACKAGE=$( comm -13 <(adb -s "${DEVICE}" shell "pm list packages" | sort) <(adb -s "${DEVICE}" shell "pm list packages -u" | sort) | sed -r "s|^package:||" | fzf --prompt "[Device: ${DEVICE}] Package to add: " )
+ [[ -z "$PACKAGE" ]] && echo "No package selected. Exiting." && exit 1
+
+ read -p "Are you sure you want to reinstall package \"${PACKAGE}\"? [Y/n] " -n 1
+ # if [[ $REPLY =~ ^[Yy]$ ]]
+ if [[ $REPLY =~ ^[Nn]$ ]]; then
+ echo "Reinstall aborted." && exit -2
+ fi
+
+ adb -s "${DEVICE}" shell "pm install-existing ${PACKAGE}" && echo "Package reinstalled." && exit 2
+
+else
+ echo -e "usage: $0 add/remove" && exit -3
+fi