@@ -92,6 +92,9 @@ public void onMethodCall(MethodCall call, Result result) {
92
92
builder .setLongLink (url );
93
93
buildShortDynamicLink (builder , call , createShortLinkListener (result ));
94
94
break ;
95
+ case "FirebaseDynamicLinks#getDynamicLink" :
96
+ handleGetDynamicLink (result , Uri .parse ((String ) call .argument ("url" )));
97
+ break ;
95
98
case "FirebaseDynamicLinks#getInitialLink" :
96
99
handleGetInitialDynamicLink (result );
97
100
break ;
@@ -114,17 +117,8 @@ private Map<String, Object> getMapFromPendingDynamicLinkData(
114
117
return dynamicLink ;
115
118
}
116
119
117
- private void handleGetInitialDynamicLink (final Result result ) {
118
- // If there's no activity, then there's no initial dynamic link.
119
- if (registrar .activity () == null ) {
120
- result .success (null );
121
- return ;
122
- }
123
-
124
- FirebaseDynamicLinks .getInstance ()
125
- .getDynamicLink (registrar .activity ().getIntent ())
126
- .addOnSuccessListener (
127
- registrar .activity (),
120
+ private void addDynamicLinkListener (Task <PendingDynamicLinkData > task , final Result result ) {
121
+ task .addOnSuccessListener (
128
122
new OnSuccessListener <PendingDynamicLinkData >() {
129
123
@ Override
130
124
public void onSuccess (PendingDynamicLinkData pendingDynamicLinkData ) {
@@ -138,7 +132,6 @@ public void onSuccess(PendingDynamicLinkData pendingDynamicLinkData) {
138
132
}
139
133
})
140
134
.addOnFailureListener (
141
- registrar .activity (),
142
135
new OnFailureListener () {
143
136
@ Override
144
137
public void onFailure (@ NonNull Exception e ) {
@@ -147,6 +140,22 @@ public void onFailure(@NonNull Exception e) {
147
140
});
148
141
}
149
142
143
+ private void handleGetDynamicLink (final Result result , Uri uri ) {
144
+ addDynamicLinkListener (FirebaseDynamicLinks .getInstance ().getDynamicLink (uri ), result );
145
+ }
146
+
147
+ private void handleGetInitialDynamicLink (final Result result ) {
148
+ // If there's no activity, then there's no initial dynamic link.
149
+ if (registrar .activity () == null ) {
150
+ result .success (null );
151
+ return ;
152
+ }
153
+
154
+ addDynamicLinkListener (
155
+ FirebaseDynamicLinks .getInstance ().getDynamicLink (registrar .activity ().getIntent ()),
156
+ result );
157
+ }
158
+
150
159
private OnCompleteListener <ShortDynamicLink > createShortLinkListener (final Result result ) {
151
160
return new OnCompleteListener <ShortDynamicLink >() {
152
161
@ Override
0 commit comments