diff --git a/packages/stream_chat_flutter/CHANGELOG.md b/packages/stream_chat_flutter/CHANGELOG.md index 0f3b914a..8d4faca8 100644 --- a/packages/stream_chat_flutter/CHANGELOG.md +++ b/packages/stream_chat_flutter/CHANGELOG.md @@ -2,6 +2,10 @@ - Updated Dart SDK constraints to `>=2.14.0 <3.0.0` +🐞 Fixed + +- [[#491]](https://github.com/GetStream/stream-chat-flutter/issues/491): Fix `MediaListView` showing media in wrong order. + ✅ Added - `MessageListViewThemeData` now accepts a `DecorationImage` as a background image for `MessageListView`. diff --git a/packages/stream_chat_flutter/lib/src/media_list_view.dart b/packages/stream_chat_flutter/lib/src/media_list_view.dart index 4c845529..8b1f7f06 100644 --- a/packages/stream_chat_flutter/lib/src/media_list_view.dart +++ b/packages/stream_chat_flutter/lib/src/media_list_view.dart @@ -1,5 +1,6 @@ import 'dart:ui' as ui; +import 'package:collection/collection.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; @@ -145,21 +146,24 @@ class _MediaListViewState extends State { } Future _getMedia() async { - final assetList = await PhotoManager.getAssetPathList().then((value) { - if (value.isNotEmpty) { - return value.singleWhere((element) => element.isAll); - } - }); + final assetList = (await PhotoManager.getAssetPathList( + filterOption: FilterOptionGroup( + orders: [ + const OrderOption( + // ignore: avoid_redundant_argument_values + type: OrderOptionType.createDate, + ), + ], + ), + onlyAll: true, + )) + .firstOrNull; - if (assetList == null) { - return; - } + final media = await assetList?.getAssetListPaged(_currentPage, 50); - final media = await assetList.getAssetListPaged(_currentPage, 50); - - if (media.isNotEmpty) { + if (media?.isNotEmpty == true) { setState(() { - _media.addAll(media); + _media.addAll(media!); }); } ++_currentPage; diff --git a/packages/stream_chat_flutter/lib/src/theme/message_list_view_theme.dart b/packages/stream_chat_flutter/lib/src/theme/message_list_view_theme.dart index 1e968fed..e4857a79 100644 --- a/packages/stream_chat_flutter/lib/src/theme/message_list_view_theme.dart +++ b/packages/stream_chat_flutter/lib/src/theme/message_list_view_theme.dart @@ -118,8 +118,11 @@ class MessageListViewThemeData with Diagnosticable { properties ..add(ColorProperty('backgroundColor', backgroundColor)) ..add( - DiagnosticsProperty('backgroundImage', backgroundImage, - defaultValue: null), + DiagnosticsProperty( + 'backgroundImage', + backgroundImage, + defaultValue: null, + ), ); } }