diff --git a/CHANGELOG.md b/CHANGELOG.md index 72b18ae..c8f12cd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 4.2.0 + +- Replace android callbacks to use event channel. + ## 4.1.1 - Fix lints. diff --git a/android/src/main/java/com/pkmnapps/nearby_connections/NearbyConnectionsPlugin.java b/android/src/main/java/com/pkmnapps/nearby_connections/NearbyConnectionsPlugin.java index 96e95f3..8aedccc 100644 --- a/android/src/main/java/com/pkmnapps/nearby_connections/NearbyConnectionsPlugin.java +++ b/android/src/main/java/com/pkmnapps/nearby_connections/NearbyConnectionsPlugin.java @@ -69,18 +69,18 @@ public static void registerWith(Registrar registrar) { pluginRegistrar = registrar; channel = new MethodChannel(registrar.messenger(), "nearby_connections"); channel.setMethodCallHandler(new NearbyConnectionsPlugin(registrar.activity())); -// eventChannel=new EventChannel(flutterEngine.getDartExecutor().getBinaryMessenger(), "nearby_connections/events"); -// eventChannel.setStreamHandler( -// new EventChannel.StreamHandler() { -// @Override -// public void onListen(Object arguments, EventChannel.EventSink events) { -// eventSink=events; -// } -// @Override -// public void onCancel(Object arguments) { -// eventSink=null; -// } -// }); + eventChannel=new EventChannel(registrar.messenger(), "nearby_connections/events"); + eventChannel.setStreamHandler( + new EventChannel.StreamHandler() { + @Override + public void onListen(Object arguments, EventChannel.EventSink events) { + eventSink=events; + } + @Override + public void onCancel(Object arguments) { + eventSink=null; + } + }); } @Override @@ -482,7 +482,7 @@ private Strategy getStrategy(int strategy) { public void onAttachedToEngine(@NonNull FlutterPluginBinding binding) { channel = new MethodChannel(binding.getBinaryMessenger(), "nearby_connections"); channel.setMethodCallHandler(this); - eventChannel=new EventChannel(binding.getFlutterEngine().getDartExecutor().getBinaryMessenger(), "nearby_connections/events"); + eventChannel=new EventChannel(binding.getBinaryMessenger(), "nearby_connections/events"); eventChannel.setStreamHandler( new EventChannel.StreamHandler() { @Override diff --git a/example/android/gradle/wrapper/gradle-wrapper.properties b/example/android/gradle/wrapper/gradle-wrapper.properties index e1ca574..b5fc5a7 100644 --- a/example/android/gradle/wrapper/gradle-wrapper.properties +++ b/example/android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-all.zip diff --git a/example/android/settings.gradle b/example/android/settings.gradle index e02e904..6668a64 100644 --- a/example/android/settings.gradle +++ b/example/android/settings.gradle @@ -19,7 +19,7 @@ pluginManagement { plugins { id "dev.flutter.flutter-plugin-loader" version "1.0.0" - id "com.android.application" version '7.4.2' apply false + id "com.android.application" version '8.2.1' apply false id "org.jetbrains.kotlin.android" version "1.9.23" apply false } diff --git a/example/pubspec.lock b/example/pubspec.lock index 76b3b1f..8c4d822 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -37,18 +37,18 @@ packages: dependency: transitive description: name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf url: "https://pub.dev" source: hosted - version: "1.18.0" + version: "1.19.0" cross_file: dependency: transitive description: name: cross_file - sha256: "55d7b444feb71301ef6b8838dbc1ae02e63dd48c8773f3810ff53bb1e2945b32" + sha256: "7caf6a750a0c04effbb52a676dce9a4a592e10ad35c34d6d2d0e4811160d5670" url: "https://pub.dev" source: hosted - version: "0.3.4+1" + version: "0.3.4+2" fake_async: dependency: transitive description: @@ -61,26 +61,26 @@ packages: dependency: transitive description: name: ffi - sha256: "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21" + sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6" url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.3" file_selector_linux: dependency: transitive description: name: file_selector_linux - sha256: "045d372bf19b02aeb69cacf8b4009555fb5f6f0b7ad8016e5f46dd1387ddd492" + sha256: "54cbbd957e1156d29548c7d9b9ec0c0ebb6de0a90452198683a7d23aed617a33" url: "https://pub.dev" source: hosted - version: "0.9.2+1" + version: "0.9.3+2" file_selector_macos: dependency: transitive description: name: file_selector_macos - sha256: b15c3da8bd4908b9918111fa486903f5808e388b8d1c559949f584725a6594d6 + sha256: "271ab9986df0c135d45c3cdb6bd0faa5db6f4976d3e4b437cf7d0f258d941bfc" url: "https://pub.dev" source: hosted - version: "0.9.3+3" + version: "0.9.4+2" file_selector_platform_interface: dependency: transitive description: @@ -93,10 +93,10 @@ packages: dependency: transitive description: name: file_selector_windows - sha256: d3547240c20cabf205c7c7f01a50ecdbc413755814d6677f3cb366f04abcead0 + sha256: "8f5d2f6590d51ecd9179ba39c64f722edc15226cc93dcc8698466ad36a4a85a4" url: "https://pub.dev" source: hosted - version: "0.9.3+1" + version: "0.9.3+3" flutter: dependency: "direct main" description: flutter @@ -114,10 +114,10 @@ packages: dependency: transitive description: name: flutter_plugin_android_lifecycle - sha256: "8cf40eebf5dec866a6d1956ad7b4f7016e6c0cc69847ab946833b7d43743809f" + sha256: "615a505aef59b151b46bbeef55b36ce2b6ed299d160c51d84281946f0aa0ce0e" url: "https://pub.dev" source: hosted - version: "2.0.19" + version: "2.0.24" flutter_test: dependency: "direct dev" description: flutter @@ -132,50 +132,50 @@ packages: dependency: transitive description: name: http - sha256: "761a297c042deedc1ffbb156d6e2af13886bb305c2a343a4d972504cd67dd938" + sha256: b9c29a161230ee03d3ccf545097fccd9b87a5264228c5d348202e0f0c28f9010 url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.2.2" http_parser: dependency: transitive description: name: http_parser - sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" + sha256: "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571" url: "https://pub.dev" source: hosted - version: "4.0.2" + version: "4.1.2" image_picker: dependency: "direct main" description: name: image_picker - sha256: fe9ee64ccb8d599a5dfb0e21cc6652232c610bcf667af4e79b9eb175cc30a7a5 + sha256: "021834d9c0c3de46bf0fe40341fa07168407f694d9b2bb18d532dc1261867f7a" url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.1.2" image_picker_android: dependency: transitive description: name: image_picker_android - sha256: "8e75431a62b7feb4fd55cb4a5c6f0ac4564460ec5dc09f9c4a0d50a5ce7c4cb9" + sha256: b62d34a506e12bb965e824b6db4fbf709ee4589cf5d3e99b45ab2287b008ee0c url: "https://pub.dev" source: hosted - version: "0.8.10" + version: "0.8.12+20" image_picker_for_web: dependency: transitive description: name: image_picker_for_web - sha256: "5d6eb13048cd47b60dbf1a5495424dea226c5faf3950e20bf8120a58efb5b5f3" + sha256: "717eb042ab08c40767684327be06a5d8dbb341fe791d514e4b92c7bbe1b7bb83" url: "https://pub.dev" source: hosted - version: "3.0.4" + version: "3.0.6" image_picker_ios: dependency: transitive description: name: image_picker_ios - sha256: f74064bc548b5164a033ec05638e23c91be1a249c255e0f56319dddffd759794 + sha256: "05da758e67bc7839e886b3959848aa6b44ff123ab4b28f67891008afe8ef9100" url: "https://pub.dev" source: hosted - version: "0.8.10+1" + version: "0.8.12+2" image_picker_linux: dependency: transitive description: @@ -196,10 +196,10 @@ packages: dependency: transitive description: name: image_picker_platform_interface - sha256: "9ec26d410ff46f483c5519c29c02ef0e02e13a543f882b152d4bfd2f06802f80" + sha256: "886d57f0be73c4b140004e78b9f28a8914a09e50c2d816bdd0520051a71236a0" url: "https://pub.dev" source: hosted - version: "2.10.0" + version: "2.10.1" image_picker_windows: dependency: transitive description: @@ -220,26 +220,26 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" + sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06" url: "https://pub.dev" source: hosted - version: "10.0.0" + version: "10.0.7" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 + sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "3.0.8" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 + sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "3.0.1" lints: dependency: transitive description: @@ -252,10 +252,10 @@ packages: dependency: "direct main" description: name: location - sha256: "2d88e4ffb464d0ca5510e7edd29723ab762c43479de39d2d19ed6194f5b6d624" + sha256: "37ffdadcd4b1498b769824f45ebb4de8ed46663a4a67ac27b33a590ee486579f" url: "https://pub.dev" source: hosted - version: "6.0.1" + version: "6.0.2" location_platform_interface: dependency: transitive description: @@ -268,10 +268,10 @@ packages: dependency: transitive description: name: location_web - sha256: "15ad7b4c8a9f55abee513373755e093a40c04d7e24fc1b4f89676fe99523d034" + sha256: "49dda13d415c4603c5775a33fb22f575e0aa3f0ec2916644ddcd722db31ee884" url: "https://pub.dev" source: hosted - version: "5.0.1" + version: "5.0.2" matcher: dependency: transitive description: @@ -284,33 +284,33 @@ packages: dependency: transitive description: name: material_color_utilities - sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" + sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec url: "https://pub.dev" source: hosted - version: "0.8.0" + version: "0.11.1" meta: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.15.0" mime: dependency: transitive description: name: mime - sha256: "2e123074287cc9fd6c09de8336dae606d1ddb88d9ac47358826db698c176a1f2" + sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6" url: "https://pub.dev" source: hosted - version: "1.0.5" + version: "2.0.0" nearby_connections: dependency: "direct main" description: path: ".." relative: true source: path - version: "4.1.0" + version: "4.1.1" path: dependency: transitive description: @@ -323,26 +323,26 @@ packages: dependency: "direct main" description: name: path_provider - sha256: c9e7d3a4cd1410877472158bee69963a4579f78b68c65a2b7d40d1a7a88bb161 + sha256: "50c5dd5b6e1aaf6fb3a78b33f6aa3afca52bf903a8a5298f53101fdaee55bbcd" url: "https://pub.dev" source: hosted - version: "2.1.3" + version: "2.1.5" path_provider_android: dependency: transitive description: name: path_provider_android - sha256: a248d8146ee5983446bf03ed5ea8f6533129a12b11f12057ad1b4a67a2b3b41d + sha256: "4adf4fd5423ec60a29506c76581bc05854c55e3a0b72d35bb28d661c9686edf2" url: "https://pub.dev" source: hosted - version: "2.2.4" + version: "2.2.15" path_provider_foundation: dependency: transitive description: name: path_provider_foundation - sha256: "5a7999be66e000916500be4f15a3633ebceb8302719b47b9cc49ce924125350f" + sha256: "4843174df4d288f5e29185bd6e72a6fbdf5a4a4602717eed565497429f179942" url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.4.1" path_provider_linux: dependency: transitive description: @@ -363,10 +363,10 @@ packages: dependency: transitive description: name: path_provider_windows - sha256: "8bc9f22eee8690981c22aa7fc602f5c85b497a6fb2ceb35ee5a5e5ed85ad8170" + sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7 url: "https://pub.dev" source: hosted - version: "2.2.1" + version: "2.3.0" permission_handler: dependency: "direct main" description: @@ -379,34 +379,34 @@ packages: dependency: transitive description: name: permission_handler_android - sha256: "1acac6bae58144b442f11e66621c062aead9c99841093c38f5bcdcc24c1c3474" + sha256: "71bbecfee799e65aff7c744761a57e817e73b738fedf62ab7afd5593da21f9f1" url: "https://pub.dev" source: hosted - version: "12.0.5" + version: "12.0.13" permission_handler_apple: dependency: transitive description: name: permission_handler_apple - sha256: e9ad66020b89ff1b63908f247c2c6f931c6e62699b756ef8b3c4569350cd8662 + sha256: e6f6d73b12438ef13e648c4ae56bd106ec60d17e90a59c4545db6781229082a0 url: "https://pub.dev" source: hosted - version: "9.4.4" + version: "9.4.5" permission_handler_html: dependency: transitive description: name: permission_handler_html - sha256: "54bf176b90f6eddd4ece307e2c06cf977fb3973719c35a93b85cc7093eb6070d" + sha256: "38f000e83355abb3392140f6bc3030660cfaef189e1f87824facb76300b4ff24" url: "https://pub.dev" source: hosted - version: "0.1.1" + version: "0.1.3+5" permission_handler_platform_interface: dependency: transitive description: name: permission_handler_platform_interface - sha256: "48d4fcf201a1dad93ee869ab0d4101d084f49136ec82a8a06ed9cfeacab9fd20" + sha256: e9c8eadee926c4532d0305dff94b85bf961f16759c3af791486613152af4b4f9 url: "https://pub.dev" source: hosted - version: "4.2.1" + version: "4.2.3" permission_handler_windows: dependency: transitive description: @@ -419,10 +419,10 @@ packages: dependency: transitive description: name: platform - sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec" + sha256: "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984" url: "https://pub.dev" source: hosted - version: "3.1.4" + version: "3.1.6" plugin_platform_interface: dependency: transitive description: @@ -435,7 +435,7 @@ packages: dependency: transitive description: flutter source: sdk - version: "0.0.99" + version: "0.0.0" source_span: dependency: transitive description: @@ -448,10 +448,10 @@ packages: dependency: transitive description: name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377" url: "https://pub.dev" source: hosted - version: "1.11.1" + version: "1.12.0" stream_channel: dependency: transitive description: @@ -464,10 +464,10 @@ packages: dependency: transitive description: name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.3.0" term_glyph: dependency: transitive description: @@ -480,18 +480,18 @@ packages: dependency: transitive description: name: test_api - sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" + sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" url: "https://pub.dev" source: hosted - version: "0.6.1" + version: "0.7.3" typed_data: dependency: transitive description: name: typed_data - sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c + sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006 url: "https://pub.dev" source: hosted - version: "1.3.2" + version: "1.4.0" vector_math: dependency: transitive description: @@ -504,10 +504,10 @@ packages: dependency: transitive description: name: vm_service - sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 + sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b url: "https://pub.dev" source: hosted - version: "13.0.0" + version: "14.3.0" web: dependency: transitive description: @@ -516,22 +516,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.5.1" - win32: - dependency: transitive - description: - name: win32 - sha256: "0eaf06e3446824099858367950a813472af675116bf63f008a4c2a75ae13e9cb" - url: "https://pub.dev" - source: hosted - version: "5.5.0" xdg_directories: dependency: transitive description: name: xdg_directories - sha256: faea9dee56b520b55a566385b84f2e8de55e7496104adada9962e0bd11bcff1d + sha256: "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15" url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "1.1.0" sdks: - dart: ">=3.3.4 <4.0.0" - flutter: ">=3.19.0" + dart: ">=3.5.0 <4.0.0" + flutter: ">=3.24.0" diff --git a/lib/src/nearby.dart b/lib/src/nearby.dart index 0fe92f4..b924300 100644 --- a/lib/src/nearby.dart +++ b/lib/src/nearby.dart @@ -21,116 +21,115 @@ class Nearby { Nearby._() { _eventChannel.receiveBroadcastStream().listen( - (dynamic data) { - Map args =data; - switch (args["method"]) { - case "ad.onConnectionInitiated": - String endpointId = args['endpointId'] ?? '-1'; - String endpointName = args['endpointName'] ?? '-1'; - String authenticationToken = args['authenticationToken'] ?? '-1'; - bool isIncomingConnection = args['isIncomingConnection'] ?? false; - - _advertConnectionInitiated?.call( - endpointId, - ConnectionInfo( - endpointName, authenticationToken, isIncomingConnection)); - break; - case "ad.onConnectionResult": - String endpointId = args['endpointId'] ?? '-1'; - Status statusCode = + (dynamic data) { + Map args = data; + switch (args["method"]) { + case "ad.onConnectionInitiated": + String endpointId = args['endpointId'] ?? '-1'; + String endpointName = args['endpointName'] ?? '-1'; + String authenticationToken = args['authenticationToken'] ?? '-1'; + bool isIncomingConnection = args['isIncomingConnection'] ?? false; + + _advertConnectionInitiated?.call( + endpointId, + ConnectionInfo( + endpointName, authenticationToken, isIncomingConnection)); + break; + case "ad.onConnectionResult": + String endpointId = args['endpointId'] ?? '-1'; + Status statusCode = Status.values[args['statusCode'] ?? Status.ERROR.index]; - _advertConnectionResult?.call(endpointId, statusCode); + _advertConnectionResult?.call(endpointId, statusCode); - break; - case "ad.onDisconnected": - String endpointId = args['endpointId'] ?? '-1'; + break; + case "ad.onDisconnected": + String endpointId = args['endpointId'] ?? '-1'; - _advertDisconnected?.call(endpointId); + _advertDisconnected?.call(endpointId); - break; + break; - case "dis.onConnectionInitiated": - String endpointId = args['endpointId'] ?? '-1'; - String endpointName = args['endpointName'] ?? '-1'; - String authenticationToken = args['authenticationToken'] ?? '-1'; - bool isIncomingConnection = args['isIncomingConnection'] ?? false; + case "dis.onConnectionInitiated": + String endpointId = args['endpointId'] ?? '-1'; + String endpointName = args['endpointName'] ?? '-1'; + String authenticationToken = args['authenticationToken'] ?? '-1'; + bool isIncomingConnection = args['isIncomingConnection'] ?? false; - _discoverConnectionInitiated?.call( - endpointId, - ConnectionInfo( - endpointName, authenticationToken, isIncomingConnection)); + _discoverConnectionInitiated?.call( + endpointId, + ConnectionInfo( + endpointName, authenticationToken, isIncomingConnection)); - break; - case "dis.onConnectionResult": - String endpointId = args['endpointId'] ?? '-1'; - Status statusCode = + break; + case "dis.onConnectionResult": + String endpointId = args['endpointId'] ?? '-1'; + Status statusCode = Status.values[args['statusCode'] ?? Status.ERROR.index]; - _discoverConnectionResult?.call(endpointId, statusCode); - - break; - case "dis.onDisconnected": - String endpointId = args['endpointId'] ?? '-1'; - - _discoverDisconnected?.call(endpointId); - - break; - - case "dis.onEndpointFound": - String endpointId = args['endpointId'] ?? '-1'; - String endpointName = args['endpointName'] ?? '-1'; - String serviceId = args['serviceId'] ?? '-1'; - _onEndpointFound?.call(endpointId, endpointName, serviceId); - - break; - case "dis.onEndpointLost": - String endpointId = args['endpointId'] ?? '-1'; - - _onEndpointLost?.call(endpointId); - - break; - case "onPayloadReceived": - String endpointId = args['endpointId'] ?? '-1'; - int type = args['type'] ?? PayloadType.NONE; - Uint8List bytes = args['bytes'] ?? Uint8List(0); - int payloadId = args['payloadId'] ?? -1; - String? filePath = args['filePath']; - String? uri = args['uri']; - - Payload payload = Payload( - type: PayloadType.values[type], - bytes: bytes, - id: payloadId, - filePath: filePath, - uri: uri, - ); - - _onPayloadReceived?.call(endpointId, payload); - - break; - case "onPayloadTransferUpdate": - String endpointId = args['endpointId'] ?? '-1'; - int payloadId = args['payloadId'] ?? -1; - int status = args['status'] ?? Status.ERROR.index; - int bytesTransferred = args['bytesTransferred'] ?? 0; - int totalBytes = args['totalBytes'] ?? 0; - - PayloadTransferUpdate payloadTransferUpdate = PayloadTransferUpdate( - id: payloadId, - status: PayloadStatus.values[status], - bytesTransferred: bytesTransferred, - totalBytes: totalBytes, - ); - - _onPayloadTransferUpdate?.call(endpointId, payloadTransferUpdate); - break; - } + _discoverConnectionResult?.call(endpointId, statusCode); + + break; + case "dis.onDisconnected": + String endpointId = args['endpointId'] ?? '-1'; + + _discoverDisconnected?.call(endpointId); + + break; + + case "dis.onEndpointFound": + String endpointId = args['endpointId'] ?? '-1'; + String endpointName = args['endpointName'] ?? '-1'; + String serviceId = args['serviceId'] ?? '-1'; + _onEndpointFound?.call(endpointId, endpointName, serviceId); + + break; + case "dis.onEndpointLost": + String endpointId = args['endpointId'] ?? '-1'; + + _onEndpointLost?.call(endpointId); + + break; + case "onPayloadReceived": + String endpointId = args['endpointId'] ?? '-1'; + int type = args['type'] ?? PayloadType.NONE; + Uint8List bytes = args['bytes'] ?? Uint8List(0); + int payloadId = args['payloadId'] ?? -1; + String? filePath = args['filePath']; + String? uri = args['uri']; + + Payload payload = Payload( + type: PayloadType.values[type], + bytes: bytes, + id: payloadId, + filePath: filePath, + uri: uri, + ); + + _onPayloadReceived?.call(endpointId, payload); + + break; + case "onPayloadTransferUpdate": + String endpointId = args['endpointId'] ?? '-1'; + int payloadId = args['payloadId'] ?? -1; + int status = args['status'] ?? Status.ERROR.index; + int bytesTransferred = args['bytesTransferred'] ?? 0; + int totalBytes = args['totalBytes'] ?? 0; + + PayloadTransferUpdate payloadTransferUpdate = PayloadTransferUpdate( + id: payloadId, + status: PayloadStatus.values[status], + bytesTransferred: bytesTransferred, + totalBytes: totalBytes, + ); + + _onPayloadTransferUpdate?.call(endpointId, payloadTransferUpdate); + break; + } }, ); } - //for advertisers OnConnectionInitiated? _advertConnectionInitiated, _discoverConnectionInitiated; @@ -146,7 +145,8 @@ class Nearby { OnPayloadTransferUpdate? _onPayloadTransferUpdate; static const MethodChannel _channel = MethodChannel('nearby_connections'); - static const EventChannel _eventChannel = EventChannel('nearby_connections/events'); + static const EventChannel _eventChannel = + EventChannel('nearby_connections/events'); /// convenience method /// diff --git a/pubspec.lock b/pubspec.lock index 8e20dd8..1027831 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -37,10 +37,10 @@ packages: dependency: transitive description: name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf url: "https://pub.dev" source: hosted - version: "1.18.0" + version: "1.19.0" fake_async: dependency: transitive description: @@ -71,26 +71,26 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" + sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06" url: "https://pub.dev" source: hosted - version: "10.0.0" + version: "10.0.7" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 + sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "3.0.8" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 + sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "3.0.1" lints: dependency: transitive description: @@ -111,18 +111,18 @@ packages: dependency: transitive description: name: material_color_utilities - sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" + sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec url: "https://pub.dev" source: hosted - version: "0.8.0" + version: "0.11.1" meta: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.15.0" path: dependency: transitive description: @@ -135,7 +135,7 @@ packages: dependency: transitive description: flutter source: sdk - version: "0.0.99" + version: "0.0.0" source_span: dependency: transitive description: @@ -148,10 +148,10 @@ packages: dependency: transitive description: name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377" url: "https://pub.dev" source: hosted - version: "1.11.1" + version: "1.12.0" stream_channel: dependency: transitive description: @@ -164,10 +164,10 @@ packages: dependency: transitive description: name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.3.0" term_glyph: dependency: transitive description: @@ -180,10 +180,10 @@ packages: dependency: transitive description: name: test_api - sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" + sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" url: "https://pub.dev" source: hosted - version: "0.6.1" + version: "0.7.3" vector_math: dependency: transitive description: @@ -196,10 +196,10 @@ packages: dependency: transitive description: name: vm_service - sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 + sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b url: "https://pub.dev" source: hosted - version: "13.0.0" + version: "14.3.0" sdks: - dart: ">=3.2.0-0 <4.0.0" - flutter: ">=1.20.0" + dart: ">=3.4.0 <4.0.0" + flutter: ">=3.18.0-18.0.pre.54" diff --git a/pubspec.yaml b/pubspec.yaml index 8fc0092..90770b5 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: nearby_connections description: Plugin for the android NearbyConnections API. Bytes and Files Supported. -version: 4.1.1 +version: 4.2.0 homepage: https://github.com/mannprerak2/nearby_connections environment: