From d4505620ff057c6401f4555e0b70380508f87936 Mon Sep 17 00:00:00 2001 From: Salvatore Giordano Date: Wed, 18 May 2022 11:56:52 +0200 Subject: [PATCH] update to flutter 3.0 --- packages/stream_chat_v1/.metadata | 39 ++++++++++- packages/stream_chat_v1/lib/channel_page.dart | 5 +- .../stream_chat_v1/lib/group_info_screen.dart | 69 +++++++++---------- packages/stream_chat_v1/lib/main.dart | 4 +- packages/stream_chat_v1/lib/thread_page.dart | 8 ++- 5 files changed, 79 insertions(+), 46 deletions(-) diff --git a/packages/stream_chat_v1/.metadata b/packages/stream_chat_v1/.metadata index 783bcdc..ce13b42 100644 --- a/packages/stream_chat_v1/.metadata +++ b/packages/stream_chat_v1/.metadata @@ -1,10 +1,45 @@ # This file tracks properties of this Flutter project. # Used by Flutter tool to assess capabilities and perform upgrades etc. # -# This file should be version controlled and should not be manually edited. +# This file should be version controlled. version: - revision: 8962f6dc68ec8e2206ac2fa874da4a453856c7d3 + revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851 channel: stable project_type: app + +# Tracks metadata for the flutter migrate command +migration: + platforms: + - platform: root + create_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851 + base_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851 + - platform: android + create_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851 + base_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851 + - platform: ios + create_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851 + base_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851 + - platform: linux + create_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851 + base_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851 + - platform: macos + create_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851 + base_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851 + - platform: web + create_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851 + base_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851 + - platform: windows + create_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851 + base_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851 + + # User provided section + + # List of Local paths (relative to this file) that should be + # ignored by the migrate tool. + # + # Files that are not part of the templates will be ignored by default. + unmanaged_files: + - 'lib/main.dart' + - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/packages/stream_chat_v1/lib/channel_page.dart b/packages/stream_chat_v1/lib/channel_page.dart index e2b2d42..9a4b057 100644 --- a/packages/stream_chat_v1/lib/channel_page.dart +++ b/packages/stream_chat_v1/lib/channel_page.dart @@ -35,7 +35,8 @@ class ChannelPage extends StatefulWidget { class _ChannelPageState extends State { FocusNode? _focusNode; - StreamMessageInputController _messageInputController = StreamMessageInputController(); + StreamMessageInputController _messageInputController = + StreamMessageInputController(); @override void initState() { @@ -51,7 +52,7 @@ class _ChannelPageState extends State { void _reply(Message message) { _messageInputController.quotedMessage = message; - WidgetsBinding.instance!.addPostFrameCallback((timeStamp) { + WidgetsBinding.instance.addPostFrameCallback((timeStamp) { _focusNode!.requestFocus(); }); } diff --git a/packages/stream_chat_v1/lib/group_info_screen.dart b/packages/stream_chat_v1/lib/group_info_screen.dart index 529c0a4..a03bace 100644 --- a/packages/stream_chat_v1/lib/group_info_screen.dart +++ b/packages/stream_chat_v1/lib/group_info_screen.dart @@ -41,28 +41,7 @@ class _GroupInfoScreenState extends State { late final channel = StreamChannel.of(context).channel; - late final userListController = StreamUserListController( - client: StreamChat.of(context).client, - limit: 25, - filter: Filter.and( - [ - if (_searchController!.text.isNotEmpty) - Filter.autoComplete('name', _userNameQuery), - Filter.notIn('id', [ - StreamChat.of(context).currentUser!.id, - ...channel.state!.members - .map(((e) => e.userId)) - .whereType(), - ]), - ], - ), - sort: [ - SortOption( - 'name', - direction: 1, - ), - ], - ); + late StreamUserListController userListController; void _userNameListener() { if (_searchController!.text == _userNameQuery) { @@ -104,6 +83,33 @@ class _GroupInfoScreenState extends State { mutedBool = ValueNotifier(channel.isMuted); } + @override + void didChangeDependencies() { + userListController = StreamUserListController( + client: StreamChat.of(context).client, + limit: 25, + filter: Filter.and( + [ + if (_searchController!.text.isNotEmpty) + Filter.autoComplete('name', _userNameQuery), + Filter.notIn('id', [ + StreamChat.of(context).currentUser!.id, + ...channel.state!.members + .map(((e) => e.userId)) + .whereType(), + ]), + ], + ), + sort: [ + SortOption( + 'name', + direction: 1, + ), + ], + ); + super.didChangeDependencies(); + } + @override void dispose() { userListController.dispose(); @@ -220,7 +226,7 @@ class _GroupInfoScreenState extends State { Widget _buildMembers(List members) { final groupMembers = members ..sort((prev, curr) { - if (curr.role == 'owner') return 1; + if (curr.userId == channel.createdBy?.id) return 1; return 0; }); @@ -246,7 +252,8 @@ class _GroupInfoScreenState extends State { final userMember = groupMembers.firstWhereOrNull( (e) => e.user!.id == StreamChat.of(context).currentUser!.id, ); - _showUserInfoModal(member.user, userMember?.role == 'owner'); + _showUserInfoModal( + member.user, userMember?.userId == channel.createdBy?.id); }, child: Container( height: 65.0, @@ -293,7 +300,7 @@ class _GroupInfoScreenState extends State { Padding( padding: const EdgeInsets.all(8.0), child: Text( - member.role == 'owner' + member.userId == channel.createdBy?.id ? AppLocalizations.of(context).owner : '', style: TextStyle( @@ -920,18 +927,6 @@ class _GroupInfoScreenState extends State { ); }, ), - // if (!channel.isDistinct && - // StreamChat.of(context).user!.id != user.id && - // isUserAdmin) - // _buildModalListTile( - // context, - // StreamSvgIcon.iconUserSettings( - // color: StreamChatTheme.of(context).colorTheme.textLowEmphasis, - // size: 24.0, - // ), - // 'Make Owner', () { - // // TODO: Add make owner implementation (Remaining from backend) - // }), if (!channel.isDistinct && StreamChat.of(context).currentUser!.id != user.id && isUserAdmin) diff --git a/packages/stream_chat_v1/lib/main.dart b/packages/stream_chat_v1/lib/main.dart index 3acb1a9..9169070 100644 --- a/packages/stream_chat_v1/lib/main.dart +++ b/packages/stream_chat_v1/lib/main.dart @@ -36,7 +36,7 @@ void sampleAppLogHandler(LogRecord record) async { StreamChatClient buildStreamChatClient( String apiKey, { - Level logLevel = Level.SEVERE, + Level logLevel = Level.INFO, }) { return StreamChatClient( apiKey, @@ -129,7 +129,7 @@ class _MyAppState extends State final now = DateTime.now().millisecondsSinceEpoch; if (now - timeOfStartMs > 1500) { - SchedulerBinding.instance!.addPostFrameCallback((timeStamp) { + SchedulerBinding.instance.addPostFrameCallback((timeStamp) { forwardAnimations(); }); } else { diff --git a/packages/stream_chat_v1/lib/thread_page.dart b/packages/stream_chat_v1/lib/thread_page.dart index 3983cb7..d5f9c77 100644 --- a/packages/stream_chat_v1/lib/thread_page.dart +++ b/packages/stream_chat_v1/lib/thread_page.dart @@ -24,8 +24,10 @@ class _ThreadPageState extends State { @override void initState() { super.initState(); - _messageInputController = - StreamMessageInputController(message: widget.parent); + _messageInputController = StreamMessageInputController( + message: Message( + parentId: widget.parent.id, + )); } @override @@ -36,7 +38,7 @@ class _ThreadPageState extends State { void _reply(Message message) { _messageInputController.quotedMessage = message; - WidgetsBinding.instance!.addPostFrameCallback((timeStamp) { + WidgetsBinding.instance.addPostFrameCallback((timeStamp) { _focusNode.requestFocus(); }); }