소스 검색

ShareDialog: catch & log unhandled err during collection path decryption

Neeraj Gupta 3 년 전
부모
커밋
a9de0f9bb7
1개의 변경된 파일9개의 추가작업 그리고 7개의 파일을 삭제
  1. 9 7
      lib/ui/share_collection_widget.dart

+ 9 - 7
lib/ui/share_collection_widget.dart

@@ -32,6 +32,7 @@ class _SharingDialogState extends State<SharingDialog> {
   bool _showEntryField = false;
   bool _showEntryField = false;
   List<User> _sharees;
   List<User> _sharees;
   String _email;
   String _email;
+  final Logger _logger = Logger("SharingDialogState");
 
 
   @override
   @override
   Widget build(BuildContext context) {
   Widget build(BuildContext context) {
@@ -208,14 +209,14 @@ class _SharingDialogState extends State<SharingDialog> {
       final dialog = createProgressDialog(context, "sharing...");
       final dialog = createProgressDialog(context, "sharing...");
       await dialog.show();
       await dialog.show();
       final collection = widget.collection;
       final collection = widget.collection;
-      if (collection.type == CollectionType.folder) {
-        final path =
-            CollectionsService.instance.decryptCollectionPath(collection);
-        if (!Configuration.instance.getPathsToBackUp().contains(path)) {
-          await Configuration.instance.addPathToFoldersToBeBackedUp(path);
-        }
-      }
       try {
       try {
+        if (collection.type == CollectionType.folder) {
+          final path =
+              CollectionsService.instance.decryptCollectionPath(collection);
+          if (!Configuration.instance.getPathsToBackUp().contains(path)) {
+            await Configuration.instance.addPathToFoldersToBeBackedUp(path);
+          }
+        }
         await CollectionsService.instance
         await CollectionsService.instance
             .share(widget.collection.id, email, publicKey);
             .share(widget.collection.id, email, publicKey);
         await dialog.hide();
         await dialog.hide();
@@ -260,6 +261,7 @@ class _SharingDialogState extends State<SharingDialog> {
             },
             },
           );
           );
         } else {
         } else {
+          _logger.severe("failed to share collection", e);
           showGenericErrorDialog(context);
           showGenericErrorDialog(context);
         }
         }
       }
       }