Merge branch 'develop' of https://github.com/GetStream/stream-chat-flutter into live-event-improvements

This commit is contained in:
Ayush Shekhar
2022-03-21 06:33:06 +05:30
14 changed files with 73 additions and 24 deletions
@@ -14,6 +14,7 @@ class UrlAttachment extends StatelessWidget {
horizontal: 16,
vertical: 8,
),
this.onLinkTap,
}) : super(key: key);
/// Attachment to be displayed
@@ -28,13 +29,20 @@ class UrlAttachment extends StatelessWidget {
/// [MessageThemeData] for showing image title
final MessageThemeData messageTheme;
/// The function called when tapping on a link
final void Function(String)? onLinkTap;
@override
Widget build(BuildContext context) {
final chatThemeData = StreamChatTheme.of(context);
return GestureDetector(
onTap: () {
final titleLink = urlAttachment.titleLink;
if (titleLink != null) launchURL(context, titleLink);
if (titleLink != null) {
onLinkTap != null
? onLinkTap!(titleLink)
: launchURL(context, titleLink);
}
},
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
@@ -158,7 +158,10 @@ class _MediaListViewState extends State<MediaListView> {
))
.firstOrNull;
final media = await assetList?.getAssetListPaged(_currentPage, 50);
final media = await assetList?.getAssetListPaged(
page: _currentPage,
size: 50,
);
if (media?.isNotEmpty == true) {
setState(() {
@@ -197,7 +200,7 @@ class MediaThumbnailProvider extends ImageProvider<MediaThumbnailProvider> {
DecoderCallback decode,
) async {
assert(key == this, 'Checks MediaThumbnailProvider');
final bytes = await media.thumbData;
final bytes = await media.thumbnailData;
return decode(bytes!);
}
@@ -1982,12 +1982,12 @@ class _PickerWidget extends StatefulWidget {
}
class _PickerWidgetState extends State<_PickerWidget> {
Future<bool>? requestPermission;
Future<PermissionState>? requestPermission;
@override
void initState() {
super.initState();
requestPermission = PhotoManager.requestPermission();
requestPermission = PhotoManager.requestPermissionExtend();
}
@override
@@ -1995,14 +1995,15 @@ class _PickerWidgetState extends State<_PickerWidget> {
if (widget.filePickerIndex != 0) {
return const Offstage();
}
return FutureBuilder<bool>(
return FutureBuilder<PermissionState>(
future: requestPermission,
builder: (context, snapshot) {
if (!snapshot.hasData) {
return const Offstage();
}
if (snapshot.data!) {
if ([PermissionState.authorized, PermissionState.limited]
.contains(snapshot.data)) {
if (widget.containsFile) {
return GestureDetector(
onTap: () {
@@ -1013,6 +1013,7 @@ class _MessageWidgetState extends State<MessageWidget>
hostDisplayName: hostDisplayName,
textPadding: widget.textPadding,
messageTheme: widget.messageTheme,
onLinkTap: widget.onLinkTap,
);
}