From 29643489d601c54e102371a5376fc9d23158848c Mon Sep 17 00:00:00 2001 From: haroon amjad Date: Mon, 22 Jan 2024 12:56:39 +0300 Subject: [PATCH 1/2] Added permissions for viewing files --- android/app/src/main/res/xml/filepaths.xml | 3 ++ .../screens/mowadhafhi/request_details.dart | 44 ++++++++++++++----- 2 files changed, 35 insertions(+), 12 deletions(-) diff --git a/android/app/src/main/res/xml/filepaths.xml b/android/app/src/main/res/xml/filepaths.xml index b05757c..6c5db6a 100644 --- a/android/app/src/main/res/xml/filepaths.xml +++ b/android/app/src/main/res/xml/filepaths.xml @@ -2,4 +2,7 @@ + + + \ No newline at end of file diff --git a/lib/ui/screens/mowadhafhi/request_details.dart b/lib/ui/screens/mowadhafhi/request_details.dart index b2371ab..4ea47b0 100644 --- a/lib/ui/screens/mowadhafhi/request_details.dart +++ b/lib/ui/screens/mowadhafhi/request_details.dart @@ -17,8 +17,10 @@ import 'package:mohem_flutter_app/models/mowadhafhi/get_ticket_transactions.dart import 'package:mohem_flutter_app/models/mowadhafhi/get_transaction_attachment_model.dart'; import 'package:mohem_flutter_app/ui/screens/mowadhafhi/view_transaction_attachment.dart'; import 'package:mohem_flutter_app/widgets/app_bar_widget.dart'; +import 'package:mohem_flutter_app/widgets/dialogs/confirm_dialog.dart'; import 'package:open_file/open_file.dart'; import 'package:path_provider/path_provider.dart'; +import 'package:permission_handler/permission_handler.dart'; class MowadhafhiRequestDetails extends StatefulWidget { const MowadhafhiRequestDetails({Key? key}) : super(key: key); @@ -263,20 +265,38 @@ class _RequestDetailsState extends State { } void handleTransactionAttachment() async { - String ext = ''; - String? rFile = getTransactionAttachmentModel!.base64String; - String? rFileExt = getTransactionAttachmentModel!.fileName; - ext = rFileExt!.split(".").last.toLowerCase(); + Permission.storage.isGranted.then((isGranted) { + if (!isGranted) { + Permission.manageExternalStorage.request().then((granted) async { + if (granted == PermissionStatus.granted) { + String ext = ''; + String? rFile = getTransactionAttachmentModel!.base64String; + String? rFileExt = getTransactionAttachmentModel!.fileName; - try { - String path = await _createFileFromString(rFile!.split("base64,").last ?? "", ext ?? ""); - debugPrint(path); + ext = rFileExt!.split(".").last.toLowerCase(); - print(" file here: ${File(path).existsSync()}"); - await OpenFile.open(path); - } catch (ex) { - Utils.showToast("Cannot open file."); - } + try { + String path = await _createFileFromString(rFile!.split("base64,").last ?? "", ext ?? ""); + await OpenFile.open(path).catchError((err) { + print(err); + }); + } catch (ex) { + Utils.showToast("Cannot open file."); + } + } else { + showDialog( + context: context, + builder: (BuildContext cxt) => ConfirmDialog( + message: "You need to give storage permission to view files.", + onTap: () { + Navigator.pop(context); + }, + ), + ); + } + }); + } + }); } } From 4e7e5bc0e7d1cb57ca12af57c944ee57dc4a50ab Mon Sep 17 00:00:00 2001 From: haroon amjad Date: Mon, 22 Jan 2024 13:41:41 +0300 Subject: [PATCH 2/2] document type name updated in My Documents --- lib/ui/screens/mowadhafhi/request_details.dart | 2 -- lib/ui/screens/my_documents/my_documents_fragment.dart | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/ui/screens/mowadhafhi/request_details.dart b/lib/ui/screens/mowadhafhi/request_details.dart index 4ea47b0..352e195 100644 --- a/lib/ui/screens/mowadhafhi/request_details.dart +++ b/lib/ui/screens/mowadhafhi/request_details.dart @@ -265,7 +265,6 @@ class _RequestDetailsState extends State { } void handleTransactionAttachment() async { - Permission.storage.isGranted.then((isGranted) { if (!isGranted) { Permission.manageExternalStorage.request().then((granted) async { @@ -275,7 +274,6 @@ class _RequestDetailsState extends State { String? rFileExt = getTransactionAttachmentModel!.fileName; ext = rFileExt!.split(".").last.toLowerCase(); - try { String path = await _createFileFromString(rFile!.split("base64,").last ?? "", ext ?? ""); await OpenFile.open(path).catchError((err) { diff --git a/lib/ui/screens/my_documents/my_documents_fragment.dart b/lib/ui/screens/my_documents/my_documents_fragment.dart index 6bc46f7..5a9c88d 100644 --- a/lib/ui/screens/my_documents/my_documents_fragment.dart +++ b/lib/ui/screens/my_documents/my_documents_fragment.dart @@ -79,7 +79,7 @@ class _MyDocumentsFragmentState extends State { Navigator.pushNamed( context, AppRoutes.addDynamicInput, - arguments: DynamicListViewParams(documentfilteredList[index].dOCUMENTTYPE!, documentfilteredList[index].fUNCTIONNAME!, + arguments: DynamicListViewParams(documentfilteredList[index].dOCUMENTTYPENAME!, documentfilteredList[index].fUNCTIONNAME!, selectedEmp: AppState().getUserName, isAttachmentMandatory: true), ); });