remove using context only after init of widget is complete, can use context during init

This commit is contained in:
ashilkn 2023-11-17 07:24:51 +05:30
parent fd8bd9accd
commit acbf3baa80
2 changed files with 5 additions and 12 deletions

View file

@ -1,7 +1,6 @@
import "dart:async"; import "dart:async";
import "package:flutter/material.dart"; import "package:flutter/material.dart";
import "package:flutter/scheduler.dart";
import "package:logging/logging.dart"; import "package:logging/logging.dart";
import "package:photos/core/constants.dart"; import "package:photos/core/constants.dart";
import "package:photos/core/event_bus.dart"; import "package:photos/core/event_bus.dart";
@ -37,13 +36,11 @@ class _AllSectionsExamplesProviderState
@override @override
void initState() { void initState() {
super.initState(); super.initState();
SchedulerBinding.instance.addPostFrameCallback((timeStamp) { //add all common events for all search sections to reload to here.
//add all common events for all search sections to reload to here. _filesUpdatedEvent = Bus.instance.on<FilesUpdatedEvent>().listen((event) {
_filesUpdatedEvent = Bus.instance.on<FilesUpdatedEvent>().listen((event) {
reloadAllSections();
});
reloadAllSections(); reloadAllSections();
}); });
reloadAllSections();
} }
void reloadAllSections() { void reloadAllSections() {

View file

@ -30,6 +30,8 @@ class _SearchSectionAllPageState extends State<SearchSectionAllPage> {
@override @override
void initState() { void initState() {
super.initState(); super.initState();
sectionData = widget.sectionType.getData(context);
final streamsToListenTo = widget.sectionType.viewAllUpdateEvents(); final streamsToListenTo = widget.sectionType.viewAllUpdateEvents();
for (Stream<Event> stream in streamsToListenTo) { for (Stream<Event> stream in streamsToListenTo) {
streamSubscriptions.add( streamSubscriptions.add(
@ -42,12 +44,6 @@ class _SearchSectionAllPageState extends State<SearchSectionAllPage> {
} }
} }
@override
void didChangeDependencies() {
super.didChangeDependencies();
sectionData = widget.sectionType.getData(context);
}
@override @override
void dispose() { void dispose() {
for (var subscriptions in streamSubscriptions) { for (var subscriptions in streamSubscriptions) {