Major Android native improvements: Biometric authentication: - Native AndroidX BiometricPrompt on app launch (2nd launch onwards) - Supports fingerprint, face, iris, and device PIN/password fallback - Gracefully skips if no biometric hardware or first launch - Uses SharedPreferences to track first launch Microphone permission: - Added MODIFY_AUDIO_SETTINGS permission (required for WebView audio) - Added androidScheme: "https" in Capacitor config (getUserMedia requires secure context) - WebChromeClient properly grants WebView permission after Android runtime permission is obtained - Handles pending permission request across the async flow Background recording bridge: - NativeRecording JavaScript interface exposed to WebView - startForegroundService() / stopForegroundService() callable from JS - Web app calls these on recording start/stop in liveEncounter.js - AudioRecordingService keeps CPU awake + shows notification when recording - Recording survives screen lock via foreground service + wake lock Also: - USE_BIOMETRIC permission added to manifest - androidx.biometric:biometric dependency added to build.gradle - Haptic fallback to navigator.vibrate when Capacitor plugins unavailable
34 lines
760 B
JSON
34 lines
760 B
JSON
{
|
|
"appId": "com.pedshub.scribe",
|
|
"appName": "PedScribe",
|
|
"webDir": "src",
|
|
"server": {
|
|
"allowNavigation": ["*"]
|
|
},
|
|
"plugins": {
|
|
"SplashScreen": {
|
|
"launchShowDuration": 1500,
|
|
"backgroundColor": "#2563eb",
|
|
"showSpinner": true,
|
|
"spinnerColor": "#ffffff"
|
|
},
|
|
"PushNotifications": {
|
|
"presentationOptions": ["badge", "sound", "alert"]
|
|
},
|
|
"Keyboard": {
|
|
"resize": "body",
|
|
"resizeOnFullScreen": true
|
|
}
|
|
},
|
|
"android": {
|
|
"allowMixedContent": true,
|
|
"backgroundColor": "#2563eb",
|
|
"webContentsDebuggingEnabled": true,
|
|
"appendUserAgent": "PedScribe-Android",
|
|
"androidScheme": "https"
|
|
},
|
|
"ios": {
|
|
"backgroundColor": "#2563eb",
|
|
"contentInset": "automatic"
|
|
}
|
|
}
|