diff --git a/lib/controllers/notification.dart b/lib/controllers/notification.dart index 681c625..5d343cc 100644 --- a/lib/controllers/notification.dart +++ b/lib/controllers/notification.dart @@ -68,8 +68,6 @@ class NotificationController ); } }); - - ref.onDispose(() => notificationChannel.setMethodCallHandler(null)); } return notifications; diff --git a/lib/controllers/unified_push.dart b/lib/controllers/unified_push.dart index 6650d78..181a3d6 100644 --- a/lib/controllers/unified_push.dart +++ b/lib/controllers/unified_push.dart @@ -1,4 +1,3 @@ -import "dart:async"; import "dart:convert"; import "dart:io"; @@ -79,30 +78,10 @@ class UnifiedPushController extends AsyncNotifier { return; } - final provider = RoomsController.provider.select( - (rooms) => rooms[event.roomId], + final room = ref.read( + RoomsController.provider.select((rooms) => rooms[event.roomId]), ); - if (ref.read(provider)?.metadata != null) return; - - final completer = Completer(); - - final subscription = ref.listen(provider, (previous, next) { - if (next?.metadata != null && !completer.isCompleted) { - completer.complete(); - } - }); - - try { - await completer.future.timeout(const .new(seconds: 10)); - } on TimeoutException { - // metadata didn't show up in time - } finally { - subscription.close(); - } - - final room = ref.read(provider); - final avatar = room?.metadata?.avatar; final icon = avatar == null ? null