pre_install() {
if [ "$#" = "3" ] && dpkg --compare-versions "$2" le "11.0.24"; then
  echo "Removing older alternatives for openjdk-21, openjdk-17 and openjdk-11"
  echo "This may take a while if mandoc package is installed, please wait..."
  echo "Newer versions of openjdk-21, openjdk-17 and openjdk-11 change how alternatives are handled."
  echo "Instead of having different alternatives for each manpage and binary, now you can switch java versions much easily using \"update-alternatives --config java\""
  echo "This should switch all java binaries, manpages, and bash profile for java in a single command instead of switching everything manually"
  update-alternatives --remove-all java-profile || :
  update-alternatives --remove-all jaotc || :
  update-alternatives --remove-all jar || :
  update-alternatives --remove-all jarsigner || :
  update-alternatives --remove-all javac || :
  update-alternatives --remove-all javadoc || :
  update-alternatives --remove-all javap || :
  update-alternatives --remove-all jcmd || :
  update-alternatives --remove-all jconsole || :
  update-alternatives --remove-all jdb || :
  update-alternatives --remove-all jdeprscan || :
  update-alternatives --remove-all jdeps || :
  update-alternatives --remove-all jfr || :
  update-alternatives --remove-all jhsdb || :
  update-alternatives --remove-all jimage || :
  update-alternatives --remove-all jinfo || :
  update-alternatives --remove-all jjs || :
  update-alternatives --remove-all jlink || :
  update-alternatives --remove-all jmap || :
  update-alternatives --remove-all jmod || :
  update-alternatives --remove-all jps || :
  update-alternatives --remove-all jrunscript || :
  update-alternatives --remove-all jshell || :
  update-alternatives --remove-all jstack || :
  update-alternatives --remove-all jstat || :
  update-alternatives --remove-all jstatd || :
  update-alternatives --remove-all keytool || :
  update-alternatives --remove-all pack200 || :
  update-alternatives --remove-all rmic || :
  update-alternatives --remove-all rmid || :
  update-alternatives --remove-all rmiregistry || :
  update-alternatives --remove-all serialver || :
  update-alternatives --remove-all unpack200 || :
  update-alternatives --remove-all jar.1.gz || :
  update-alternatives --remove-all jarsigner.1.gz || :
  update-alternatives --remove-all java.1.gz || :
  update-alternatives --remove-all javac.1.gz || :
  update-alternatives --remove-all javadoc.1.gz || :
  update-alternatives --remove-all javap.1.gz || :
  update-alternatives --remove-all jcmd.1.gz || :
  update-alternatives --remove-all jconsole.1.gz || :
  update-alternatives --remove-all jdb.1.gz || :
  update-alternatives --remove-all jdeps.1.gz || :
  update-alternatives --remove-all jinfo.1.gz || :
  update-alternatives --remove-all jjs.1.gz || :
  update-alternatives --remove-all jmap.1.gz || :
  update-alternatives --remove-all jps.1.gz || :
  update-alternatives --remove-all jrunscript.1.gz || :
  update-alternatives --remove-all jstack.1.gz || :
  update-alternatives --remove-all jstat.1.gz || :
  update-alternatives --remove-all jstatd.1.gz || :
  update-alternatives --remove-all keytool.1.gz || :
  update-alternatives --remove-all pack200.1.gz || :
  update-alternatives --remove-all rmic.1.gz || :
  update-alternatives --remove-all rmid.1.gz || :
  update-alternatives --remove-all rmiregistry.1.gz || :
  update-alternatives --remove-all serialver.1.gz || :
  update-alternatives --remove-all unpack200.1.gz || :
fi
}
post_install() {
if [ "$1" = 'configure' ] || [ "$1" = 'abort-upgrade' ] || [ "$1" = 'abort-deconfigure' ] || [ "$1" = 'abort-remove' ] || [ "pacman" = 'pacman' ]; then
  if [ -x "/data/data/com.termux/files/usr/bin/update-alternatives" ]; then
    # java
    update-alternatives \
      --install "/data/data/com.termux/files/usr/bin/java" "java" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/bin/java" 20 \
      --slave "/data/data/com.termux/files/usr/etc/profile.d/java.sh" "java-profile" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/etc/profile.d/java.sh" \
      --slave "/data/data/com.termux/files/usr/bin/jaotc" "jaotc" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/bin/jaotc" \
      --slave "/data/data/com.termux/files/usr/bin/jar" "jar" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/bin/jar" \
      --slave "/data/data/com.termux/files/usr/bin/jarsigner" "jarsigner" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/bin/jarsigner" \
      --slave "/data/data/com.termux/files/usr/bin/javac" "javac" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/bin/javac" \
      --slave "/data/data/com.termux/files/usr/bin/javadoc" "javadoc" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/bin/javadoc" \
      --slave "/data/data/com.termux/files/usr/bin/javap" "javap" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/bin/javap" \
      --slave "/data/data/com.termux/files/usr/bin/jcmd" "jcmd" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/bin/jcmd" \
      --slave "/data/data/com.termux/files/usr/bin/jconsole" "jconsole" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/bin/jconsole" \
      --slave "/data/data/com.termux/files/usr/bin/jdb" "jdb" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/bin/jdb" \
      --slave "/data/data/com.termux/files/usr/bin/jdeprscan" "jdeprscan" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/bin/jdeprscan" \
      --slave "/data/data/com.termux/files/usr/bin/jdeps" "jdeps" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/bin/jdeps" \
      --slave "/data/data/com.termux/files/usr/bin/jfr" "jfr" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/bin/jfr" \
      --slave "/data/data/com.termux/files/usr/bin/jhsdb" "jhsdb" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/bin/jhsdb" \
      --slave "/data/data/com.termux/files/usr/bin/jimage" "jimage" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/bin/jimage" \
      --slave "/data/data/com.termux/files/usr/bin/jinfo" "jinfo" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/bin/jinfo" \
      --slave "/data/data/com.termux/files/usr/bin/jjs" "jjs" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/bin/jjs" \
      --slave "/data/data/com.termux/files/usr/bin/jlink" "jlink" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/bin/jlink" \
      --slave "/data/data/com.termux/files/usr/bin/jmap" "jmap" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/bin/jmap" \
      --slave "/data/data/com.termux/files/usr/bin/jmod" "jmod" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/bin/jmod" \
      --slave "/data/data/com.termux/files/usr/bin/jps" "jps" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/bin/jps" \
      --slave "/data/data/com.termux/files/usr/bin/jrunscript" "jrunscript" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/bin/jrunscript" \
      --slave "/data/data/com.termux/files/usr/bin/jshell" "jshell" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/bin/jshell" \
      --slave "/data/data/com.termux/files/usr/bin/jstack" "jstack" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/bin/jstack" \
      --slave "/data/data/com.termux/files/usr/bin/jstat" "jstat" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/bin/jstat" \
      --slave "/data/data/com.termux/files/usr/bin/jstatd" "jstatd" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/bin/jstatd" \
      --slave "/data/data/com.termux/files/usr/bin/keytool" "keytool" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/bin/keytool" \
      --slave "/data/data/com.termux/files/usr/bin/pack200" "pack200" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/bin/pack200" \
      --slave "/data/data/com.termux/files/usr/bin/rmic" "rmic" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/bin/rmic" \
      --slave "/data/data/com.termux/files/usr/bin/rmid" "rmid" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/bin/rmid" \
      --slave "/data/data/com.termux/files/usr/bin/rmiregistry" "rmiregistry" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/bin/rmiregistry" \
      --slave "/data/data/com.termux/files/usr/bin/serialver" "serialver" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/bin/serialver" \
      --slave "/data/data/com.termux/files/usr/bin/unpack200" "unpack200" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/bin/unpack200" \
      --slave "/data/data/com.termux/files/usr/share/man/man1/jar.1.gz" "jar.1.gz" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/man/man1/jar.1.gz" \
      --slave "/data/data/com.termux/files/usr/share/man/man1/jarsigner.1.gz" "jarsigner.1.gz" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/man/man1/jarsigner.1.gz" \
      --slave "/data/data/com.termux/files/usr/share/man/man1/java.1.gz" "java.1.gz" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/man/man1/java.1.gz" \
      --slave "/data/data/com.termux/files/usr/share/man/man1/javac.1.gz" "javac.1.gz" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/man/man1/javac.1.gz" \
      --slave "/data/data/com.termux/files/usr/share/man/man1/javadoc.1.gz" "javadoc.1.gz" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/man/man1/javadoc.1.gz" \
      --slave "/data/data/com.termux/files/usr/share/man/man1/javap.1.gz" "javap.1.gz" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/man/man1/javap.1.gz" \
      --slave "/data/data/com.termux/files/usr/share/man/man1/jcmd.1.gz" "jcmd.1.gz" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/man/man1/jcmd.1.gz" \
      --slave "/data/data/com.termux/files/usr/share/man/man1/jconsole.1.gz" "jconsole.1.gz" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/man/man1/jconsole.1.gz" \
      --slave "/data/data/com.termux/files/usr/share/man/man1/jdb.1.gz" "jdb.1.gz" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/man/man1/jdb.1.gz" \
      --slave "/data/data/com.termux/files/usr/share/man/man1/jdeps.1.gz" "jdeps.1.gz" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/man/man1/jdeps.1.gz" \
      --slave "/data/data/com.termux/files/usr/share/man/man1/jinfo.1.gz" "jinfo.1.gz" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/man/man1/jinfo.1.gz" \
      --slave "/data/data/com.termux/files/usr/share/man/man1/jjs.1.gz" "jjs.1.gz" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/man/man1/jjs.1.gz" \
      --slave "/data/data/com.termux/files/usr/share/man/man1/jmap.1.gz" "jmap.1.gz" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/man/man1/jmap.1.gz" \
      --slave "/data/data/com.termux/files/usr/share/man/man1/jps.1.gz" "jps.1.gz" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/man/man1/jps.1.gz" \
      --slave "/data/data/com.termux/files/usr/share/man/man1/jrunscript.1.gz" "jrunscript.1.gz" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/man/man1/jrunscript.1.gz" \
      --slave "/data/data/com.termux/files/usr/share/man/man1/jstack.1.gz" "jstack.1.gz" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/man/man1/jstack.1.gz" \
      --slave "/data/data/com.termux/files/usr/share/man/man1/jstat.1.gz" "jstat.1.gz" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/man/man1/jstat.1.gz" \
      --slave "/data/data/com.termux/files/usr/share/man/man1/jstatd.1.gz" "jstatd.1.gz" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/man/man1/jstatd.1.gz" \
      --slave "/data/data/com.termux/files/usr/share/man/man1/keytool.1.gz" "keytool.1.gz" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/man/man1/keytool.1.gz" \
      --slave "/data/data/com.termux/files/usr/share/man/man1/pack200.1.gz" "pack200.1.gz" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/man/man1/pack200.1.gz" \
      --slave "/data/data/com.termux/files/usr/share/man/man1/rmic.1.gz" "rmic.1.gz" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/man/man1/rmic.1.gz" \
      --slave "/data/data/com.termux/files/usr/share/man/man1/rmid.1.gz" "rmid.1.gz" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/man/man1/rmid.1.gz" \
      --slave "/data/data/com.termux/files/usr/share/man/man1/rmiregistry.1.gz" "rmiregistry.1.gz" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/man/man1/rmiregistry.1.gz" \
      --slave "/data/data/com.termux/files/usr/share/man/man1/serialver.1.gz" "serialver.1.gz" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/man/man1/serialver.1.gz" \
      --slave "/data/data/com.termux/files/usr/share/man/man1/unpack200.1.gz" "unpack200.1.gz" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/man/man1/unpack200.1.gz"
  fi
fi
}
pre_remove() {
if [ "$1" = 'remove' ] || [ "$1" != 'upgrade' ] || [ "pacman" = 'pacman' ]; then
  if [ -x "/data/data/com.termux/files/usr/bin/update-alternatives" ]; then
    update-alternatives --remove "java" "/data/data/com.termux/files/usr/lib/jvm/java-11-openjdk/bin/java"
  fi
fi
}
