From 85fcb05a5e87dfc51546f7c6af582d893283eedd Mon Sep 17 00:00:00 2001 From: Myzel394 <50424412+Myzel394@users.noreply.github.com> Date: Thu, 25 Aug 2022 10:47:19 +0200 Subject: [PATCH] fixed broken cache; added record button behavior to record button --- lib/managers/file_manager.dart | 4 ++- lib/screens/main_screen/record_button.dart | 33 ++++++++++++++++++---- 2 files changed, 30 insertions(+), 7 deletions(-) diff --git a/lib/managers/file_manager.dart b/lib/managers/file_manager.dart index af1dfff..a764e20 100644 --- a/lib/managers/file_manager.dart +++ b/lib/managers/file_manager.dart @@ -112,7 +112,9 @@ class FileManager { 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; } diff --git a/lib/screens/main_screen/record_button.dart b/lib/screens/main_screen/record_button.dart index c55a7a1..8dcb110 100644 --- a/lib/screens/main_screen/record_button.dart +++ b/lib/screens/main_screen/record_button.dart @@ -1,6 +1,8 @@ import 'package:flutter/gestures.dart'; import 'package:flutter/material.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 { final bool active; @@ -26,6 +28,7 @@ const OUT_DURATION = Duration(milliseconds: 300); class _RecordButtonState extends State { bool animateToVideoIcon = false; + void cancelAnimation() { if (widget.active) { return; @@ -36,8 +39,22 @@ class _RecordButtonState extends State { }); } + @override + void initState() { + super.initState(); + + final settings = GlobalValuesManager.settings!; + + // Update UI when settings change + settings.addListener(() { + setState(() {}); + }); + } + @override Widget build(BuildContext context) { + final settings = GlobalValuesManager.settings!; + return GestureDetector( // Take photo onTap: () { @@ -81,14 +98,18 @@ class _RecordButtonState extends State { return; } - setState(() { - animateToVideoIcon = false; - }); + if (settings.recordButtonBehavior == + RecordButtonBehavior.holdRecording) { + // Stop recording + setState(() { + animateToVideoIcon = false; + }); - if (widget.active) { - HapticFeedback.lightImpact(); + if (widget.active) { + HapticFeedback.lightImpact(); - widget.onVideoEnd(); + widget.onVideoEnd(); + } } }, // Animate to video icon