11de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville#!/bin/bash
21de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville# Telephony Debug Intents
31de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville#set -x
41de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville
51de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Savillefile_name='tdi'
61de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville
71de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville# Get the command as the first parameter
81de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Savillecmd=$1
91de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Savilleshift
101de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville
111de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Savillefunction dc_errors()
121de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville{
131de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville    if [ "$1" == "" ]; then
141de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville        echo "Usage: $file_name $cmd <dc> <count> <cause> <retry-time>"
151de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville        echo "  <dc> must specifiy the DataConnection such as DC or GsmDC-1"
161de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville        echo "  <count> := number of times to retry"
171de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville        echo "  <cause> := From DataConnection.FailCause; such as -3 for SIGNAL_LOST"
181de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville        echo "  <retry-time> := suggested retry time in milli-seconds"
191de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville        exit
201de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville    fi
211de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville    the_DC=$1
221de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville    echo "the_DC=$the_DC"
231de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville
241de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville    if [ "$2" != "" ]; then
251de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville        counter="--ei counter $2";
261de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville    fi
271de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville    echo "counter=$counter"
281de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville
291de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville    if [ "$3" != "" ]; then
301de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville        fail_cause="--ei fail_cause $3";
311de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville    fi
321de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville    echo "fail_cause=$fail_cause"
331de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville
341de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville    if [ "$4" != "" ]; then
351de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville        suggested_retry_time="--ei suggested_retry_time $4";
361de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville    fi
371de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville    echo "suggested_retry_time=$suggested_retry_time"
381de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville
391de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville
401de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville    adb shell am broadcast -a com.android.internal.telephony.$the_DC.action_fail_bringup $counter $fail_cause $suggested_retry_time
411de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville}
421de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville
431de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville
441de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Savillecase ${cmd} in
451de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville	dce) dc_errors "$@";;
461de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville    # Add more commands in the future
471de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Saville	*) echo 'Broadcast telephony debug intents'; echo 'usage: tdi [dce]'; echo '  dce=DC errors';;
481de1d3c6da7aa16d1a1b4a3f85484803788d2f8bWink Savilleesac
49