#!/bin/bash
# Akia Launcher - Optimized for Pardus 25

APP_HOME="/opt/eta-akia"
APP_DATA="$HOME/.local/share/eta-akia"
JAR_PATH="$APP_HOME/akia-6.8.13.jar"

# Default UI scaling factor
UI_SCALE="1"

# Array to store arguments for the Java application
JAVA_ARGS=()

# Parse arguments to check for --hdpi flag
for arg in "$@"; do
    if [[ "$arg" == "--hdpi" ]]; then
        UI_SCALE="2"
    else
        JAVA_ARGS+=("$arg")
    fi
done

# Create sandbox directory
mkdir -p "$APP_DATA"

# Override the HOME environment variable for native libraries
export HOME="$APP_DATA"

# Change directory to app home
cd "$APP_HOME" || exit 1

export JAVA_HOME="/usr/lib/jvm/java-21-openjdk-amd64"
export PATH="$JAVA_HOME/bin:$PATH"

exec java \
  --enable-native-access=ALL-UNNAMED \
  --add-exports jdk.crypto.cryptoki/sun.security.pkcs11.wrapper=ALL-UNNAMED \
  --add-opens java.smartcardio/javax.smartcardio=ALL-UNNAMED \
  --add-opens java.smartcardio/sun.security.smartcardio=ALL-UNNAMED \
  -Dsun.java2d.uiScale=$UI_SCALE \
  -Duser.home="$APP_DATA" \
  -Djava.net.preferIPv4Stack=true \
  -Dfile.encoding=UTF-8 \
  -cp "$JAR_PATH" \
  controller.Main "${JAVA_ARGS[@]}"