#!/bin/bash
source "$(dirname "$0")"/../common_tools
android_choose_device

if [[ "$1" == "-s" ]]; then
  PACKAGES=($(adb -s "$SELECTED_DEVICE" shell pm list packages -f | sed -e 's/.*=//' | sort))
elif [[ -n "$1" ]]; then
  PACKAGE="$1"
  android_is_package_installed "$PACKAGE"
else
  PACKAGES=($(adb -s "$SELECTED_DEVICE" shell pm list packages -f -3 | sed -e 's/.*=//' | sort))
fi

if [ -z "$PACKAGE" ]; then
  PACKAGES_LISTED=()
  for P in "${PACKAGES[@]}" #removes trailing \r
  do
    P=${P%$'\r'}
    PACKAGES_LISTED+=("$P")
  done

  if [ ${#PACKAGES_LISTED[@]} -eq 0 ]; then
      echo "🤷‍ No third-party apps installed, use \"alaunch -s\" to list system packages"
      exit
  fi

  echo "📋 Choose package to launch:"
  select OPTION in "${PACKAGES_LISTED[@]}"
  do
   case $OPTION in
      *) PACKAGE=$OPTION;break; ;;
    esac
  done
fi

echo "🚀 Launching $PACKAGE..."
adb -s "$SELECTED_DEVICE" shell monkey -p "$PACKAGE" -c android.intent.category.LAUNCHER 1 &> /dev/null
