Skip to content

Commit 1233fd9

Browse files
committed
Make dynamic links stub handle the new domain_uri_prefix
dynamic_link_domain is now deprecated in favor of domain_uri_prefix, and while Android and iOS were updated, the stub was originally missed. PiperOrigin-RevId: 262666039
1 parent ba34419 commit 1233fd9

File tree

1 file changed

+17
-10
lines changed

1 file changed

+17
-10
lines changed

dynamic_links/src/dynamic_links_stub.cc

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,17 @@
1414

1515
#include <assert.h>
1616

17+
#include <cstddef>
1718
#include <map>
1819
#include <string>
1920

20-
#include "dynamic_links/src/include/firebase/dynamic_links.h"
21-
#include "dynamic_links/src/include/firebase/dynamic_links/components.h"
22-
2321
#include "app/src/assert.h"
2422
#include "app/src/include/firebase/variant.h"
2523
#include "app/src/include/firebase/version.h"
2624
#include "app/src/reference_counted_future_impl.h"
2725
#include "dynamic_links/src/common.h"
26+
#include "dynamic_links/src/include/firebase/dynamic_links.h"
27+
#include "dynamic_links/src/include/firebase/dynamic_links/components.h"
2828

2929
namespace firebase {
3030
namespace dynamic_links {
@@ -96,10 +96,15 @@ std::string QueryStringFromMap(
9696
static GeneratedDynamicLink LongLinkFromComponents(
9797
const DynamicLinkComponents& components) {
9898
GeneratedDynamicLink generated_link;
99-
if (components.link == nullptr || components.dynamic_link_domain == nullptr ||
100-
strlen(components.link) == 0 ||
101-
strlen(components.dynamic_link_domain) == 0) {
102-
generated_link.error = "No domain or target link specified.";
99+
if (components.link == nullptr || strlen(components.link) == 0) {
100+
generated_link.error = "No target link specified.";
101+
return generated_link;
102+
}
103+
if ((components.dynamic_link_domain == nullptr ||
104+
strlen(components.dynamic_link_domain) == 0) &&
105+
(components.domain_uri_prefix == nullptr ||
106+
strlen(components.domain_uri_prefix) == 0)) {
107+
generated_link.error = "No domain specified.";
103108
return generated_link;
104109
}
105110
std::map<std::string, std::string> query_parameters;
@@ -170,9 +175,11 @@ static GeneratedDynamicLink LongLinkFromComponents(
170175
params->image_url);
171176
}
172177
}
173-
generated_link.url = std::string("https://") +
174-
components.dynamic_link_domain + "/" +
175-
QueryStringFromMap(query_parameters);
178+
std::string domain =
179+
components.domain_uri_prefix != nullptr
180+
? components.domain_uri_prefix
181+
: std::string("https://") + components.dynamic_link_domain;
182+
generated_link.url = domain + "/" + QueryStringFromMap(query_parameters);
176183
return generated_link;
177184
}
178185

0 commit comments

Comments
 (0)