diff --git a/packages/stream_chat_flutter/lib/src/message_input/stream_attachment_picker.dart b/packages/stream_chat_flutter/lib/src/message_input/stream_attachment_picker.dart index 2c254223..8389d3c7 100644 --- a/packages/stream_chat_flutter/lib/src/message_input/stream_attachment_picker.dart +++ b/packages/stream_chat_flutter/lib/src/message_input/stream_attachment_picker.dart @@ -426,12 +426,12 @@ class _PickerWidget extends StatefulWidget { } class _PickerWidgetState extends State<_PickerWidget> { - Future? requestPermission; + Future? requestPermission; @override void initState() { super.initState(); - requestPermission = PhotoManager.requestPermission(); + requestPermission = PhotoManager.requestPermissionExtend(); } @override @@ -440,14 +440,15 @@ class _PickerWidgetState extends State<_PickerWidget> { return widget.customAttachmentTypes[widget.filePickerIndex - 1] .pickerBuilder(context); } - return FutureBuilder( + return FutureBuilder( 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 || !widget.allowedAttachmentTypes .contains(DefaultAttachmentTypes.image)) {