fullscreen: always locate entry
This commit is contained in:
parent
ff58d89163
commit
7f62846539
2 changed files with 4 additions and 31 deletions
|
@ -514,6 +514,10 @@ class _FullscreenVerticalPageViewState extends State<FullscreenVerticalPageView>
|
||||||
_oldEntry?.imageChangeNotifier?.removeListener(_onImageChanged);
|
_oldEntry?.imageChangeNotifier?.removeListener(_onImageChanged);
|
||||||
entry?.imageChangeNotifier?.addListener(_onImageChanged);
|
entry?.imageChangeNotifier?.addListener(_onImageChanged);
|
||||||
_oldEntry = entry;
|
_oldEntry = entry;
|
||||||
|
// make sure to locate the entry,
|
||||||
|
// so that we can display the address instead of coordinates
|
||||||
|
// even when background locating has not reached this entry yet
|
||||||
|
entry?.locate();
|
||||||
}
|
}
|
||||||
|
|
||||||
// when the entry image itself changed (e.g. after rotation)
|
// when the entry image itself changed (e.g. after rotation)
|
||||||
|
|
|
@ -34,33 +34,6 @@ class InfoPageState extends State<InfoPage> {
|
||||||
|
|
||||||
CollectionLens get collection => widget.collection;
|
CollectionLens get collection => widget.collection;
|
||||||
|
|
||||||
@override
|
|
||||||
void initState() {
|
|
||||||
super.initState();
|
|
||||||
_registerWidget(widget);
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
void didUpdateWidget(InfoPage oldWidget) {
|
|
||||||
super.didUpdateWidget(oldWidget);
|
|
||||||
_unregisterWidget(oldWidget);
|
|
||||||
_registerWidget(widget);
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
void dispose() {
|
|
||||||
_unregisterWidget(widget);
|
|
||||||
super.dispose();
|
|
||||||
}
|
|
||||||
|
|
||||||
void _registerWidget(InfoPage widget) {
|
|
||||||
widget.entryNotifier.addListener(_onEntryChanged);
|
|
||||||
}
|
|
||||||
|
|
||||||
void _unregisterWidget(InfoPage widget) {
|
|
||||||
widget.entryNotifier.removeListener(_onEntryChanged);
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
const horizontalPadding = EdgeInsets.symmetric(horizontal: 8);
|
const horizontalPadding = EdgeInsets.symmetric(horizontal: 8);
|
||||||
|
@ -147,10 +120,6 @@ class InfoPageState extends State<InfoPage> {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
void _onEntryChanged() {
|
|
||||||
widget.entryNotifier.value?.locate();
|
|
||||||
}
|
|
||||||
|
|
||||||
bool _handleTopScroll(Notification notification) {
|
bool _handleTopScroll(Notification notification) {
|
||||||
if (notification is ScrollNotification) {
|
if (notification is ScrollNotification) {
|
||||||
if (notification is ScrollStartNotification) {
|
if (notification is ScrollStartNotification) {
|
||||||
|
|
Loading…
Reference in a new issue