#!/usr/bin/env bash # Patches the generated AndroidManifest.xml with: # 1. CAMERA permission # 2. Deep link intent filter (zeavisedu:// scheme) for Google OAuth return # Run after `tauri android init` to apply. set -euo pipefail MANIFEST="gen/android/app/src/main/AndroidManifest.xml" if [ ! -f "$MANIFEST" ]; then echo "ERROR: $MANIFEST not found. Run 'tauri android init' first." >&2 exit 1 fi # ── CAMERA permission ────────────────────────────────────────────────── if ! grep -q 'android.permission.CAMERA' "$MANIFEST"; then echo "Adding CAMERA permission to AndroidManifest.xml..." sed -i 's||\n \n \n |' "$MANIFEST" else echo "CAMERA permission already present." fi # ── Deep link intent filter ──────────────────────────────────────────── # Allows the app to receive zeavisedu:// scheme URLs from the system browser # (used after Google OAuth completes in external browser on Android) DEEP_LINK_FILTER='\ \ \ \ \ \ ' if grep -q 'android:scheme="zeavisedu"' "$MANIFEST"; then echo "Deep link intent filter already present." else echo "Adding deep link intent filter to AndroidManifest.xml..." # Insert before the closing tag of MainActivity sed -i "s||${DEEP_LINK_FILTER}\n |" "$MANIFEST" echo "Deep link intent filter added." fi echo "AndroidManifest patched successfully."