added provider for current link
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
// main.dart
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'pages/bookmarks_page.dart';
|
||||
import 'pages/collections_page.dart';
|
||||
import 'service/shared_link_provider.dart';
|
||||
import 'service/storage.dart';
|
||||
import 'service/share_intent_service.dart';
|
||||
import 'theme.dart';
|
||||
@@ -9,7 +10,12 @@ import 'theme.dart';
|
||||
void main() async {
|
||||
WidgetsFlutterBinding.ensureInitialized();
|
||||
await Storage.initialize();
|
||||
runApp(const MapsBookmarks());
|
||||
runApp(
|
||||
ChangeNotifierProvider(
|
||||
create: (_) => SharedLinkProvider(),
|
||||
child: const MapsBookmarks(),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
class MapsBookmarks extends StatefulWidget {
|
||||
@@ -21,15 +27,14 @@ class MapsBookmarks extends StatefulWidget {
|
||||
|
||||
class _MapsBookmarksState extends State<MapsBookmarks>
|
||||
with WidgetsBindingObserver {
|
||||
final ShareIntentService _shareIntentService = ShareIntentService();
|
||||
final GlobalKey<NavigatorState> _navigatorKey = GlobalKey<NavigatorState>();
|
||||
final ShareIntentService _shareIntentService = ShareIntentService();
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
WidgetsBinding.instance.addObserver(this);
|
||||
// Check for shared content on app start
|
||||
_checkForSharedContent();
|
||||
void didChangeAppLifecycleState(AppLifecycleState state) {
|
||||
if (state == AppLifecycleState.resumed) {
|
||||
_checkForSharedContent();
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -39,24 +44,20 @@ class _MapsBookmarksState extends State<MapsBookmarks>
|
||||
}
|
||||
|
||||
@override
|
||||
void didChangeAppLifecycleState(AppLifecycleState state) {
|
||||
if (state == AppLifecycleState.resumed) {
|
||||
_checkForSharedContent();
|
||||
}
|
||||
void initState() {
|
||||
super.initState();
|
||||
WidgetsBinding.instance.addObserver(this);
|
||||
_checkForSharedContent();
|
||||
}
|
||||
|
||||
Future<void> _checkForSharedContent() async {
|
||||
final sharedText = await _shareIntentService.getSharedMapsLink();
|
||||
|
||||
if (sharedText.isNotEmpty && mounted) {
|
||||
_handleSharedMapsLink(sharedText);
|
||||
context.read<SharedLinkProvider>().setCurrentMapsLink(sharedText);
|
||||
}
|
||||
}
|
||||
|
||||
void _handleSharedMapsLink(String sharedText) {
|
||||
//TODO: implement
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return MaterialApp(
|
||||
|
||||
Reference in New Issue
Block a user