Files
maps_bookmarks/lib/service/shared_link_provider.dart

25 lines
738 B
Dart

import 'package:flutter/material.dart';
import 'package:metadata_fetch/metadata_fetch.dart';
import '../model/maps_link_metadata.dart';
class SharedLinkProvider extends ChangeNotifier {
MapsLinkMetadata? _currentMapsLinkMetadata;
void setCurrentMapsLink(String mapsLink, {bool silent = false}) async {
final metadata = await MetadataFetch.extract(mapsLink);
_currentMapsLinkMetadata = MapsLinkMetadata(
url: mapsLink,
placeName: metadata?.title ?? '',
);
if (!silent) notifyListeners();
}
void removeCurrentMapsLink({bool silent = false}) {
_currentMapsLinkMetadata = null;
if (!silent) notifyListeners();
}
MapsLinkMetadata? get currentMapsLinkMetadata => _currentMapsLinkMetadata;
}