Audio recording: - Mic button wired to MediaRecorder (AAC/M4A, 44.1kHz/128kbps) - Tap to start, tap again to stop — auto-uploads as audio attachment - RECORD_AUDIO permission with runtime request - Recording state: red stop-square on mic button TTS read-aloud: - Volume button on assistant messages → POST /api/v1/audio-gen - Gemini-TTS generates speech server-side, MediaPlayer streams it - Tap again to stop playback, accent-colored icon when playing - Graceful error handling (Toast on failure) Supporting changes: - KaizenApi.generateSpeech() for /api/v1/audio-gen endpoint - KaizenIcons.Volume2 added (Lucide) - DE/EN strings for recording, permission, TTS states
37 lines
No EOL
1.4 KiB
XML
37 lines
No EOL
1.4 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
xmlns:tools="http://schemas.android.com/tools">
|
|
|
|
<!-- Required for haptic feedback (Vibrator.vibrate) -->
|
|
<uses-permission android:name="android.permission.VIBRATE" />
|
|
|
|
<!-- Required to talk to the Kaizen backend (login + chat streaming) -->
|
|
<uses-permission android:name="android.permission.INTERNET" />
|
|
|
|
<!-- Required for voice recording (mic button in chat) -->
|
|
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
|
|
|
<application
|
|
android:allowBackup="true"
|
|
android:dataExtractionRules="@xml/data_extraction_rules"
|
|
android:fullBackupContent="@xml/backup_rules"
|
|
android:icon="@mipmap/ic_launcher"
|
|
android:label="@string/app_name"
|
|
android:roundIcon="@mipmap/ic_launcher_round"
|
|
android:supportsRtl="true"
|
|
android:theme="@style/Theme.Kaizen">
|
|
<activity
|
|
android:name=".MainActivity"
|
|
android:exported="true"
|
|
android:label="@string/app_name"
|
|
android:windowSoftInputMode="adjustNothing"
|
|
android:theme="@style/Theme.Kaizen">
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.MAIN" />
|
|
|
|
<category android:name="android.intent.category.LAUNCHER" />
|
|
</intent-filter>
|
|
</activity>
|
|
</application>
|
|
|
|
</manifest> |