1*90c8c64dSAndroid Build Coastguard Worker#!/bin/bash 2*90c8c64dSAndroid Build Coastguard Worker 3*90c8c64dSAndroid Build Coastguard Worker# The files to save output to. 4*90c8c64dSAndroid Build Coastguard WorkerRAWLOGS_FILE=connectivity-rawlogs.txt 5*90c8c64dSAndroid Build Coastguard WorkerANALYSIS_FILE=connectivity-analysis.txt 6*90c8c64dSAndroid Build Coastguard Worker 7*90c8c64dSAndroid Build Coastguard Worker# Turn on the screen and unlock the device 8*90c8c64dSAndroid Build Coastguard Worker# TODO: Power on 9*90c8c64dSAndroid Build Coastguard Workeradb shell wm dismiss-keyguard 10*90c8c64dSAndroid Build Coastguard Workeradb logcat -P "" 11*90c8c64dSAndroid Build Coastguard Worker 12*90c8c64dSAndroid Build Coastguard Workerairplane_mode_was_on=$(adb shell settings get global airplane_mode_on) 13*90c8c64dSAndroid Build Coastguard Workerif [ $airplane_mode_was_on == 1 ] ; then 14*90c8c64dSAndroid Build Coastguard Worker adb shell settings put global airplane_mode_on 0 > /dev/null 15*90c8c64dSAndroid Build Coastguard Worker adb shell am broadcast -a android.intent.action.AIRPLANE_MODE > /dev/null 16*90c8c64dSAndroid Build Coastguard Worker sleep 30 17*90c8c64dSAndroid Build Coastguard Workerfi 18*90c8c64dSAndroid Build Coastguard Worker 19*90c8c64dSAndroid Build Coastguard Worker# Start the analysis process 20*90c8c64dSAndroid Build Coastguard Worker$TOP/development/tools/logblame/analyze_logs.py --duration=10m --clear --rawlogs $RAWLOGS_FILE \ 21*90c8c64dSAndroid Build Coastguard Worker | tee $ANALYSIS_FILE & 22*90c8c64dSAndroid Build Coastguard Workeranalyze_pid=$! 23*90c8c64dSAndroid Build Coastguard Worker 24*90c8c64dSAndroid Build Coastguard Worker# Turn on airplane mode and wait for it to settle 25*90c8c64dSAndroid Build Coastguard Workerecho "Turning on airplane mode." 26*90c8c64dSAndroid Build Coastguard Workeradb shell settings put global airplane_mode_on 1 > /dev/null 27*90c8c64dSAndroid Build Coastguard Workeradb shell am broadcast -a android.intent.action.AIRPLANE_MODE > /dev/null 28*90c8c64dSAndroid Build Coastguard Workersleep 15 29*90c8c64dSAndroid Build Coastguard Worker 30*90c8c64dSAndroid Build Coastguard Worker# Turn off airplane mode and wait for it to settle 31*90c8c64dSAndroid Build Coastguard Workerecho "Turning off airplane mode." 32*90c8c64dSAndroid Build Coastguard Workeradb shell settings put global airplane_mode_on 0 > /dev/null 33*90c8c64dSAndroid Build Coastguard Workeradb shell am broadcast -a android.intent.action.AIRPLANE_MODE > /dev/null 34*90c8c64dSAndroid Build Coastguard Workersleep 45 35*90c8c64dSAndroid Build Coastguard Worker 36*90c8c64dSAndroid Build Coastguard Worker# Turn off wifi and then back on 37*90c8c64dSAndroid Build Coastguard Workerecho "Turning wifi off" 38*90c8c64dSAndroid Build Coastguard Workeradb shell svc wifi disable 39*90c8c64dSAndroid Build Coastguard Workersleep 15 40*90c8c64dSAndroid Build Coastguard Worker 41*90c8c64dSAndroid Build Coastguard Workerecho "Turning wifi on" 42*90c8c64dSAndroid Build Coastguard Workeradb shell svc wifi enable 43*90c8c64dSAndroid Build Coastguard Workersleep 15 44*90c8c64dSAndroid Build Coastguard Worker 45*90c8c64dSAndroid Build Coastguard Worker 46*90c8c64dSAndroid Build Coastguard Workerecho 47*90c8c64dSAndroid Build Coastguard Workerecho 48*90c8c64dSAndroid Build Coastguard Worker 49*90c8c64dSAndroid Build Coastguard Worker# Kill adb to disconnect logcat 50*90c8c64dSAndroid Build Coastguard Workeradb kill-server 51*90c8c64dSAndroid Build Coastguard Worker 52*90c8c64dSAndroid Build Coastguard Worker# Wait for the pyton process to exit 53*90c8c64dSAndroid Build Coastguard Workerwait $analyze_pid 54*90c8c64dSAndroid Build Coastguard Worker 55*90c8c64dSAndroid Build Coastguard Workerecho "Wrote raw logs to $RAWLOGS_FILE" 56*90c8c64dSAndroid Build Coastguard Workerecho "Wrote analysis to $ANALYSIS_FILE" 57*90c8c64dSAndroid Build Coastguard Worker 58*90c8c64dSAndroid Build Coastguard Worker 59