use fire immediatialy
This commit is contained in:
@@ -244,7 +244,10 @@ class TabRepository extends _$TabRepository {
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
ref.listen(selectedTabProvider, (previous, tabId) async {
|
ref.listen(fireImmediately: true, selectedTabProvider, (
|
||||||
|
previous,
|
||||||
|
tabId,
|
||||||
|
) async {
|
||||||
if (tabId != null) {
|
if (tabId != null) {
|
||||||
_previousTabId = previous;
|
_previousTabId = previous;
|
||||||
await db.tabDao.touchTab(tabId, timestamp: DateTime.now());
|
await db.tabDao.touchTab(tabId, timestamp: DateTime.now());
|
||||||
|
|||||||
+5
-1
@@ -16,6 +16,7 @@ class EngineSettingsReplicationService
|
|||||||
var initialSettingsSent = false;
|
var initialSettingsSent = false;
|
||||||
|
|
||||||
ref.listen(
|
ref.listen(
|
||||||
|
fireImmediately: true,
|
||||||
generalSettingsRepositoryProvider.select(
|
generalSettingsRepositoryProvider.select(
|
||||||
(settings) => settings.themeMode,
|
(settings) => settings.themeMode,
|
||||||
),
|
),
|
||||||
@@ -30,7 +31,10 @@ class EngineSettingsReplicationService
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
ref.listen(engineSettingsRepositoryProvider, (previous, next) async {
|
ref.listen(fireImmediately: true, engineSettingsRepositoryProvider, (
|
||||||
|
previous,
|
||||||
|
next,
|
||||||
|
) async {
|
||||||
if (initialSettingsSent && previous != null) {
|
if (initialSettingsSent && previous != null) {
|
||||||
if (previous.javascriptEnabled != next.javascriptEnabled) {
|
if (previous.javascriptEnabled != next.javascriptEnabled) {
|
||||||
await _service.javascriptEnabled(next.javascriptEnabled);
|
await _service.javascriptEnabled(next.javascriptEnabled);
|
||||||
|
|||||||
+10
-8
@@ -12,16 +12,18 @@ class ProxySettingsReplication extends _$ProxySettingsReplication {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
void build() {
|
void build() {
|
||||||
ref.listen(torProxyServiceProvider.select((data) => data.valueOrNull), (
|
ref.listen(
|
||||||
previous,
|
fireImmediately: true,
|
||||||
next,
|
torProxyServiceProvider.select((data) => data.valueOrNull),
|
||||||
) async {
|
(previous, next) async {
|
||||||
if (next != null) {
|
if (next != null) {
|
||||||
await _service.setProxyPort(next);
|
await _service.setProxyPort(next);
|
||||||
}
|
}
|
||||||
});
|
},
|
||||||
|
);
|
||||||
|
|
||||||
ref.listen(
|
ref.listen(
|
||||||
|
fireImmediately: true,
|
||||||
containersWithCountProvider.select(
|
containersWithCountProvider.select(
|
||||||
(value) => EquatableValue(
|
(value) => EquatableValue(
|
||||||
value.valueOrNull
|
value.valueOrNull
|
||||||
|
|||||||
+25
-5
@@ -152,30 +152,50 @@ class _BrowserViewState extends ConsumerState<BrowserView>
|
|||||||
WidgetsBinding.instance.addObserver(this);
|
WidgetsBinding.instance.addObserver(this);
|
||||||
|
|
||||||
//Initialize and register dependencies
|
//Initialize and register dependencies
|
||||||
ref.listenManual(tabRepositoryProvider, (previous, next) {});
|
ref.listenManual(
|
||||||
|
fireImmediately: true,
|
||||||
ref.listenManual(selectionActionServiceProvider, (previous, next) {});
|
tabRepositoryProvider,
|
||||||
|
(previous, next) {},
|
||||||
|
);
|
||||||
|
|
||||||
ref.listenManual(
|
ref.listenManual(
|
||||||
|
fireImmediately: true,
|
||||||
|
selectionActionServiceProvider,
|
||||||
|
(previous, next) {},
|
||||||
|
);
|
||||||
|
|
||||||
|
ref.listenManual(
|
||||||
|
fireImmediately: true,
|
||||||
webExtensionsStateProvider(WebExtensionActionType.browser),
|
webExtensionsStateProvider(WebExtensionActionType.browser),
|
||||||
(previous, next) {},
|
(previous, next) {},
|
||||||
);
|
);
|
||||||
|
|
||||||
ref.listenManual(
|
ref.listenManual(
|
||||||
|
fireImmediately: true,
|
||||||
webExtensionsStateProvider(WebExtensionActionType.page),
|
webExtensionsStateProvider(WebExtensionActionType.page),
|
||||||
(previous, next) {},
|
(previous, next) {},
|
||||||
);
|
);
|
||||||
|
|
||||||
ref.listenManual(cacheRepositoryProvider, (previous, next) {});
|
ref.listenManual(
|
||||||
|
fireImmediately: true,
|
||||||
|
cacheRepositoryProvider,
|
||||||
|
(previous, next) {},
|
||||||
|
);
|
||||||
|
|
||||||
ref.listenManual(
|
ref.listenManual(
|
||||||
|
fireImmediately: true,
|
||||||
engineSettingsReplicationServiceProvider,
|
engineSettingsReplicationServiceProvider,
|
||||||
(previous, next) {},
|
(previous, next) {},
|
||||||
);
|
);
|
||||||
|
|
||||||
ref.listenManual(proxySettingsReplicationProvider, (previous, next) {});
|
ref.listenManual(
|
||||||
|
fireImmediately: true,
|
||||||
|
proxySettingsReplicationProvider,
|
||||||
|
(previous, next) {},
|
||||||
|
);
|
||||||
|
|
||||||
ref.listenManual(
|
ref.listenManual(
|
||||||
|
fireImmediately: true,
|
||||||
articleContentProcessorServiceProvider,
|
articleContentProcessorServiceProvider,
|
||||||
(previous, next) {},
|
(previous, next) {},
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -108,7 +108,10 @@ class TorProxyService extends _$TorProxyService {
|
|||||||
|
|
||||||
await _tor.initializeService();
|
await _tor.initializeService();
|
||||||
|
|
||||||
ref.listen(browserViewLifecycleProvider, (previous, next) {
|
ref.listen(fireImmediately: true, browserViewLifecycleProvider, (
|
||||||
|
previous,
|
||||||
|
next,
|
||||||
|
) {
|
||||||
switch (next) {
|
switch (next) {
|
||||||
case AppLifecycleState.resumed:
|
case AppLifecycleState.resumed:
|
||||||
if (_timerPaused) {
|
if (_timerPaused) {
|
||||||
|
|||||||
@@ -13,21 +13,25 @@ class CompletePageInfo extends _$CompletePageInfo {
|
|||||||
return AsyncData(cached!);
|
return AsyncData(cached!);
|
||||||
}
|
}
|
||||||
|
|
||||||
ref.listen(pageInfoProvider(url, isImageRequest: false), (previous, next) {
|
ref.listen(
|
||||||
if (cached != null && next.hasValue) {
|
fireImmediately: true,
|
||||||
state = AsyncData(
|
pageInfoProvider(url, isImageRequest: false),
|
||||||
WebPageInfo(
|
(previous, next) {
|
||||||
url: url,
|
if (cached != null && next.hasValue) {
|
||||||
//Cached is preferred as this comes from gecko and is more likely to be correct compared to manual request
|
state = AsyncData(
|
||||||
favicon: cached.favicon ?? next.value!.favicon,
|
WebPageInfo(
|
||||||
feeds: cached.feeds ?? next.value!.feeds,
|
url: url,
|
||||||
title: cached.title ?? next.value!.title,
|
//Cached is preferred as this comes from gecko and is more likely to be correct compared to manual request
|
||||||
),
|
favicon: cached.favicon ?? next.value!.favicon,
|
||||||
);
|
feeds: cached.feeds ?? next.value!.feeds,
|
||||||
} else {
|
title: cached.title ?? next.value!.title,
|
||||||
state = next;
|
),
|
||||||
}
|
);
|
||||||
});
|
} else {
|
||||||
|
state = next;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
return (cached != null) ? AsyncData(cached) : const AsyncLoading();
|
return (cached != null) ? AsyncData(cached) : const AsyncLoading();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user