-#!/system/bin/sh
+#!/bin/sh
set -e -u
-SCRIPTNAME=$0
show_usage () {
- echo "usage: $SCRIPTNAME [OPTIONS] <output-file>"
+ echo "usage: termux-camera-photo [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"
+ echo " -c, --camera <camera-id> the ID of the camera to use"
+ echo "Use termux-camera-info for information about available camera IDs."
}
-PARAM_CAMERA=""
-PARAM_SIZE=""
+PARAMS=""
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;;
+ -c|--camera) PARAMS="$PARAMS --es camera $2"; shift 2;;
-h|--help) show_usage; exit 0;;
- -s|--size) PARAM_SIZE="--ei size_index $2"; shift 2;;
+ -s|--size) PARAMS="$PARAMS --ei size_index $2"; shift 2;;
--) shift; break;;
*) echo Error; exit 1;;
esac
done
-touch $1
-FILE=`realpath $1`
+if [ $# != 1 ]; then show_usage; exit 1; fi
-# 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`
+touch $1
+PARAMS="$PARAMS --es file `realpath $1`"
-if [ $? != "0" ]; then
- echo "ERROR: Failed, see logs"
- exit 1
-fi
+@TERMUX_API@ CameraPhoto $PARAMS