LCOV - code coverage report
Current view: top level - listener - connectivity_listener.dart (source / functions) Hit Total Coverage
Test: coverage.lcov Lines: 4 10 40.0 %
Date: 2022-01-19 17:54:05 Functions: 0 0 -

          Line data    Source code
       1             : import 'dart:async';
       2             : 
       3             : import 'package:internet_connection_checker/internet_connection_checker.dart';
       4             : 
       5             : /// Listener class that returns a Stream<True> if internet connection is on in the running device, Stream<False> if internet gets disconnected.
       6             : /// Sample usage
       7             : /// ```
       8             : /// ConnectivityListener().subscribe().listen((isConnected) {
       9             : ///   if (isConnected) {
      10             : ///     print('connection available');
      11             : ///    } else {
      12             : ///     print('connection lost');
      13             : ///   }
      14             : /// });
      15             : /// ```
      16             : class ConnectivityListener {
      17             :   late StreamSubscription _listener;
      18             : 
      19             :   /// Listen to [InternetConnectionChecker.onStatusChange] and returns Stream<True> whenever
      20             :   /// internet connection is online. Returns Stream<False> if internet connection is lost.
      21           1 :   Stream<bool> subscribe() {
      22           1 :     final _controller = StreamController<bool>();
      23           4 :     _listener = InternetConnectionChecker().onStatusChange.listen((status) {
      24             :       switch (status) {
      25           0 :         case InternetConnectionStatus.connected:
      26           0 :           _controller.add(true);
      27             :           break;
      28           0 :         case InternetConnectionStatus.disconnected:
      29           0 :           _controller.add(false);
      30             :           break;
      31             :       }
      32             :     });
      33           1 :     return _controller.stream;
      34             :   }
      35             : 
      36             :   /// Cancels the active subscription to [InternetConnectionChecker]
      37           0 :   void unSubscribe() {
      38           0 :     _listener.cancel();
      39             :   }
      40             : }

Generated by: LCOV version 1.13