TF-3278 Handle open app via deep link at TwakeWelcome screen
This commit is contained in:
+29
-1
@@ -1,17 +1,20 @@
|
||||
import 'package:core/presentation/utils/theme_utils.dart';
|
||||
import 'package:core/utils/app_logger.dart';
|
||||
import 'package:core/utils/build_utils.dart';
|
||||
import 'package:core/utils/platform_info.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_localizations/flutter_localizations.dart';
|
||||
import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:tmail_ui_user/features/caching/config/hive_cache_config.dart';
|
||||
import 'package:tmail_ui_user/main/bindings/main_bindings.dart';
|
||||
import 'package:tmail_ui_user/main/deep_links/deep_links_manager.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations_delegate.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/localization_service.dart';
|
||||
import 'package:tmail_ui_user/main/pages/app_pages.dart';
|
||||
import 'package:tmail_ui_user/main/routes/app_routes.dart';
|
||||
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
|
||||
import 'package:tmail_ui_user/main/utils/app_utils.dart';
|
||||
import 'package:url_strategy/url_strategy.dart';
|
||||
import 'package:worker_manager/worker_manager.dart';
|
||||
@@ -39,9 +42,26 @@ Future<void> runTmail() async {
|
||||
runApp(const TMailApp());
|
||||
}
|
||||
|
||||
class TMailApp extends StatelessWidget {
|
||||
class TMailApp extends StatefulWidget {
|
||||
const TMailApp({Key? key}) : super(key: key);
|
||||
|
||||
@override
|
||||
State<TMailApp> createState() => _TMailAppState();
|
||||
}
|
||||
|
||||
class _TMailAppState extends State<TMailApp> {
|
||||
|
||||
DeepLinksManager? _deepLinksManager;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
if (PlatformInfo.isMobile) {
|
||||
_deepLinksManager = getBinding<DeepLinksManager>();
|
||||
_deepLinksManager?.registerDeepLinkStreamListener();
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return GetMaterialApp(
|
||||
@@ -79,4 +99,12 @@ class TMailApp extends StatelessWidget {
|
||||
builder: FlutterSmartDialog.init(),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
if (PlatformInfo.isMobile) {
|
||||
_deepLinksManager?.dispose();
|
||||
}
|
||||
super.dispose();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user