Update SDK build tools to 24.0.1
[termux-packages] / packages / termux-api / termux-camera-photo
index d96e022..7b3836f 100755 (executable)
@@ -1,38 +1,32 @@
-#!/system/bin/sh
-
+#!/bin/sh
 set -e -u
 
+SCRIPTNAME=termux-camera-photo
 show_usage () {
-       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 "Use termux-camera-info for information about available camera IDs."
+    echo "Usage: termux-camera-photo [-c camera-id] output-file"
+    echo "Take a photo and save it to a file in JPEG format."
+    echo ""
+    echo "  -c camera-id  ID of the camera to use (see termux-camera-info), default: 0"
+    echo ""
+    exit 0
 }
 
-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
+
+PARAMS=""
+while getopts :hc: option
+do
+    case "$option" in
+        h) show_usage;;
+        c) PARAMS="--es camera $OPTARG";;
+        ?) echo "$SCRIPTNAME: illegal option -$OPTARG"; exit 1;
+    esac
 done
+shift $(($OPTIND-1))
 
-touch $1
-FILE=`realpath $1`
+if [ $# = 0 ]; then echo "$SCRIPTNAME: missing file argument"; exit 1; fi
+if [ $# != 1 ]; then echo "$SCRIPTNAME: too many arguments"; exit 1; fi
 
-# Output is like:
-# Broadcasting: Intent { cmp=com.termux.api/.PhotoActivity }
-# Broadcast completed: result=13, data="http://fornwall.net"
-OUTPUT=`am start --user 0 $PARAM_CAMERA $PARAM_SIZE --es file $FILE -n com.termux.api/.PhotoActivity | grep result=1 | cut -d ' ' -f 4`
+touch $1
+PARAMS="$PARAMS --es file `realpath $1`"
 
-if [ $? != "0" ]; then
-       echo "termux-camera-photo failed - see logs by executing 'adb logcat -s termux-api:*'"
-       exit 1
-fi
+@TERMUX_API@ CameraPhoto $PARAMS