xref: /aosp_15_r20/build/soong/bin/qpid (revision 333d2b3687b3a337dbcca9d65000bca186795e39)
1*333d2b36SAndroid Build Coastguard Worker#!/bin/bash
2*333d2b36SAndroid Build Coastguard Worker
3*333d2b36SAndroid Build Coastguard Worker# Copyright (C) 2024 The Android Open Source Project
4*333d2b36SAndroid Build Coastguard Worker#
5*333d2b36SAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License");
6*333d2b36SAndroid Build Coastguard Worker# you may not use this file except in compliance with the License.
7*333d2b36SAndroid Build Coastguard Worker# You may obtain a copy of the License at
8*333d2b36SAndroid Build Coastguard Worker#
9*333d2b36SAndroid Build Coastguard Worker#      http://www.apache.org/licenses/LICENSE-2.0
10*333d2b36SAndroid Build Coastguard Worker#
11*333d2b36SAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
12*333d2b36SAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS,
13*333d2b36SAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14*333d2b36SAndroid Build Coastguard Worker# See the License for the specific language governing permissions and
15*333d2b36SAndroid Build Coastguard Worker# limitations under the License.
16*333d2b36SAndroid Build Coastguard Worker
17*333d2b36SAndroid Build Coastguard Worker# adb install a module's apk, as cached in module-info.json. If any build change
18*333d2b36SAndroid Build Coastguard Worker# is made, and it should be reflected in the output, you should run 'refreshmod' first.
19*333d2b36SAndroid Build Coastguard Worker# Usage: installmod [adb install arguments] <module>
20*333d2b36SAndroid Build Coastguard Worker# For example: installmod -r Dialer -> adb install -r /path/to/Dialer.apk
21*333d2b36SAndroid Build Coastguard Worker
22*333d2b36SAndroid Build Coastguard Workerfunction _impl() {
23*333d2b36SAndroid Build Coastguard Worker    local prepend=''
24*333d2b36SAndroid Build Coastguard Worker    local append=''
25*333d2b36SAndroid Build Coastguard Worker    if [ "$1" = "--exact" ]; then
26*333d2b36SAndroid Build Coastguard Worker        prepend=' '
27*333d2b36SAndroid Build Coastguard Worker        append='$'
28*333d2b36SAndroid Build Coastguard Worker        shift
29*333d2b36SAndroid Build Coastguard Worker    elif [ "$1" = "--help" -o "$1" = "-h" ]; then
30*333d2b36SAndroid Build Coastguard Worker        echo "usage: qpid [[--exact] <process name|pid>"
31*333d2b36SAndroid Build Coastguard Worker        return 255
32*333d2b36SAndroid Build Coastguard Worker    fi
33*333d2b36SAndroid Build Coastguard Worker
34*333d2b36SAndroid Build Coastguard Worker    local EXE="$1"
35*333d2b36SAndroid Build Coastguard Worker    if [ "$EXE" ] ; then
36*333d2b36SAndroid Build Coastguard Worker        _impl | \grep "$prepend$EXE$append"
37*333d2b36SAndroid Build Coastguard Worker    else
38*333d2b36SAndroid Build Coastguard Worker        adb shell ps \
39*333d2b36SAndroid Build Coastguard Worker            | tr -d '\r' \
40*333d2b36SAndroid Build Coastguard Worker            | sed -e 1d -e 's/^[^ ]* *\([0-9]*\).* \([^ ]*\)$/\1 \2/'
41*333d2b36SAndroid Build Coastguard Worker    fi
42*333d2b36SAndroid Build Coastguard Worker}
43*333d2b36SAndroid Build Coastguard Worker
44*333d2b36SAndroid Build Coastguard Worker_impl "$@"
45