From 58073484fe58a2ce7ec2cccfd8070646852a7b5b Mon Sep 17 00:00:00 2001 From: 21pages Date: Sun, 3 Sep 2023 07:21:27 +0800 Subject: [PATCH] fix ios setting page show chat title Signed-off-by: 21pages --- flutter/lib/mobile/pages/home_page.dart | 19 ++++++++++++------- flutter/lib/models/chat_model.dart | 2 +- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/flutter/lib/mobile/pages/home_page.dart b/flutter/lib/mobile/pages/home_page.dart index 1fb75c1d1..3574f1cea 100644 --- a/flutter/lib/mobile/pages/home_page.dart +++ b/flutter/lib/mobile/pages/home_page.dart @@ -27,6 +27,9 @@ class _HomePageState extends State { int get selectedIndex => _selectedIndex; final List _pages = []; final _blockableOverlayState = BlockableOverlayState(); + bool get isChatPageCurrentTab => isAndroid + ? _selectedIndex == 1 + : false; // change this when ios have chat page void refreshPages() { setState(() { @@ -82,13 +85,15 @@ class _HomePageState extends State { unselectedItemColor: MyTheme.darkGray, onTap: (index) => setState(() { // close chat overlay when go chat page - if (index == 1 && _selectedIndex != index) { - gFFI.chatModel.hideChatIconOverlay(); - gFFI.chatModel.hideChatWindowOverlay(); - gFFI.chatModel - .mobileClearClientUnread(gFFI.chatModel.currentKey.connId); + if (_selectedIndex != index) { + _selectedIndex = index; + if (isChatPageCurrentTab) { + gFFI.chatModel.hideChatIconOverlay(); + gFFI.chatModel.hideChatWindowOverlay(); + gFFI.chatModel.mobileClearClientUnread( + gFFI.chatModel.currentKey.connId); + } } - _selectedIndex = index; }), ), body: _pages.elementAt(_selectedIndex), @@ -98,7 +103,7 @@ class _HomePageState extends State { Widget appTitle() { final currentUser = gFFI.chatModel.currentUser; final currentKey = gFFI.chatModel.currentKey; - if (_selectedIndex == 1 && + if (isChatPageCurrentTab && currentUser != null && currentKey.peerId.isNotEmpty) { final connected = diff --git a/flutter/lib/models/chat_model.dart b/flutter/lib/models/chat_model.dart index bffd9d426..5ab0a6929 100644 --- a/flutter/lib/models/chat_model.dart +++ b/flutter/lib/models/chat_model.dart @@ -396,7 +396,7 @@ class ChatModel with ChangeNotifier { parent.target?.serverModel.jumpTo(id); } } else { - if (HomePage.homeKey.currentState?.selectedIndex != 1 || + if (HomePage.homeKey.currentState?.isChatPageCurrentTab != true || _currentKey != messagekey) { client.unreadChatMessageCount.value += 1; mobileUpdateUnreadSum();