
xrc:mod:lib termux  \
    api/battery api/cpu api/torch api/vibrate api/wifi api/say  \
    api/call api/sms api/todo api/saf api/vol api/info


___x_cmd_termux_api(){
    [ $# -gt 0 ]    ||  set -- --help
    local op="$1";      shift
    case "$op" in
        -h|--help)      ___x_cmd help -m termux api         "$@" ;;
        start|stop)     ___x_cmd_cmds termux-api-"$op"      "$@" ;;
        --|invoke)      ___x_cmd_termux_api_invoke          "$@" ;;
        *)              ___x_cmd_termux_api_invoke "$op"    "$@" ;;
    esac
}

___x_cmd_termux_api_invoke(){
    "$$TERMUX__PREFIX"/libexec/termux-api "$@"
}

___x_cmd_termux___apimain(){
    local op="$1"; shift
    case "$op" in
        v|vibrate)              ___x_cmd_termux_vibrate             "$@" ;;
        o|open)                 ___x_cmd_termux_open                "$@" ;;
        br|brow|browse|openurl) ___x_cmd_termux_browse              "$@" ;;

        noti|notification)      ___x_cmd_termux_noti                "$@" ;;
        cam)                    ___x_cmd_termux_cam                 "$@" ;;
        mp)                     ___x_cmd_termux_mp                  "$@" ;;
        tele)                   ___x_cmd_termux_tele                "$@" ;;
        ir)                     ___x_cmd_termux_ir                  "$@" ;;

        ks|keystore)            ___x_cmd_termux_keystore            "$@" ;;
        vol|volume)             ___x_cmd_termux_vol                 "$@" ;;

        b|battery)              ___x_cmd_termux_battery             "$@" ;;

        st|storage)             ___x_cmd_termux_storage             "$@" ;;
        mic|microphone)         ___x_cmd_termux_microphone          "$@" ;;

        api)                    ___x_cmd_termux_api                 "$@" ;;

        toast|dialog|\
        sms|contact|call|\
        wake|\
        wifi|torch|cpu|\
        say|info|tts)
                                ___x_cmd_termux_"$op"               "$@" ;;
    esac
}


___x_cmd_termux_browse(){
    case "$1" in
        -h|--help)      ___x_cmd help -m termux browse  "$@"; return ;;
    esac

    local website="$1"
    case "$website" in
        *://)   ;;
        *)      website="https://$website"
    esac
    ___x_cmd_cmds termux-open-url   "$website"
}

___x_cmd_termux_open(){
    case "$1" in
        -h|--help)      ___x_cmd help -m termux open    "$@"; return ;;
    esac
    ___x_cmd_cmds termux-open       "$@"
}

