From fb4dc765322de8c8a0c14c9728e8cd41be3581c8 Mon Sep 17 00:00:00 2001 From: Salvatore Giordano Date: Mon, 20 Jun 2022 10:23:38 +0200 Subject: [PATCH] fix(ui): request permission only when showing the picker --- .../stream_attachment_picker.dart | 37 ++++++++++--------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/packages/stream_chat_flutter/lib/src/v4/message_input/stream_attachment_picker.dart b/packages/stream_chat_flutter/lib/src/v4/message_input/stream_attachment_picker.dart index d34ba2f9..bea16577 100644 --- a/packages/stream_chat_flutter/lib/src/v4/message_input/stream_attachment_picker.dart +++ b/packages/stream_chat_flutter/lib/src/v4/message_input/stream_attachment_picker.dart @@ -282,25 +282,26 @@ class _StreamAttachmentPickerState extends State { .iconBuilder(context, _filePickerIndex == i + 1), ), const Spacer(), - FutureBuilder( - future: PhotoManager.requestPermissionExtend(), - builder: (context, snapshot) { - if (snapshot.hasData && - snapshot.data == PermissionState.limited) { - return TextButton( - child: Text(context.translations.viewLibrary), - onPressed: () async { - await PhotoManager.presentLimited(); - _mediaListViewController.updateMedia( - newValue: true, - ); - }, - ); - } + if (widget.isOpen) + FutureBuilder( + future: PhotoManager.requestPermissionExtend(), + builder: (context, snapshot) { + if (snapshot.hasData && + snapshot.data == PermissionState.limited) { + return TextButton( + child: Text(context.translations.viewLibrary), + onPressed: () async { + await PhotoManager.presentLimited(); + _mediaListViewController.updateMedia( + newValue: true, + ); + }, + ); + } - return const SizedBox.shrink(); - }, - ), + return const SizedBox.shrink(); + }, + ), ], ), DecoratedBox(