fix: Setup push on chat list init

This commit is contained in:
Christian Pauly 2022-12-05 09:11:52 +01:00
parent d6d0325e85
commit 4bddd4a77f
3 changed files with 5 additions and 7 deletions

View File

@ -360,6 +360,7 @@ class ChatListController extends State<ChatList>
});
_checkTorBrowser();
Matrix.of(context).backgroundPush?.setupPush();
super.initState();
}

View File

@ -72,8 +72,6 @@ class BackgroundPush {
bool upAction = false;
BackgroundPush._(this.client) {
onLogin ??=
client.onLoginStateChanged.stream.listen(handleLoginStateChanged);
onRoomSync ??= client.onSync.stream
.where((s) => s.hasRoomUpdate)
.listen((s) => _onClearingPush(getFromServer: false));
@ -123,7 +121,6 @@ class BackgroundPush {
void handleLoginStateChanged(_) => setupPush();
StreamSubscription<LoginState>? onLogin;
StreamSubscription<SyncUpdate>? onRoomSync;
void _newFcmToken(String token) {

View File

@ -78,7 +78,7 @@ class MatrixState extends State<Matrix> with WidgetsBindingObserver {
String? loginUsername;
bool? loginRegistrationSupported;
BackgroundPush? _backgroundPush;
BackgroundPush? backgroundPush;
Client get client {
if (widget.clients.isEmpty) {
@ -397,7 +397,7 @@ class MatrixState extends State<Matrix> with WidgetsBindingObserver {
}
if (PlatformInfos.isMobile) {
_backgroundPush = BackgroundPush(
backgroundPush = BackgroundPush(
client,
context,
widget.router,
@ -444,7 +444,7 @@ class MatrixState extends State<Matrix> with WidgetsBindingObserver {
client.requestHistoryOnLimitedTimeline = !foreground;
if (_firstStartup) {
_firstStartup = false;
_backgroundPush?.setupPush();
backgroundPush?.setupPush();
}
}
@ -514,7 +514,7 @@ class MatrixState extends State<Matrix> with WidgetsBindingObserver {
client.httpClient.close();
onFocusSub?.cancel();
onBlurSub?.cancel();
_backgroundPush?.onLogin?.cancel();
backgroundPush?.onRoomSync?.cancel();
linuxNotifications?.close();