improved quick tab switcher & general tab design/logic;
This commit is contained in:
@@ -31,6 +31,7 @@ class GeckoEventService extends GeckoStateEvents {
|
||||
final _engineStateSubject = BehaviorSubject.seeded(false);
|
||||
final _tabListSubject = BehaviorSubject<List<String>>();
|
||||
final _selectedTabSubject = BehaviorSubject<String?>();
|
||||
final _restoreCompleteSubject = BehaviorSubject.seeded(false);
|
||||
|
||||
final _tabContentSubject = ReplaySubject<TabContentState>();
|
||||
final _historySubject = ReplaySubject<HistoryEvent>();
|
||||
@@ -59,6 +60,8 @@ class GeckoEventService extends GeckoStateEvents {
|
||||
ValueStream<bool> get engineReadyStateEvents => _engineStateSubject.stream;
|
||||
ValueStream<List<String>> get tabListEvents => _tabListSubject.stream;
|
||||
ValueStream<String?> get selectedTabEvents => _selectedTabSubject.stream;
|
||||
ValueStream<bool> get restoreCompleteEvents =>
|
||||
_restoreCompleteSubject.stream;
|
||||
|
||||
Stream<TabContentState> get tabContentEvents => _tabContentSubject.stream;
|
||||
Stream<HistoryEvent> get historyEvents => _historySubject.stream;
|
||||
@@ -109,6 +112,11 @@ class GeckoEventService extends GeckoStateEvents {
|
||||
_selectedTabSubject.addWhenMoreRecent(sequence, id, id);
|
||||
}
|
||||
|
||||
@override
|
||||
void onRestoreCompleteChange(int sequence, bool restoreComplete) {
|
||||
_restoreCompleteSubject.addWhenMoreRecent(sequence, null, restoreComplete);
|
||||
}
|
||||
|
||||
@override
|
||||
void onTabContentStateChange(int sequence, TabContentState state) {
|
||||
_tabContentSubject.addWhenMoreRecent(sequence, state.id, state);
|
||||
|
||||
@@ -19,6 +19,7 @@ class GeckoTabService {
|
||||
Future<void> syncEvents({
|
||||
bool onSelectedTabChange = false,
|
||||
bool onTabListChange = false,
|
||||
bool onRestoreComplete = false,
|
||||
bool onTabContentStateChange = false,
|
||||
bool onIconChange = false,
|
||||
bool onSecurityInfoStateChange = false,
|
||||
@@ -34,6 +35,7 @@ class GeckoTabService {
|
||||
return _api.syncEvents(
|
||||
onSelectedTabChange: onSelectedTabChange,
|
||||
onTabListChange: onTabListChange,
|
||||
onRestoreComplete: onRestoreComplete,
|
||||
onTabContentStateChange: onTabContentStateChange,
|
||||
onIconChange: onIconChange,
|
||||
onSecurityInfoStateChange: onSecurityInfoStateChange,
|
||||
|
||||
Reference in New Issue
Block a user