termux-packages/packages/termux-api/termux-camera-photo

40 lines
1.0 KiB
Bash
Executable File

#!/system/bin/sh
set -e -u
SCRIPTNAME=$0
show_usage () {
echo "usage: $SCRIPTNAME [OPTIONS] <output-file>"
echo ""
echo "Take a photo and save it in a file. Valid options:"
echo " -c, --camera <camera-id> the id of the camera to use"
echo "See the termux-camera-info for getting information about available cameras"
}
PARAM_CAMERA=""
PARAM_SIZE=""
O=`getopt -l camera: -l help -l size -- c:hs: "$@"`
eval set -- "$O"
while true; do
case "$1" in
-c|--camera) PARAM_CAMERA="--ei camera $2"; shift 2;;
-h|--help) show_usage; exit 0;;
-s|--size) PARAM_SIZE="--ei size_index $2"; shift 2;;
--) shift; break;;
*) echo Error; exit 1;;
esac
done
touch $1
FILE=`realpath $1`
# Output is like:
# Broadcasting: Intent { cmp=com.termux.extras/.SmsLister }
# Broadcast completed: result=13, data="http://fornwall.net"
OUTPUT=`LD_LIBRARY_PATH= am start --user 0 $PARAM_CAMERA $PARAM_SIZE --es file $FILE -n com.termux.extras/.PhotoActivity | grep result=1 | cut -d ' ' -f 4`
if [ $? != "0" ]; then
echo "ERROR: Failed, see logs"
exit 1
fi