From 59db6c63b66dd6a4f133ce735f85f9ccfea6cff3 Mon Sep 17 00:00:00 2001 From: Hoa Dinh Date: Wed, 23 Mar 2022 08:11:46 -0700 Subject: [PATCH] Make msys database available in Flipper Database plugin Summary: DefaultSqliteDatabaseProvider only list databases in the "files" folder & "databases" folder: /data/user/0/com.facebook.wakizashi/files/ /data/user/0/com.facebook.wakizashi/databases/ On Messenger in Blue, msys database is located in the folder /data/data/com.facebook.wakizashi/app_mib_msys and therefore is not found automatically. This patch makes the Database Flipper dolphin see the msys database by also listing the databases referred via extraDatabaseFiles. Differential Revision: D35041276 fbshipit-source-id: e91b95fdc3bb31d414087cdea4a6825a98f3210a --- .../databases/impl/DefaultSqliteDatabaseProvider.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/android/src/main/java/com/facebook/flipper/plugins/databases/impl/DefaultSqliteDatabaseProvider.java b/android/src/main/java/com/facebook/flipper/plugins/databases/impl/DefaultSqliteDatabaseProvider.java index dec7b50b9..cc0029bee 100644 --- a/android/src/main/java/com/facebook/flipper/plugins/databases/impl/DefaultSqliteDatabaseProvider.java +++ b/android/src/main/java/com/facebook/flipper/plugins/databases/impl/DefaultSqliteDatabaseProvider.java @@ -18,6 +18,7 @@ public class DefaultSqliteDatabaseProvider implements SqliteDatabaseProvider { private final int fileDirectoryRecursiveDepth; private final Context context; + private static final List extraDatabaseFiles = new ArrayList<>(); public DefaultSqliteDatabaseProvider(Context context) { this(context, MAX_RECURSIVE_TRAVERSAL_DEPTH); @@ -40,6 +41,9 @@ public class DefaultSqliteDatabaseProvider implements SqliteDatabaseProvider { DB_EXTENSION, fileDirectoryRecursiveDepth, databaseFiles); + synchronized (extraDatabaseFiles) { + databaseFiles.addAll(extraDatabaseFiles); + } return databaseFiles; } @@ -59,4 +63,10 @@ public class DefaultSqliteDatabaseProvider implements SqliteDatabaseProvider { } } } + + public static void registerExtraDatabaseFile(File file) { + synchronized (extraDatabaseFiles) { + extraDatabaseFiles.add(file); + } + } }