Skip to content

Commit 4da5b09

Browse files
committed
fix: Various fixes with deep links.
1 parent e85b9e0 commit 4da5b09

File tree

4 files changed

+54
-19
lines changed

4 files changed

+54
-19
lines changed

android/app/src/main/AndroidManifest.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,5 +54,8 @@
5454
<meta-data
5555
android:name="flutterEmbedding"
5656
android:value="2" />
57+
<meta-data
58+
android:name="flutter_deeplinking_enabled"
59+
android:value="false" />
5760
</application>
5861
</manifest>

ios/Runner/Info.plist

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,5 +98,7 @@
9898
<string>UIInterfaceOrientationLandscapeLeft</string>
9999
<string>UIInterfaceOrientationLandscapeRight</string>
100100
</array>
101+
<key>FlutterDeepLinkingEnabled</key>
102+
<false/>
101103
</dict>
102104
</plist>

lib/main.dart

Lines changed: 26 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -247,27 +247,34 @@ class _RouteWidgetState extends ConsumerState<_RouteWidget> {
247247
super.initState();
248248
if (widget.listen) {
249249
if (currentPlatform.isMobile) {
250-
ref.listenManual(appLinksListenerProvider, (previous, next) async {
251-
if (next.valueOrNull == null || previous == next) {
252-
return;
253-
}
254-
Uri uri = next.value!;
255-
if (uri.host == Uri.parse(App.firebaseLoginUrl).host) {
256-
handleLoginLink(uri);
257-
return;
258-
}
259-
if (uri.scheme == 'otpauth') {
260-
handleTotpLink(uri);
250+
ref.listenManual(
251+
appLinksListenerProvider,
252+
(previous, next) async {
253+
if (next.valueOrNull == null || previous == next) {
254+
return;
255+
}
256+
Uri uri = next.value!;
257+
if (uri.host == Uri.parse(App.firebaseLoginUrl).host) {
258+
handleLoginLink(uri);
259+
return;
260+
}
261+
if (uri.scheme == 'otpauth') {
262+
handleTotpLink(uri);
263+
return;
264+
}
265+
},
266+
);
267+
}
268+
ref.listenManual(
269+
totpLimitExceededProvider,
270+
(previous, next) async {
271+
if (next.valueOrNull != true) {
261272
return;
262273
}
263-
});
264-
}
265-
ref.listenManual(totpLimitExceededProvider, (previous, next) async {
266-
if (next.valueOrNull != true) {
267-
return;
268-
}
269-
TotpLimitDialog.showAndBlock(context);
270-
});
274+
TotpLimitDialog.showAndBlock(context);
275+
},
276+
fireImmediately: true,
277+
);
271278
}
272279
if (widget.rateMyApp) {
273280
WidgetsBinding.instance.addPostFrameCallback((_) => initializeRateMyApp());

macos/Runner/Info.plist

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,29 @@
2424
<string>APPL</string>
2525
<key>CFBundleShortVersionString</key>
2626
<string>$(FLUTTER_BUILD_NAME)</string>
27+
<key>CFBundleURLTypes</key>
28+
<array>
29+
<dict>
30+
<key>CFBundleTypeRole</key>
31+
<string>Editor</string>
32+
<key>CFBundleURLName</key>
33+
<string>app.openauthenticator.firebase</string>
34+
<key>CFBundleURLSchemes</key>
35+
<array>
36+
<string>com.googleusercontent.apps.15794778256-2mngm8dj80j5o8nggvbodjfg4ud8fvo7</string>
37+
</array>
38+
</dict>
39+
<dict>
40+
<key>CFBundleTypeRole</key>
41+
<string>Editor</string>
42+
<key>CFBundleURLName</key>
43+
<string>app.openauthenticator</string>
44+
<key>CFBundleURLSchemes</key>
45+
<array>
46+
<string>otpauth</string>
47+
</array>
48+
</dict>
49+
</array>
2750
<key>CFBundleVersion</key>
2851
<string>$(FLUTTER_BUILD_NUMBER)</string>
2952
<key>LSMinimumSystemVersion</key>

0 commit comments

Comments
 (0)