Skip to content

Commit

Permalink
Merge pull request #10
Browse files Browse the repository at this point in the history
[1.7.0] Added `checkConnectionTimeout` option to set the timeout duration when checking real internet connection.
  • Loading branch information
MAlazhariy authored Oct 14, 2024
2 parents 067fd36 + d824b5c commit 014bd5a
Show file tree
Hide file tree
Showing 6 changed files with 36 additions and 3 deletions.
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
## [1.7.0]

### Added
- `checkConnectionTimeout` option to set the timeout duration when checking real internet connection.

---

## [1.6.1]

### Added
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ Add the package to your `pubspec.yaml` under `dependencies:`:
internet_state_manager:
git:
url: https://github.com/MAlazhariy/internet_state_manager.git
ref: v1.6.1
ref: v1.7.0
```
#### Android Configuration
Expand Down
5 changes: 4 additions & 1 deletion lib/src/bloc/internet_manager_cubit.dart
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import 'package:connectivity_plus/connectivity_plus.dart';
import 'package:equatable/equatable.dart';
import 'package:flutter/foundation.dart';
import 'package:internet_connection_checker/internet_connection_checker.dart';
import 'package:internet_state_manager/src/utils/custom_check_options.dart';
import 'package:internet_state_manager/src/utils/enums/internet_state_enum.dart';
import 'package:internet_state_manager/internet_state_manager.dart';
import 'package:internet_state_manager/src/utils/internet_state_manager_controller.dart';
Expand All @@ -19,7 +20,9 @@ class InternetManagerCubit extends Cubit<InternetManagerState> {

List<ConnectivityResult> _localConnectionResult = [];
late final StreamSubscription<List<ConnectivityResult>> _localNetworkSubscription;
final _internetConnectionChecker = InternetConnectionChecker.createInstance();
final _internetConnectionChecker = InternetConnectionChecker.createInstance(
customCheckOptions: customCheckOptions,
);
final _internetStreamController = StreamController<InternetState>.broadcast();

/// Stream to listen for internet connection changes.
Expand Down
17 changes: 17 additions & 0 deletions lib/src/utils/custom_check_options.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import 'package:internet_connection_checker/internet_connection_checker.dart';
import 'package:internet_state_manager/src/utils/internet_state_manager_controller.dart';

final _addresses = [
'https://one.one.one.one/',
'https://icanhazip.com/',
'https://jsonplaceholder.typicode.com/todos/1',
'https://reqres.in/api/users/1',
];

final customCheckOptions = List<AddressCheckOption>.generate(
_addresses.length,
(i) => AddressCheckOption(
uri: Uri.parse(_addresses[i]),
timeout: getOptions.checkConnectionTimeout,
),
);
6 changes: 6 additions & 0 deletions lib/src/utils/internet_state_options.dart
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,11 @@ class InternetStateOptions {
/// Default is [FALSE].
final bool showLogs;

/// ### Timeout duration when checking real internet connection.
///
/// Default is 3 seconds.
late final Duration checkConnectionTimeout;

InternetStateOptions({
/// ### The labels shown when internet disconnected.
///
Expand All @@ -52,6 +57,7 @@ class InternetStateOptions {
this.autoCheckConnection = true,
this.showLogs = false,
this.disconnectionCheckPeriodic,
this.checkConnectionTimeout = const Duration(seconds: 3),
}) {
this.labels = labels ?? InternetStateLabels.defaultValues;
}
Expand Down
2 changes: 1 addition & 1 deletion pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ description: A Flutter package for seamless internet connection management. Auto
author: MAlazhariy
homepage: https://github.com/MAlazhariy/internet_state_manager
issue_tracker: https://github.com/MAlazhariy/internet_state_manager/issues
version: 1.6.1
version: 1.7.0

environment:
sdk: '>=3.1.2 <4.0.0'
Expand Down

0 comments on commit 014bd5a

Please sign in to comment.