Skip to content

Commit fa5242b

Browse files
committed
Returns PendingDynamicLinkData while getting dynamicLink
1 parent 6646515 commit fa5242b

File tree

1 file changed

+13
-33
lines changed

1 file changed

+13
-33
lines changed

packages/firebase_dynamic_links/android/src/main/java/io/flutter/plugins/firebasedynamiclinks/FirebaseDynamicLinksPlugin.java

Lines changed: 13 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -117,19 +117,16 @@ private Map<String, Object> getMapFromPendingDynamicLinkData(
117117
return dynamicLink;
118118
}
119119

120-
private void handleGetDynamicLink(final Result result, Uri uri) {
121-
FirebaseDynamicLinks.getInstance()
122-
.getDynamicLink(uri)
123-
.addOnSuccessListener(
120+
private void addDynamicLinkListener(Task<PendingDynamicLinkData> task, Result result) {
121+
task.addOnSuccessListener(
124122
new OnSuccessListener<PendingDynamicLinkData>() {
125123
@Override
126124
public void onSuccess(PendingDynamicLinkData pendingDynamicLinkData) {
127125
if (pendingDynamicLinkData != null) {
128-
Uri link = pendingDynamicLinkData.getLink();
129-
if (link != null) {
130-
result.success(link.toString());
131-
return;
132-
}
126+
Map<String, Object> dynamicLink =
127+
getMapFromPendingDynamicLinkData(pendingDynamicLinkData);
128+
result.success(dynamicLink);
129+
return;
133130
}
134131
result.success(null);
135132
}
@@ -143,37 +140,20 @@ public void onFailure(@NonNull Exception e) {
143140
});
144141
}
145142

143+
private void handleGetDynamicLink(final Result result, Uri uri) {
144+
addDynamicLinkListener(FirebaseDynamicLinks.getInstance().getDynamicLink(uri), result);
145+
}
146+
146147
private void handleGetInitialDynamicLink(final Result result) {
147148
// If there's no activity, then there's no initial dynamic link.
148149
if (registrar.activity() == null) {
149150
result.success(null);
150151
return;
151152
}
152153

153-
FirebaseDynamicLinks.getInstance()
154-
.getDynamicLink(registrar.activity().getIntent())
155-
.addOnSuccessListener(
156-
registrar.activity(),
157-
new OnSuccessListener<PendingDynamicLinkData>() {
158-
@Override
159-
public void onSuccess(PendingDynamicLinkData pendingDynamicLinkData) {
160-
if (pendingDynamicLinkData != null) {
161-
Map<String, Object> dynamicLink =
162-
getMapFromPendingDynamicLinkData(pendingDynamicLinkData);
163-
result.success(dynamicLink);
164-
return;
165-
}
166-
result.success(null);
167-
}
168-
})
169-
.addOnFailureListener(
170-
registrar.activity(),
171-
new OnFailureListener() {
172-
@Override
173-
public void onFailure(@NonNull Exception e) {
174-
result.error(e.getClass().getSimpleName(), e.getMessage(), null);
175-
}
176-
});
154+
addDynamicLinkListener(
155+
FirebaseDynamicLinks.getInstance().getDynamicLink(registrar.activity().getIntent()),
156+
result);
177157
}
178158

179159
private OnCompleteListener<ShortDynamicLink> createShortLinkListener(final Result result) {

0 commit comments

Comments
 (0)