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) {
|
||||
_previousTabId = previous;
|
||||
await db.tabDao.touchTab(tabId, timestamp: DateTime.now());
|
||||
|
||||
+5
-1
@@ -16,6 +16,7 @@ class EngineSettingsReplicationService
|
||||
var initialSettingsSent = false;
|
||||
|
||||
ref.listen(
|
||||
fireImmediately: true,
|
||||
generalSettingsRepositoryProvider.select(
|
||||
(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 (previous.javascriptEnabled != next.javascriptEnabled) {
|
||||
await _service.javascriptEnabled(next.javascriptEnabled);
|
||||
|
||||
+10
-8
@@ -12,16 +12,18 @@ class ProxySettingsReplication extends _$ProxySettingsReplication {
|
||||
|
||||
@override
|
||||
void build() {
|
||||
ref.listen(torProxyServiceProvider.select((data) => data.valueOrNull), (
|
||||
previous,
|
||||
next,
|
||||
) async {
|
||||
if (next != null) {
|
||||
await _service.setProxyPort(next);
|
||||
}
|
||||
});
|
||||
ref.listen(
|
||||
fireImmediately: true,
|
||||
torProxyServiceProvider.select((data) => data.valueOrNull),
|
||||
(previous, next) async {
|
||||
if (next != null) {
|
||||
await _service.setProxyPort(next);
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
ref.listen(
|
||||
fireImmediately: true,
|
||||
containersWithCountProvider.select(
|
||||
(value) => EquatableValue(
|
||||
value.valueOrNull
|
||||
|
||||
+25
-5
@@ -152,30 +152,50 @@ class _BrowserViewState extends ConsumerState<BrowserView>
|
||||
WidgetsBinding.instance.addObserver(this);
|
||||
|
||||
//Initialize and register dependencies
|
||||
ref.listenManual(tabRepositoryProvider, (previous, next) {});
|
||||
|
||||
ref.listenManual(selectionActionServiceProvider, (previous, next) {});
|
||||
ref.listenManual(
|
||||
fireImmediately: true,
|
||||
tabRepositoryProvider,
|
||||
(previous, next) {},
|
||||
);
|
||||
|
||||
ref.listenManual(
|
||||
fireImmediately: true,
|
||||
selectionActionServiceProvider,
|
||||
(previous, next) {},
|
||||
);
|
||||
|
||||
ref.listenManual(
|
||||
fireImmediately: true,
|
||||
webExtensionsStateProvider(WebExtensionActionType.browser),
|
||||
(previous, next) {},
|
||||
);
|
||||
|
||||
ref.listenManual(
|
||||
fireImmediately: true,
|
||||
webExtensionsStateProvider(WebExtensionActionType.page),
|
||||
(previous, next) {},
|
||||
);
|
||||
|
||||
ref.listenManual(cacheRepositoryProvider, (previous, next) {});
|
||||
ref.listenManual(
|
||||
fireImmediately: true,
|
||||
cacheRepositoryProvider,
|
||||
(previous, next) {},
|
||||
);
|
||||
|
||||
ref.listenManual(
|
||||
fireImmediately: true,
|
||||
engineSettingsReplicationServiceProvider,
|
||||
(previous, next) {},
|
||||
);
|
||||
|
||||
ref.listenManual(proxySettingsReplicationProvider, (previous, next) {});
|
||||
ref.listenManual(
|
||||
fireImmediately: true,
|
||||
proxySettingsReplicationProvider,
|
||||
(previous, next) {},
|
||||
);
|
||||
|
||||
ref.listenManual(
|
||||
fireImmediately: true,
|
||||
articleContentProcessorServiceProvider,
|
||||
(previous, next) {},
|
||||
);
|
||||
|
||||
@@ -108,7 +108,10 @@ class TorProxyService extends _$TorProxyService {
|
||||
|
||||
await _tor.initializeService();
|
||||
|
||||
ref.listen(browserViewLifecycleProvider, (previous, next) {
|
||||
ref.listen(fireImmediately: true, browserViewLifecycleProvider, (
|
||||
previous,
|
||||
next,
|
||||
) {
|
||||
switch (next) {
|
||||
case AppLifecycleState.resumed:
|
||||
if (_timerPaused) {
|
||||
|
||||
@@ -13,21 +13,25 @@ class CompletePageInfo extends _$CompletePageInfo {
|
||||
return AsyncData(cached!);
|
||||
}
|
||||
|
||||
ref.listen(pageInfoProvider(url, isImageRequest: false), (previous, next) {
|
||||
if (cached != null && next.hasValue) {
|
||||
state = AsyncData(
|
||||
WebPageInfo(
|
||||
url: url,
|
||||
//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,
|
||||
title: cached.title ?? next.value!.title,
|
||||
),
|
||||
);
|
||||
} else {
|
||||
state = next;
|
||||
}
|
||||
});
|
||||
ref.listen(
|
||||
fireImmediately: true,
|
||||
pageInfoProvider(url, isImageRequest: false),
|
||||
(previous, next) {
|
||||
if (cached != null && next.hasValue) {
|
||||
state = AsyncData(
|
||||
WebPageInfo(
|
||||
url: url,
|
||||
//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,
|
||||
title: cached.title ?? next.value!.title,
|
||||
),
|
||||
);
|
||||
} else {
|
||||
state = next;
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
return (cached != null) ? AsyncData(cached) : const AsyncLoading();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user