#!/system/bin/sh

dir=$(realpath "${0%/*}")
tmpLspdApk="/data/local/tmp/daemon.apk"
debug=false

if [ -r $tmpLspdApk ]; then
  cd "$dir" || exit 1
  java_options="-Djava.class.path=$tmpLspdApk -Xnoimage-dex2oat"
  debug="true"
else
  java_options="-Djava.class.path=$dir/daemon.apk -Xnoimage-dex2oat"
fi

if [ $debug = "true" ]; then
  os_version=$(getprop ro.build.version.sdk)
  if [ "$os_version" -eq "27" ]; then
    java_options="$java_options -Xrunjdwp:transport=dt_android_adb,suspend=n,server=y -Xcompiler-option --debuggable"
  elif [ "$os_version" -eq "28" ]; then
    java_options="$java_options -XjdwpProvider:adbconnection -XjdwpOptions:suspend=n,server=y -Xcompiler-option --debuggable"
  else
    java_options="$java_options -XjdwpProvider:adbconnection -XjdwpOptions:suspend=n,server=y"
  fi
fi

exec /system/bin/app_process $java_options /system/bin --nice-name=lspd org.lsposed.lspd.Main "$@"
