From ff03d8ce62f490a9f7e5659586990b6471ef5089 Mon Sep 17 00:00:00 2001 From: duffyduck Date: Sun, 29 Mar 2026 17:11:33 +0200 Subject: [PATCH] release: bump version to 0.0.1.9 --- android/android/app/build.gradle | 4 +- android/package.json | 2 +- android/src/screens/SettingsScreen.tsx | 123 ++++++++++++++++++++++++- 3 files changed, 125 insertions(+), 4 deletions(-) diff --git a/android/android/app/build.gradle b/android/android/app/build.gradle index 2e4aeb3..fece03e 100644 --- a/android/android/app/build.gradle +++ b/android/android/app/build.gradle @@ -79,8 +79,8 @@ android { applicationId "com.ariacockpit" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 108 - versionName "0.0.1.8" + versionCode 109 + versionName "0.0.1.9" // Fallback fuer Libraries mit Product Flavors missingDimensionStrategy 'react-native-camera', 'general' } diff --git a/android/package.json b/android/package.json index 67f71d0..d590ee0 100644 --- a/android/package.json +++ b/android/package.json @@ -1,6 +1,6 @@ { "name": "aria-cockpit", - "version": "0.0.1.8", + "version": "0.0.1.9", "private": true, "scripts": { "android": "react-native run-android", diff --git a/android/src/screens/SettingsScreen.tsx b/android/src/screens/SettingsScreen.tsx index c3b4458..2388ffb 100644 --- a/android/src/screens/SettingsScreen.tsx +++ b/android/src/screens/SettingsScreen.tsx @@ -71,6 +71,9 @@ const SettingsScreen: React.FC = () => { const [storagePath, setStoragePath] = useState(DEFAULT_STORAGE_PATH); const [autoDownload, setAutoDownload] = useState(true); const [storageSize, setStorageSize] = useState('...'); + const [ttsEnabled, setTtsEnabled] = useState(true); + const [defaultVoice, setDefaultVoice] = useState('ramona'); + const [highlightVoice, setHighlightVoice] = useState('thorsten'); const [editingPath, setEditingPath] = useState(false); const [tempPath, setTempPath] = useState(''); @@ -91,6 +94,15 @@ const SettingsScreen: React.FC = () => { AsyncStorage.getItem('aria_auto_download').then(saved => { if (saved !== null) setAutoDownload(saved === 'true'); }); + AsyncStorage.getItem('aria_tts_enabled').then(saved => { + if (saved !== null) setTtsEnabled(saved === 'true'); + }); + AsyncStorage.getItem('aria_default_voice').then(saved => { + if (saved) setDefaultVoice(saved); + }); + AsyncStorage.getItem('aria_highlight_voice').then(saved => { + if (saved) setHighlightVoice(saved); + }); }, []); // Speichergroesse berechnen @@ -442,6 +454,83 @@ const SettingsScreen: React.FC = () => { + {/* === Sprachausgabe === */} + Sprachausgabe + + {/* TTS An/Aus */} + + + Sprachausgabe + ARIA antwortet per Sprache (TTS) + + { + setTtsEnabled(val); + AsyncStorage.setItem('aria_tts_enabled', String(val)); + rvs.send('config' as any, { ttsEnabled: val }); + }} + trackColor={{ false: '#2A2A3E', true: '#0096FF' }} + thumbColor={ttsEnabled ? '#FFFFFF' : '#666680'} + /> + + + {/* Standard-Stimme */} + + Standard-Stimme + Fuer normale Antworten und Gespraeche + + { setDefaultVoice('ramona'); AsyncStorage.setItem('aria_default_voice', 'ramona'); }} + > + {'\uD83D\uDE4E\u200D\u2640\uFE0F'} + Ramona + Weiblich, warm + + { setDefaultVoice('thorsten'); AsyncStorage.setItem('aria_default_voice', 'thorsten'); }} + > + {'\uD83E\uDDD4'} + Thorsten + Maennlich, tief + + + + + {/* Highlight-Stimme */} + + Highlight-Stimme + Fuer besondere Ereignisse (Deploy, Alarm, Erfolg) + + { setHighlightVoice('thorsten'); AsyncStorage.setItem('aria_highlight_voice', 'thorsten'); }} + > + {'\uD83E\uDDD4'} + Thorsten + + { setHighlightVoice('ramona'); AsyncStorage.setItem('aria_highlight_voice', 'ramona'); }} + > + {'\uD83D\uDE4E\u200D\u2640\uFE0F'} + Ramona + + + + + {/* Highlight-Trigger Info */} + + {'\u26A1'} Highlight-Trigger + + Die Highlight-Stimme wird automatisch bei diesen Woertern verwendet:{'\n'} + deploy, erfolgreich, alarm, so soll es sein, kritisch, server down, sicherheitswarnung, ticket geloest, aufgabe abgeschlossen + + + + {/* === Speicher === */} Anhang-Speicher @@ -601,7 +690,7 @@ const SettingsScreen: React.FC = () => { {'\u00DC'}ber ARIA Cockpit - Version 0.0.1.8 + Version 0.0.1.9 Stefans Kommandozentrale f{'\u00FC'}r ARIA.{'\n'} Gebaut mit React Native + TypeScript. @@ -744,6 +833,38 @@ const styles = StyleSheet.create({ marginTop: 2, }, + // Stimmen + voiceBtn: { + flex: 1, + padding: 12, + borderRadius: 10, + backgroundColor: '#1E1E2E', + alignItems: 'center', + borderWidth: 2, + borderColor: 'transparent', + }, + voiceBtnActive: { + borderColor: '#0096FF', + backgroundColor: '#0D1A2E', + }, + voiceBtnIcon: { + fontSize: 28, + marginBottom: 4, + }, + voiceBtnText: { + color: '#8888AA', + fontSize: 14, + fontWeight: '600', + }, + voiceBtnTextActive: { + color: '#FFFFFF', + }, + voiceBtnHint: { + color: '#555570', + fontSize: 11, + marginTop: 2, + }, + // Speicher storagePathText: { color: '#0096FF',