fixed broken cache; added record button behavior to record button

This commit is contained in:
Myzel394 2022-08-25 10:47:19 +02:00
parent ecfe71cfa9
commit 85fcb05a5e
2 changed files with 30 additions and 7 deletions

View File

@ -112,7 +112,9 @@ class FileManager {
final cacheData = String.fromCharCodes(data); final cacheData = String.fromCharCodes(data);
await cache.write(key, cacheData, CACHE_INVALIDATION_DURATION.inMinutes); try {
await cache.write(key, cacheData, CACHE_INVALIDATION_DURATION.inMinutes);
} catch (error) {}
return data; return data;
} }

View File

@ -1,6 +1,8 @@
import 'package:flutter/gestures.dart'; import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:quid_faciam_hodie/enums/record_button_behavior.dart';
import 'package:quid_faciam_hodie/managers/global_values_manager.dart';
class RecordButton extends StatefulWidget { class RecordButton extends StatefulWidget {
final bool active; final bool active;
@ -26,6 +28,7 @@ const OUT_DURATION = Duration(milliseconds: 300);
class _RecordButtonState extends State<RecordButton> { class _RecordButtonState extends State<RecordButton> {
bool animateToVideoIcon = false; bool animateToVideoIcon = false;
void cancelAnimation() { void cancelAnimation() {
if (widget.active) { if (widget.active) {
return; return;
@ -36,8 +39,22 @@ class _RecordButtonState extends State<RecordButton> {
}); });
} }
@override
void initState() {
super.initState();
final settings = GlobalValuesManager.settings!;
// Update UI when settings change
settings.addListener(() {
setState(() {});
});
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final settings = GlobalValuesManager.settings!;
return GestureDetector( return GestureDetector(
// Take photo // Take photo
onTap: () { onTap: () {
@ -81,14 +98,18 @@ class _RecordButtonState extends State<RecordButton> {
return; return;
} }
setState(() { if (settings.recordButtonBehavior ==
animateToVideoIcon = false; RecordButtonBehavior.holdRecording) {
}); // Stop recording
setState(() {
animateToVideoIcon = false;
});
if (widget.active) { if (widget.active) {
HapticFeedback.lightImpact(); HapticFeedback.lightImpact();
widget.onVideoEnd(); widget.onVideoEnd();
}
} }
}, },
// Animate to video icon // Animate to video icon