From 21d843f80fa8a6dd30ae1ec47961a61f344bd918 Mon Sep 17 00:00:00 2001 From: Mehmet Fidanboylu Date: Wed, 10 Jul 2019 17:52:20 -0700 Subject: [PATCH] Allow FDL plugin to be registered without an activity --- packages/firebase_dynamic_links/CHANGELOG.md | 4 ++++ .../firebasedynamiclinks/FirebaseDynamicLinksPlugin.java | 7 +++---- packages/firebase_dynamic_links/pubspec.yaml | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/packages/firebase_dynamic_links/CHANGELOG.md b/packages/firebase_dynamic_links/CHANGELOG.md index 27cb08bcf3b3..64b41dc9ee3a 100644 --- a/packages/firebase_dynamic_links/CHANGELOG.md +++ b/packages/firebase_dynamic_links/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.4.0+5 + +* Fix the bug below properly by allowing the activity to be null (but still registering the plugin). If activity is null, we don't get a latestIntent, instead we expect the intent listener to grab it. + ## 0.4.0+4 * Fixed bug on Android when a headless plugin tries to register this plugin causing a crash due no activity from the registrar. diff --git a/packages/firebase_dynamic_links/android/src/main/java/io/flutter/plugins/firebasedynamiclinks/FirebaseDynamicLinksPlugin.java b/packages/firebase_dynamic_links/android/src/main/java/io/flutter/plugins/firebasedynamiclinks/FirebaseDynamicLinksPlugin.java index 57fe065e86e2..c4ed3a5903f6 100644 --- a/packages/firebase_dynamic_links/android/src/main/java/io/flutter/plugins/firebasedynamiclinks/FirebaseDynamicLinksPlugin.java +++ b/packages/firebase_dynamic_links/android/src/main/java/io/flutter/plugins/firebasedynamiclinks/FirebaseDynamicLinksPlugin.java @@ -28,7 +28,9 @@ public class FirebaseDynamicLinksPlugin implements MethodCallHandler { private FirebaseDynamicLinksPlugin(Registrar registrar) { this.registrar = registrar; - latestIntent = registrar.activity().getIntent(); + if (registrar.activity() != null) { + latestIntent = registrar.activity().getIntent(); + } registrar.addNewIntentListener( new PluginRegistry.NewIntentListener() { @@ -41,9 +43,6 @@ public boolean onNewIntent(Intent intent) { } public static void registerWith(Registrar registrar) { - if (registrar.activity() == null) { - return; - } final MethodChannel channel = new MethodChannel(registrar.messenger(), "plugins.flutter.io/firebase_dynamic_links"); channel.setMethodCallHandler(new FirebaseDynamicLinksPlugin(registrar)); diff --git a/packages/firebase_dynamic_links/pubspec.yaml b/packages/firebase_dynamic_links/pubspec.yaml index c7d7be6b1208..587bcbcfcbf3 100644 --- a/packages/firebase_dynamic_links/pubspec.yaml +++ b/packages/firebase_dynamic_links/pubspec.yaml @@ -1,7 +1,7 @@ name: firebase_dynamic_links description: Flutter plugin for Google Dynamic Links for Firebase, an app solution for creating and handling links across multiple platforms. -version: 0.4.0+4 +version: 0.4.0+5 author: Flutter Team homepage: https://github.com/flutter/plugins/tree/master/packages/firebase_dynamic_links