From 95424055128e134b1efd8d4893ff34d92e04671c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20Schw=C3=B6rer?= Date: Tue, 18 Jun 2024 17:36:41 +0200 Subject: [PATCH] fix linebreaks in message.title in channel_list_item --- .../lib/pages/channel_list/channel_list_item.dart | 7 ++++++- flutter/lib/pages/message_list/message_list.dart | 12 +++++------- flutter/lib/settings/app_settings.dart | 3 ++- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/flutter/lib/pages/channel_list/channel_list_item.dart b/flutter/lib/pages/channel_list/channel_list_item.dart index ddadde7..11e715c 100644 --- a/flutter/lib/pages/channel_list/channel_list_item.dart +++ b/flutter/lib/pages/channel_list/channel_list_item.dart @@ -76,7 +76,7 @@ class _ChannelListItemState extends State { children: [ Expanded( child: Text( - lastMessage?.title ?? '...', + _preformatTitle(lastMessage), style: TextStyle(color: Theme.of(context).textTheme.bodyLarge?.color?.withAlpha(160)), ), ), @@ -89,4 +89,9 @@ class _ChannelListItemState extends State { ), ); } + + String _preformatTitle(SCNMessage? message) { + if (message == null) return '...'; + return message.title.replaceAll('\n', '').replaceAll('\r', '').replaceAll('\t', ' '); + } } diff --git a/flutter/lib/pages/message_list/message_list.dart b/flutter/lib/pages/message_list/message_list.dart index 1277a6e..9dd5ea2 100644 --- a/flutter/lib/pages/message_list/message_list.dart +++ b/flutter/lib/pages/message_list/message_list.dart @@ -1,5 +1,4 @@ import 'package:flutter/material.dart'; -import 'package:hive_flutter/hive_flutter.dart'; import 'package:infinite_scroll_pagination/infinite_scroll_pagination.dart'; import 'package:provider/provider.dart'; import 'package:simplecloudnotifier/api/api_client.dart'; @@ -21,9 +20,6 @@ class MessageListPage extends StatefulWidget { final bool isVisiblePage; - //TODO reload on switch to tab - //TODO reload on app to foreground - @override State createState() => _MessageListPageState(); } @@ -111,15 +107,17 @@ class _MessageListPageState extends State with RouteAware { @override void didPopNext() { - if (AppSettings().alwaysBackgroundRefreshMessageListOnPop) { + if (AppSettings().backgroundRefreshMessageListOnPop) { ApplicationLog.debug('[MessageList::RouteObserver] --> didPopNext (will background-refresh)'); _backgroundRefresh(false); } } void _onLifecycleResume() { - ApplicationLog.debug('[MessageList::_onLifecycleResume] --> (will background-refresh)'); - _backgroundRefresh(false); + if (AppSettings().alwaysBackgroundRefreshMessageListOnLifecycleResume) { + ApplicationLog.debug('[MessageList::_onLifecycleResume] --> (will background-refresh)'); + _backgroundRefresh(false); + } } Future _fetchPage(String thisPageToken) async { diff --git a/flutter/lib/settings/app_settings.dart b/flutter/lib/settings/app_settings.dart index 76df7ed..424ce06 100644 --- a/flutter/lib/settings/app_settings.dart +++ b/flutter/lib/settings/app_settings.dart @@ -4,7 +4,8 @@ class AppSettings extends ChangeNotifier { bool groupNotifications = true; int messagePageSize = 128; bool showDebugButton = true; - bool alwaysBackgroundRefreshMessageListOnPop = false; + bool backgroundRefreshMessageListOnPop = false; + bool alwaysBackgroundRefreshMessageListOnLifecycleResume = true; static AppSettings? _singleton = AppSettings._internal();