initialize method

  1. @override
Future<void> initialize({
  1. SystemEventsConfig config = const SystemEventsConfig.defaults(),
})
override

Starts platform listeners for the enabled event groups in config.

Implementation

@override
Future<void> initialize({
  SystemEventsConfig config = const SystemEventsConfig.defaults(),
}) async {
  await dispose();

  if (config.keyboard != null) {
    _viewportHeight = html.window.innerHeight?.toDouble();
    _subscriptions.add(html.window.onResize.listen((_) => _emitKeyboard()));
  }
  if (config.lifecycle != null) {
    _subscriptions
      ..add(html.document.onVisibilityChange.listen((_) => _emitLifecycle()))
      ..add(
        html.window.onFocus.listen(
          (_) => _addLifecycle(LifecycleState.resumed),
        ),
      )
      ..add(
        html.window.onBlur.listen(
          (_) => _addLifecycle(LifecycleState.inactive),
        ),
      )
      ..add(
        html.window.onBeforeUnload.listen(
          (_) => _addLifecycle(LifecycleState.detached),
        ),
      );
  }
  if (config.network != null) {
    _subscriptions
      ..add(html.window.onOnline.listen((_) => _emitNetwork()))
      ..add(html.window.onOffline.listen((_) => _emitNetwork()));
    _emitNetwork();
  }
}