diff --git a/android/android/app/build.gradle b/android/android/app/build.gradle index 5dab645..bde5530 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 200 - versionName "0.0.2.0" + versionCode 201 + versionName "0.0.2.1" // Fallback fuer Libraries mit Product Flavors missingDimensionStrategy 'react-native-camera', 'general' } diff --git a/android/package.json b/android/package.json index c0e63d6..234305f 100644 --- a/android/package.json +++ b/android/package.json @@ -1,6 +1,6 @@ { "name": "aria-cockpit", - "version": "0.0.2.0", + "version": "0.0.2.1", "private": true, "scripts": { "android": "react-native run-android", diff --git a/android/src/screens/SettingsScreen.tsx b/android/src/screens/SettingsScreen.tsx index d947c64..b924aa3 100644 --- a/android/src/screens/SettingsScreen.tsx +++ b/android/src/screens/SettingsScreen.tsx @@ -74,6 +74,7 @@ const SettingsScreen: React.FC = () => { const [ttsEnabled, setTtsEnabled] = useState(true); const [defaultVoice, setDefaultVoice] = useState('ramona'); const [highlightVoice, setHighlightVoice] = useState('thorsten'); + const [speechSpeed, setSpeechSpeed] = useState(1.0); const [editingPath, setEditingPath] = useState(false); const [tempPath, setTempPath] = useState(''); @@ -103,6 +104,9 @@ const SettingsScreen: React.FC = () => { AsyncStorage.getItem('aria_highlight_voice').then(saved => { if (saved) setHighlightVoice(saved); }); + AsyncStorage.getItem('aria_speech_speed').then(saved => { + if (saved) setSpeechSpeed(parseFloat(saved)); + }); }, []); // Speichergroesse berechnen @@ -521,6 +525,48 @@ const SettingsScreen: React.FC = () => { + {/* Sprechgeschwindigkeit */} + + Sprechgeschwindigkeit: {speechSpeed.toFixed(1)}x + + 0.5x + + { + const layout = e.nativeEvent; + // Einfacher Tap-basierter Slider + }} + > + + + + + + 2.0x + + + {[0.5, 0.75, 1.0, 1.25, 1.5, 2.0].map(speed => ( + { + setSpeechSpeed(speed); + AsyncStorage.setItem('aria_speech_speed', String(speed)); + rvs.send('config' as any, { speechSpeed: speed }); + }} + style={{ + paddingHorizontal: 10, paddingVertical: 6, borderRadius: 6, + backgroundColor: speechSpeed === speed ? '#0096FF' : '#1E1E2E', + }} + > + + {speed}x + + + ))} + + + {/* Highlight-Trigger Info */} {'\u26A1'} Highlight-Trigger @@ -690,7 +736,7 @@ const SettingsScreen: React.FC = () => { {'\u00DC'}ber ARIA Cockpit - Version 0.0.2.0 + Version 0.0.2.1 Stefans Kommandozentrale f{'\u00FC'}r ARIA.{'\n'} Gebaut mit React Native + TypeScript.