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