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