feat: connectivity adapter package for connectivity_plus

This commit is contained in:
Kingkor Roy Tirtho
2023-06-21 21:39:31 +06:00
parent 7dd9036e69
commit 72ca4cece4
30 changed files with 483 additions and 6 deletions
@@ -1 +1 @@
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"path_provider_foundation","path":"/home/krtirtho/.pub-cache/hosted/pub.dev/path_provider_foundation-2.2.3/","shared_darwin_source":true,"native_build":true,"dependencies":[]}],"android":[{"name":"path_provider_android","path":"/home/krtirtho/.pub-cache/hosted/pub.dev/path_provider_android-2.0.27/","native_build":true,"dependencies":[]}],"macos":[{"name":"path_provider_foundation","path":"/home/krtirtho/.pub-cache/hosted/pub.dev/path_provider_foundation-2.2.3/","shared_darwin_source":true,"native_build":true,"dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/home/krtirtho/.pub-cache/hosted/pub.dev/path_provider_linux-2.1.11/","native_build":false,"dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"/home/krtirtho/.pub-cache/hosted/pub.dev/path_provider_windows-2.1.6/","native_build":false,"dependencies":[]}],"web":[]},"dependencyGraph":[{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2023-05-29 12:06:55.360188","version":"3.10.2"}
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"path_provider_foundation","path":"/home/krtirtho/.pub-cache/hosted/pub.dev/path_provider_foundation-2.2.3/","shared_darwin_source":true,"native_build":true,"dependencies":[]}],"android":[{"name":"path_provider_android","path":"/home/krtirtho/.pub-cache/hosted/pub.dev/path_provider_android-2.0.27/","native_build":true,"dependencies":[]}],"macos":[{"name":"path_provider_foundation","path":"/home/krtirtho/.pub-cache/hosted/pub.dev/path_provider_foundation-2.2.3/","shared_darwin_source":true,"native_build":true,"dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/home/krtirtho/.pub-cache/hosted/pub.dev/path_provider_linux-2.1.11/","native_build":false,"dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"/home/krtirtho/.pub-cache/hosted/pub.dev/path_provider_windows-2.1.6/","native_build":false,"dependencies":[]}],"web":[]},"dependencyGraph":[{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]}],"date_created":"2023-06-21 09:53:37.599190","version":"3.10.2"}
+5 -1
View File
@@ -1,10 +1,14 @@
import 'package:fl_query_connectivity_plus_adapter/fl_query_connectivity_plus_adapter.dart';
import 'package:fl_query_example/router.dart';
import 'package:fl_query/fl_query.dart';
import 'package:flutter/material.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await QueryClient.initialize(cachePrefix: 'fl_query_example');
await QueryClient.initialize(
cachePrefix: 'fl_query_example',
connectivity: FlQueryConnectivityPlusAdapter(),
);
runApp(
QueryClientProvider(
child: const MainApp(),
@@ -5,8 +5,10 @@
import FlutterMacOS
import Foundation
import connectivity_plus
import path_provider_foundation
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
ConnectivityPlugin.register(with: registry.registrar(forPlugin: "ConnectivityPlugin"))
PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
}
+63
View File
@@ -1,6 +1,14 @@
# Generated by pub
# See https://dart.dev/tools/pub/glossary#lockfile
packages:
args:
dependency: transitive
description:
name: args
sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596
url: "https://pub.dev"
source: hosted
version: "2.4.2"
async:
dependency: transitive
description:
@@ -41,6 +49,22 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.17.1"
connectivity_plus:
dependency: transitive
description:
name: connectivity_plus
sha256: "8599ae9edca5ff96163fca3e36f8e481ea917d1e71cdad912c084b5579913f34"
url: "https://pub.dev"
source: hosted
version: "4.0.1"
connectivity_plus_platform_interface:
dependency: transitive
description:
name: connectivity_plus_platform_interface
sha256: cf1d1c28f4416f8c654d7dc3cd638ec586076255d407cef3ddbdaf178272a71a
url: "https://pub.dev"
source: hosted
version: "1.2.4"
crypto:
dependency: transitive
description:
@@ -49,6 +73,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "3.0.2"
dbus:
dependency: transitive
description:
name: dbus
sha256: "6f07cba3f7b3448d42d015bfd3d53fe12e5b36da2423f23838efc1d5fb31a263"
url: "https://pub.dev"
source: hosted
version: "0.7.8"
fake_async:
dependency: transitive
description:
@@ -80,6 +112,13 @@ packages:
relative: true
source: path
version: "1.0.0-alpha.2"
fl_query_connectivity_plus_adapter:
dependency: "direct main"
description:
path: "../../fl_query_connectivity_plus_adapter"
relative: true
source: path
version: "0.1.0"
flutter:
dependency: "direct main"
description: flutter
@@ -207,6 +246,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "3.0.1"
nm:
dependency: transitive
description:
name: nm
sha256: "2c9aae4127bdc8993206464fcc063611e0e36e72018696cd9631023a31b24254"
url: "https://pub.dev"
source: hosted
version: "0.5.0"
path:
dependency: transitive
description:
@@ -263,6 +310,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.1.3"
petitparser:
dependency: transitive
description:
name: petitparser
sha256: cb3798bef7fc021ac45b308f4b51208a152792445cce0448c9a4ba5879dd8750
url: "https://pub.dev"
source: hosted
version: "5.4.0"
platform:
dependency: transitive
description:
@@ -380,6 +435,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.0.0"
xml:
dependency: transitive
description:
name: xml
sha256: "5bc72e1e45e941d825fd7468b9b4cc3b9327942649aeb6fc5cdbf135f0a86e84"
url: "https://pub.dev"
source: hosted
version: "6.3.0"
sdks:
dart: ">=3.0.0-0 <4.0.0"
flutter: ">=3.3.0"
+1
View File
@@ -10,6 +10,7 @@ dependencies:
flutter:
sdk: flutter
fl_query: ^1.0.0-alpha.2
fl_query_connectivity_plus_adapter: ^0.1.0
go_router: ^6.0.9
http: ^0.13.5
@@ -1,4 +1,6 @@
# melos_managed_dependency_overrides: fl_query
# melos_managed_dependency_overrides: fl_query,fl_query_connectivity_plus_adapter
dependency_overrides:
fl_query:
path: ..
fl_query_connectivity_plus_adapter:
path: ../../fl_query_connectivity_plus_adapter
@@ -6,6 +6,9 @@
#include "generated_plugin_registrant.h"
#include <connectivity_plus/connectivity_plus_windows_plugin.h>
void RegisterPlugins(flutter::PluginRegistry* registry) {
ConnectivityPlusWindowsPluginRegisterWithRegistrar(
registry->GetRegistrarForPlugin("ConnectivityPlusWindowsPlugin"));
}
@@ -3,6 +3,7 @@
#
list(APPEND FLUTTER_PLUGIN_LIST
connectivity_plus
)
list(APPEND FLUTTER_FFI_PLUGIN_LIST
+1
View File
@@ -4,6 +4,7 @@ export 'src/collections/default_configs.dart';
export 'src/collections/json_config.dart';
export 'src/collections/refresh_config.dart';
export 'src/collections/retry_config.dart';
export 'src/collections/connectivity_adapter.dart';
export 'src/core/cache.dart';
export 'src/core/client.dart';
@@ -0,0 +1,5 @@
abstract class ConnectivityAdapter {
Future<bool> get isConnected;
Stream<bool> get onConnectivityChanged;
}
@@ -1,6 +1,7 @@
import 'dart:async';
import 'package:collection/collection.dart';
import 'package:fl_query/src/collections/connectivity_adapter.dart';
import 'package:fl_query/src/collections/default_configs.dart';
import 'package:fl_query/src/collections/json_config.dart';
import 'package:fl_query/src/collections/refresh_config.dart';
@@ -512,13 +513,17 @@ class QueryClient {
static String get infiniteQueryCachePrefix =>
'$_cachePrefix.cache.infinite_queries';
static late final ConnectivityAdapter connectivity;
/// Initializes the [QueryClient]
///
/// This sets up all [Hive] boxes and cache directories
static Future<void> initialize({
required String cachePrefix,
required ConnectivityAdapter connectivity,
String? cacheDir,
}) async {
connectivity = connectivity;
await Hive.initFlutter(cacheDir);
_cachePrefix = cachePrefix;
await Hive.openLazyBox(queryCachePrefix);