#!/usr/bin/env node
/**
* Add Android App Links + the custom scheme to the generated manifest.
* Capacitor regenerates AndroidManifest.xml, so this must run after `cap sync`
* and before Gradle (see package.json android:build).
*
* HTTPS links are verified with https://skate-spots.org/.well-known/assetlinks.json
* (release signing certificate). The custom scheme is for Amber deep links and
* fallback launches where no verified domain is available.
*/
import { readFileSync, writeFileSync } from 'node:fs';
import { join } from 'node:path';
const root = join(new URL('..', import.meta.url).pathname);
const manifestPath = join(root, 'android/app/src/main/AndroidManifest.xml');
let manifest = readFileSync(manifestPath, 'utf8');
if (manifest.includes('android:host="skate-spots.org"')) {
console.log('[inject-deep-links] already present');
process.exit(0);
}
const filters = `
`;
const marker = /(\s*<\/activity>)/i;
if (!marker.test(manifest)) {
console.warn('[inject-deep-links] close not found — skipped');
process.exit(0);
}
manifest = manifest.replace(marker, `${filters}\n `);
writeFileSync(manifestPath, manifest);
console.log('[inject-deep-links] Android App Links + org.skatespots.app added.');