From 6d76130cbe7da06a7f4054deb90cef0c8d8451d8 Mon Sep 17 00:00:00 2001
From: OmarHatem <omarh.ismail1@gmail.com>
Date: Sun, 19 May 2024 05:44:59 +0300
Subject: [PATCH] handle previous issue with fetching linux documents directory
 [skip ci]

---
 cw_core/lib/root_dir.dart | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/cw_core/lib/root_dir.dart b/cw_core/lib/root_dir.dart
index 0cced9797..c2a8170bc 100644
--- a/cw_core/lib/root_dir.dart
+++ b/cw_core/lib/root_dir.dart
@@ -12,14 +12,22 @@ Future<Directory> getAppDir({String appName = 'cake_wallet'}) async {
     dir = Directory.fromUri(Uri.file(_rootDirPath!));
     dir.create(recursive: true);
   } else {
-    dir = await getApplicationDocumentsDirectory();
-
     if (Platform.isWindows) {
       dir = await getApplicationSupportDirectory();
     } else if (Platform.isLinux) {
-      final appDirPath = '${dir.path}/$appName';
+      String appDirPath;
+
+      try {
+        dir = await getApplicationDocumentsDirectory();
+        appDirPath = '${dir.path}/$appName';
+      } catch (e) {
+        appDirPath = '/home/${Platform.environment['USER']}/.$appName';
+      }
+
       dir = Directory.fromUri(Uri.file(appDirPath));
       await dir.create(recursive: true);
+    } else {
+      dir = await getApplicationDocumentsDirectory();
     }
   }