#!/bin/sh

ENABLE_WOT="false"
DISABLE_WOT="false"
NEED_RESTART="false"
START_RECORDING="false"
STOP_RECORDING="false"
ALWAYS_RECORD="false"
ENABLE_TRANSIENT="false"
DISABLE_TRANSIENT="false"
TP_URI=palm://com.palm.hidd/HidTouchpanel

CONF_DIR="/etc/hidd"
CONF_FILES=`ls /etc/hidd | grep HidTouchpanel`

modify_conf_files() {
    rootfs_open -t
    for i in $CONF_FILES
    do
        sed -i $1 $CONF_DIR/$i
    done

}

case x$1 in
    xenable_wot)
        ENABLE_WOT="true"
        ;;

    xdisable_wot)
        DISABLE_WOT="true"
        ;;
    
    xstart_recording)
        START_RECORDING="true"
        ;;
    
    xstop_recording)
        STOP_RECORDING="true"
        ;;

    xalways_record)
        ALWAYS_RECORD="true"
        ;;

    xenable_transient)
        ENABLE_TRANSIENT="true"
        ;;

    xdisable_transient)
        DISABLE_TRANSIENT="true"
        ;;

    *)
        echo "Options:"
        echo "     enable_wot           enable wake-on-touch mode"
        echo "     disable_wot          disable wake-on-touch mode"
        echo "     start_recording      record raw data"
        echo "     stop_recording       stop recording raw data"
        echo "     always_record        always record tp data to /media/internal (until next flash)"
        echo "     enable_transient     enable transient debug recordings"
        echo "     disable_transient    disable transient debug recordings"
        exit 0
esac

if [ x$ENABLE_WOT == "xtrue" ]; then
    modify_conf_files "s/<enabled>0/<enabled>1/"
    NEED_RESTART="true"
elif [ x$DISABLE_WOT == "xtrue" ]; then
    modify_conf_files "s/<enabled>1/<enabled>0/"
    NEED_RESTART="true"
fi

if [ x$START_RECORDING == "xtrue" ]; then
    luna-send -n 1 ${TP_URI}/CompleteDumpState {\"mode\":\"set\",\"value\":\"on\"}
elif [ x$STOP_RECORDING == "xtrue" ]; then
    luna-send -n 1 ${TP_URI}/CompleteDumpState {\"mode\":\"set\",\"value\":\"off\"}
fi

if [ x$ALWAYS_RECORD == "xtrue" ]; then
    modify_conf_files  "s/<dumpDebugDataOnStart>0/<dumpDebugDataOnStart>1/"

    rm -f /var/touchpaneldump
    mkdir -p /media/internal/touchpaneldump
    ln -s /media/internal/touchpaneldump /var/touchpaneldump

    NEED_RESTART="true"
fi

if [ x$ENABLE_TRANSIENT == "xtrue" ]; then
    modify_conf_files "s/<dumpDebugDataOnTransient>0/<dumpDebugDataOnTransient>1/"
    NEED_RESTART="true"
elif [ x$DISABLE_TRANSIENT == "xtrue" ]; then
    modify_conf_files "s/<dumpDebugDataOnTransient>1/<dumpDebugDataOnTransient>0/"
    NEED_RESTART="true"
fi

if [ x$NEED_RESTART == "xtrue" ]; then
    stop hidd
    start hidd
fi
