Michael Butler | dfbbdbc | 2016-10-03 14:20:39 -0700 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
| 3 | |
| 4 | # DEFINES |
| 5 | LUNCH_TYPE=generic-eng |
| 6 | |
| 7 | # GET SCRIPT LOCATION |
| 8 | DIR=`pwd` |
| 9 | BRANCH=(`cd $(dirname ${BASH_SOURCE[0]})/../../.. && pwd`) |
| 10 | cd $DIR |
| 11 | |
| 12 | |
| 13 | # Usage info |
| 14 | show_help() { |
| 15 | echo " |
| 16 | Usage: ${0##*/} [HELP] [DEVICE] |
| 17 | Quickly switch to a specified device |
| 18 | |
| 19 | -h, -?, --help display this help message |
| 20 | <blank> list currently attached devices |
| 21 | DEVICE system switches to first device that |
| 22 | matches this term |
| 23 | |
| 24 | Example: |
| 25 | ./sdv prints all connected devices |
| 26 | ./sdv angler switches to first angler |
| 27 | ./sdv ang switches to first angler device |
| 28 | ./sdv vol switches to volantis |
| 29 | ./sdv 6P switches to Nexus 6P |
| 30 | ./sdv 8X switches to first matching device |
| 31 | (eg. 8XV5T15725000936) |
| 32 | " |
| 33 | echo |
| 34 | } |
| 35 | |
| 36 | # help message |
| 37 | if [[ ( $1 == "--help" ) || ( $1 == "-h" ) || ( $1 == "-?" ) ]]; then |
| 38 | show_help |
| 39 | return |
| 40 | fi |
| 41 | |
| 42 | # if adb is not available, try to set it up |
| 43 | if [ ! `which adb` ]; then |
| 44 | echo "\"adb\" not setup. Using branch \"$BRANCH\" and lunch type \"$LUNCH_TYPE\"" |
| 45 | DIR=`pwd` |
| 46 | cd $BRANCH |
| 47 | . build/envsetup.sh > /dev/null |
| 48 | lunch $LUNCH_TYPE > /dev/null |
| 49 | cd $DIR |
| 50 | fi |
| 51 | |
| 52 | # get devices... |
| 53 | if [ $# -eq 0 ]; then |
| 54 | adb devices -l |
| 55 | echo "Currently set to \"$ANDROID_SERIAL\"" |
| 56 | # ...or switch to specified device |
| 57 | else |
| 58 | STR=(`adb devices -l | grep "$1"`) |
| 59 | if [ ${#STR[@]} -gt 0 ]; then |
| 60 | export ANDROID_SERIAL="$STR" |
| 61 | echo "Switched to device \"$ANDROID_SERIAL\"" |
| 62 | else |
| 63 | echo "Device \"$1\" not found" |
| 64 | fi |
| 65 | fi |
| 66 | |