From 258e62a28f69df40756718260111323bc185cc84 Mon Sep 17 00:00:00 2001 From: Tom Hicks Date: Sat, 1 May 2021 13:37:11 -0700 Subject: [PATCH] Adds Flipper support to debug DB issues. --- app/build.gradle | 5 +++++ app/src/main/AndroidManifest.xml | 3 +++ .../monstercards/MonsterCardsApplication.java | 21 ++++++++++++++++++- 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 8d8816b..5bb2136 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -88,4 +88,9 @@ dependencies { //testImplementation "androidx.room:room-testing:$room_version" implementation 'com.google.code.gson:gson:2.8.6' + + // Flipper + debugImplementation 'com.facebook.flipper:flipper:0.87.0' + debugImplementation 'com.facebook.soloader:soloader:0.10.1' + releaseImplementation 'com.facebook.flipper:flipper-noop:0.87.0' } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 90cdf2a..c6ee887 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -19,6 +19,9 @@ + diff --git a/app/src/main/java/com/majinnaibu/monstercards/MonsterCardsApplication.java b/app/src/main/java/com/majinnaibu/monstercards/MonsterCardsApplication.java index 62d1c02..c8da1fb 100644 --- a/app/src/main/java/com/majinnaibu/monstercards/MonsterCardsApplication.java +++ b/app/src/main/java/com/majinnaibu/monstercards/MonsterCardsApplication.java @@ -6,6 +6,14 @@ import android.content.res.Configuration; import androidx.room.Room; +import com.facebook.flipper.android.AndroidFlipperClient; +import com.facebook.flipper.android.utils.FlipperUtils; +import com.facebook.flipper.core.FlipperClient; +import com.facebook.flipper.plugins.databases.DatabasesFlipperPlugin; +import com.facebook.flipper.plugins.inspector.DescriptorMapping; +import com.facebook.flipper.plugins.inspector.InspectorFlipperPlugin; +import com.facebook.flipper.plugins.navigation.NavigationFlipperPlugin; +import com.facebook.soloader.SoLoader; import com.majinnaibu.monstercards.data.MonsterRepository; public class MonsterCardsApplication extends Application { @@ -31,8 +39,19 @@ public class MonsterCardsApplication extends Application { public void onCreate() { super.onCreate(); // Required initialization logic here! + SoLoader.init(this, false); - m_db = Room.databaseBuilder(getApplicationContext(), AppDatabase.class, "monsters").build(); + if (BuildConfig.DEBUG && FlipperUtils.shouldEnableFlipper(this)) { + final FlipperClient client = AndroidFlipperClient.getInstance(this); + client.addPlugin(new InspectorFlipperPlugin(this, DescriptorMapping.withDefaults())); + client.addPlugin(new DatabasesFlipperPlugin(this)); + client.addPlugin(NavigationFlipperPlugin.getInstance()); + client.start(); + } + + m_db = Room.databaseBuilder(getApplicationContext(), AppDatabase.class, "monsters") + .fallbackToDestructiveMigrationOnDowngrade() + .build(); m_monsterLibraryRepository = new MonsterRepository(m_db); }