#!/bin/sh
IP=$(nmap -n -p 5555 --open $(LANG= /sbin/ifconfig|awk '/inet addr:/{print $2}'|sed -e 's/addr://;s/\(.*\)..*/\1/'|grep -v 127.0.0.|head -1)0/24|awk '/Nmap scan report for/{print $5}'|head -1)

if [ "$IP" ]; then
    adb kill-server
    adb start-server
    adb disconnect
    adb connect $IP
    adb wait-for-device
    if adb shell cat /proc/cpuinfo|grep -q neon; then
        ARCH=arm
    else
        ARCH=x86
    fi 
    BRANCH=releases
    URL=http://mirrors.kodi.tv/$BRANCH/android/$ARCH
    KODI=$(wget -qO- $URL'/?C=M&O=D'|awk -F\" '/kodi-.*\.apk/{print $2}'|head -1)
    CODE=$(echo $KODI|cut -f3 -d-|cut -f1 -d_)
    #[ "$CODE" = "Jarvis" ] && CODE=master
    if [ $# -gt 0 ]; then
        BRANCH=nightlies
        URL=http://mirrors.kodi.tv/$BRANCH/android/$ARCH
        KODI=$(wget -qO- $URL'/?C=M&O=D'|awk -F\" '/kodi-.*\.apk/{print $4}'|head -1)
        CODE=$(echo $KODI|cut -f4 -d-|cut -f1 -d_)
    fi
    echo $KODI|wget -Ni- -B $URL/
    #adb uninstall org.xbmc.kodi
    adb install -r $KODI
    TMP=$(mktemp -d /tmp/kodi.XXXXXX)
    wget -NP $TMP https://raw.githubusercontent.com/xbmc/xbmc/$CODE/system/keymaps/keyboard.xml
    if ! grep -q '<menu>CodecInfo</menu>' $TMP/keyboard.xml; then
        patch --no-backup-if-mismatch $TMP/keyboard.xml <<'EOT'
@@ -275,6 +275,7 @@
       <down mod="ctrl">SubtitleShiftDown</down>
       <pageup>SkipNext</pageup>
       <pagedown>SkipPrevious</pagedown>
+      <menu>CodecInfo</menu>
     </keyboard>
   </FullscreenVideo>
   <VideoTimeSeek>
EOT
        adb push $TMP/keyboard.xml /sdcard/Android/data/org.xbmc.kodi/files/.kodi/userdata/keymaps/keyboard.xml 
    fi
    adb shell monkey -p org.xbmc.kodi -c android.intent.category.LAUNCHER 1
    adb disconnect
    adb kill-server
fi
echo http://kodi.tv
