diff --git a/android/sample/src/debug/java/com/facebook/flipper/sample/FlipperInitializer.java b/android/sample/src/debug/java/com/facebook/flipper/sample/FlipperInitializer.java index 1fe8af6c0..a65056996 100644 --- a/android/sample/src/debug/java/com/facebook/flipper/sample/FlipperInitializer.java +++ b/android/sample/src/debug/java/com/facebook/flipper/sample/FlipperInitializer.java @@ -17,6 +17,7 @@ import com.facebook.flipper.plugins.inspector.DescriptorMapping; import com.facebook.flipper.plugins.inspector.InspectorFlipperPlugin; import com.facebook.flipper.plugins.leakcanary.LeakCanaryFlipperPlugin; import com.facebook.flipper.plugins.litho.LithoFlipperDescriptors; +import com.facebook.flipper.plugins.navigation.NavigationFlipperPlugin; import com.facebook.flipper.plugins.network.FlipperOkhttpInterceptor; import com.facebook.flipper.plugins.network.NetworkFlipperPlugin; import com.facebook.flipper.plugins.sharedpreferences.SharedPreferencesFlipperPlugin; @@ -54,6 +55,7 @@ public final class FlipperInitializer { client.addPlugin(new ExampleFlipperPlugin()); client.addPlugin(CrashReporterPlugin.getInstance()); client.addPlugin(new DatabasesFlipperPlugin(context)); + client.addPlugin(NavigationFlipperPlugin.getInstance()); client.start(); final OkHttpClient okHttpClient = diff --git a/android/sample/src/debug/java/com/facebook/flipper/sample/NavigationFacade.java b/android/sample/src/debug/java/com/facebook/flipper/sample/NavigationFacade.java new file mode 100644 index 000000000..26f3df70a --- /dev/null +++ b/android/sample/src/debug/java/com/facebook/flipper/sample/NavigationFacade.java @@ -0,0 +1,21 @@ +/* + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +package com.facebook.flipper.sample; + +import com.facebook.flipper.plugins.navigation.NavigationFlipperPlugin; + +/** + * Limited interface to the navigation plugin which is only available for debug builds. + */ +public class NavigationFacade { + private NavigationFacade() {} + + public static void sendNavigationEvent(String value) { + NavigationFlipperPlugin.getInstance().sendNavigationEvent(value); + } +} diff --git a/android/sample/src/main/java/com/facebook/flipper/sample/DeepLinkActivity.java b/android/sample/src/main/java/com/facebook/flipper/sample/DeepLinkActivity.java index 69f052880..8b56514a9 100644 --- a/android/sample/src/main/java/com/facebook/flipper/sample/DeepLinkActivity.java +++ b/android/sample/src/main/java/com/facebook/flipper/sample/DeepLinkActivity.java @@ -9,7 +9,6 @@ package com.facebook.flipper.sample; import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; -import com.facebook.flipper.plugins.navigation.NavigationFlipperPlugin; import com.facebook.litho.Component; import com.facebook.litho.ComponentContext; import com.facebook.litho.LithoView; @@ -20,7 +19,7 @@ public class DeepLinkActivity extends AppCompatActivity { @Override protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); - NavigationFlipperPlugin.getInstance().sendNavigationEvent("flipper://deep_link_activity/"); + NavigationFacade.sendNavigationEvent("flipper://deep_link_activity/"); final ComponentContext context = new ComponentContext(this); diff --git a/android/sample/src/main/java/com/facebook/flipper/sample/FlipperSampleApplication.java b/android/sample/src/main/java/com/facebook/flipper/sample/FlipperSampleApplication.java index 2722def8b..1b0e3d859 100644 --- a/android/sample/src/main/java/com/facebook/flipper/sample/FlipperSampleApplication.java +++ b/android/sample/src/main/java/com/facebook/flipper/sample/FlipperSampleApplication.java @@ -13,7 +13,6 @@ import android.database.DatabaseUtils; import com.facebook.drawee.backends.pipeline.Fresco; import com.facebook.flipper.android.AndroidFlipperClient; import com.facebook.flipper.core.FlipperClient; -import com.facebook.flipper.plugins.navigation.NavigationFlipperPlugin; import com.facebook.flipper.sample.network.NetworkClient; import com.facebook.soloader.SoLoader; @@ -25,8 +24,6 @@ public class FlipperSampleApplication extends Application { Fresco.initialize(this); final FlipperClient client = AndroidFlipperClient.getInstance(this); - client.addPlugin(NavigationFlipperPlugin.getInstance()); - final FlipperInitializer.IntializationResult initializationResult = FlipperInitializer.initFlipperPlugins(this, client); diff --git a/android/sample/src/main/java/com/facebook/flipper/sample/MainActivity.java b/android/sample/src/main/java/com/facebook/flipper/sample/MainActivity.java index 227453177..3c83426a4 100644 --- a/android/sample/src/main/java/com/facebook/flipper/sample/MainActivity.java +++ b/android/sample/src/main/java/com/facebook/flipper/sample/MainActivity.java @@ -12,7 +12,6 @@ import androidx.appcompat.app.AppCompatActivity; import com.facebook.flipper.android.AndroidFlipperClient; import com.facebook.flipper.core.FlipperClient; import com.facebook.flipper.plugins.example.ExampleFlipperPlugin; -import com.facebook.flipper.plugins.navigation.NavigationFlipperPlugin; import com.facebook.litho.ComponentContext; import com.facebook.litho.LithoView; @@ -22,7 +21,7 @@ public class MainActivity extends AppCompatActivity { protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); - NavigationFlipperPlugin.getInstance().sendNavigationEvent("flipper://demo_page/"); + NavigationFacade.sendNavigationEvent("flipper://deep_link_activity/"); final ComponentContext c = new ComponentContext(this); setContentView(LithoView.create(c, RootComponent.create(c).build())); diff --git a/android/sample/src/release/java/com/facebook/flipper/sample/NavigationFacade.java b/android/sample/src/release/java/com/facebook/flipper/sample/NavigationFacade.java new file mode 100644 index 000000000..033b3e40b --- /dev/null +++ b/android/sample/src/release/java/com/facebook/flipper/sample/NavigationFacade.java @@ -0,0 +1,19 @@ +/* + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +package com.facebook.flipper.sample; + +/** + * No-op implementation of an ad-hoc interface. See debug/ for the real implementation. + */ +public class NavigationFacade { + private NavigationFacade() {} + + public static void sendNavigationEvent(String value) { + // no-nop + } +}