diff options
Diffstat (limited to 'startop/scripts/app_startup/lib/common')
-rwxr-xr-x | startop/scripts/app_startup/lib/common | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/startop/scripts/app_startup/lib/common b/startop/scripts/app_startup/lib/common index 4d5a53e4bb0c..043d8550b64b 100755 --- a/startop/scripts/app_startup/lib/common +++ b/startop/scripts/app_startup/lib/common @@ -12,3 +12,42 @@ verbose_print() { echo "$@" >&2 fi } + +remote_pidof() { + local procname="$1" + adb shell ps | grep "$procname" | awk '{print $2;}' +} + +remote_pkill() { + local procname="$1" + shift + + local the_pids=$(remote_pidof "$procname") + local pid + + for pid in $the_pids; do + verbose_print adb shell kill "$@" "$pid" + adb shell kill "$@" "$pid" + done +} + +get_activity_name() { + local package="$1" + local action_key="android.intent.action.MAIN:" + + # Example query-activities output being parsed: + # + # Activity #14: + # priority=0 preferredOrder=0 match=0x108000 specificIndex=-1 isDefault=true + # com.google.android.videos/com.google.android.youtube.videos.EntryPoint + # Activity #15: + # priority=0 preferredOrder=0 match=0x108000 specificIndex=-1 isDefault=true + # com.google.android.youtube/.app.honeycomb.Shell$HomeActivity + + # Given package 'com.google.android.youtube' return '.app.honeycomb.Shell$HomeActivity' + + local activity_line="$(adb shell cmd package query-activities --brief -a android.intent.action.MAIN -c android.intent.category.LAUNCHER | grep "$package/")" + IFS="/" read -a array <<< "$activity_line" + local activity_name="${array[1]}" + echo "$activity_name" +} |