Prd/components/dialer-patch/patches/0005-callrecord-manifest-fgs.patch
Lucy Doupalů be9f14ce34 Helpdesk - operator console + patched GrapheneOS Dialer for call handling
A small helpdesk system: an office Pixel running a patched GrapheneOS Dialer
answers technician calls, records both call legs as separate channels, and a
Ruby backend transcribes them through Whisper and files an AI summary against
the caller.

Squashed to a single commit for sharing. No credentials are included; secrets
live outside the repo in /etc/helpdesk/env on the server or a gitignored
.claude/env.local locally. See .claude/env.local.example for the shape.

Start at README.md, then docs/architecture.md.
2026-07-27 18:50:32 +02:00

22 lines
1.3 KiB
Diff

diff --git a/java/com/android/dialer/callrecord/AndroidManifest.xml b/java/com/android/dialer/callrecord/AndroidManifest.xml
index c2e0d66be..e160cfde9 100644
--- a/java/com/android/dialer/callrecord/AndroidManifest.xml
+++ b/java/com/android/dialer/callrecord/AndroidManifest.xml
@@ -18,11 +18,17 @@
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.CAPTURE_AUDIO_OUTPUT" />
+ <!-- Helpdesk patch (B5): auto-record runs the recorder as a microphone foreground service so the
+ mic is held regardless of UI state, and it's future-proof for the Android-14 FGS-type enforcement
+ (targetSdk 30 doesn't enforce it today, but the declaration is correct now). -->
+ <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
+ <uses-permission android:name="android.permission.FOREGROUND_SERVICE_MICROPHONE" />
<application>
<service android:name="com.android.dialer.callrecord.impl.CallRecorderService"
android:process="com.android.incallui" />
<service android:name="com.android.dialer.callrecord.impl.CallRecorderServiceV2"
+ android:foregroundServiceType="microphone"
android:process="com.android.incallui" />
</application>
</manifest>