published 1.0.2

added cancelPayload and assertions
multipeer_ios
Prerak Mann 5 years ago
parent 38dc0080d0
commit 9d150de814

@ -1,3 +1,7 @@
## 1.0.2
* Added payload cancellation and other assertions
## 1.0.1
* Changed convinience methods for asking permissions(location+storage)

@ -1,6 +1,6 @@
# nearby_connections
An **android** flutter plugin for the Nearby Connections API
An **android** flutter plugin for the [Nearby Connections API]((https://developers.google.com/nearby/connections/overview))
Currently supports Bytes and Files.
[![pub package](https://img.shields.io/pub/v/nearby_connections.svg)](https://pub.dartlang.org/packages/nearby_connections)

@ -88,7 +88,7 @@ public class NearbyConnectionsPlugin implements MethodCallHandler {
break;
case "askExternalStoragePermission":
ActivityCompat.requestPermissions(activity,
new String[]{Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.WRITE_EXTERNAL_STORAGE},
new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE},
0);
result.success(null);
break;
@ -255,11 +255,19 @@ public class NearbyConnectionsPlugin implements MethodCallHandler {
result.success(filePayload.getId()); //return payload id to dart
} catch (FileNotFoundException e) {
Log.e("nearby_connections", "File not found", e);
result.error("Failure", "File Not found", null);
result.error("Failure", e.getMessage(), null);
return;
}
break;
}
case "cancelPayload": {
String payloadId = (String) call.argument("payloadId");
assert payloadId != null;
Nearby.getConnectionsClient(activity).cancelPayload(Long.parseLong(payloadId));
result.success(null);
break;
}
default:
result.notImplemented();
}
@ -367,13 +375,12 @@ public class NearbyConnectionsPlugin implements MethodCallHandler {
args.put("endpointId", endpointId);
args.put("payloadId", payload.getId());
args.put("type", payload.getType());
if (payload.getType() == Payload.Type.BYTES) {
byte[] bytes = payload.asBytes();
assert bytes != null;
args.put("bytes", bytes);
}
else if (payload.getType() == Payload.Type.FILE) {
} else if (payload.getType() == Payload.Type.FILE) {
args.put("filePath", payload.asFile().asJavaFile().getAbsolutePath());
}

@ -73,7 +73,7 @@ packages:
path: ".."
relative: true
source: path
version: "1.0.1"
version: "1.0.2"
path:
dependency: transitive
description:

@ -25,6 +25,8 @@ class Payload {
});
}
/// Gives payload status (SUCCESS, FAILURE, IN_PROGRESS)
/// bytes transferred and total bytes
class PayloadTransferUpdate {
int id, bytesTransferred, totalBytes;
PayloadStatus status;

@ -159,18 +159,20 @@ class Nearby {
Future<void> askLocationPermission() async => await _channel.invokeMethod(
'askLocationPermission',
);
/// Convinience method
///
/// retruns true/false based on external storage permissions.
Future<bool> checkExternalStoragePermission() async => await _channel.invokeMethod(
Future<bool> checkExternalStoragePermission() async =>
await _channel.invokeMethod(
'checkExternalStoragePermission',
);
/// Convinience method
///
/// Asks external storage permission, required for file
Future<void> askExternalStoragePermission() async => await _channel.invokeMethod(
Future<void> askExternalStoragePermission() async =>
await _channel.invokeMethod(
'askExternalStoragePermission',
);
@ -252,6 +254,7 @@ class Nearby {
/// this will call the onDisconnected method on callbacks of
/// connected endPoint
Future<void> disconnectFromEndpoint(String endpointId) async {
assert(endpointId != null);
await _channel.invokeMethod(
'disconnectFromEndpoint', <String, dynamic>{'endpointId': endpointId});
}
@ -274,6 +277,9 @@ class Nearby {
this._discoverConnectionResult = onConnectionResult;
this._discoverDisconnected = onDisconnected;
assert(endpointId != null);
assert(userNickName != null);
return await _channel.invokeMethod(
'requestConnection',
<String, dynamic>{
@ -298,6 +304,9 @@ class Nearby {
}) async {
this._onPayloadReceived = onPayLoadRecieved;
this._onPayloadTransferUpdate = onPayloadTransferUpdate;
assert(endpointId != null);
return await _channel.invokeMethod(
'acceptConnection',
<String, dynamic>{
@ -316,6 +325,8 @@ class Nearby {
/// [OnConnectionResult] is called on both
/// even if one of them rejects the connection
Future<bool> rejectConnection(String endpointId) async {
assert(endpointId != null);
return await _channel.invokeMethod(
'rejectConnection',
<String, dynamic>{
@ -333,6 +344,8 @@ class Nearby {
/// Uint8List bytes = Uint8List.fromList(a.codeUnits);
/// ```
Future<void> sendBytesPayload(String endpointId, Uint8List bytes) async {
assert(endpointId != null);
return await _channel.invokeMethod(
'sendPayload',
<String, dynamic>{
@ -350,6 +363,8 @@ class Nearby {
/// so that receiver can rename the file accordingly
/// Send the payloadID and filename to receiver as bytes payload
Future<int> sendFilePayload(String endpointId, String filePath) async {
assert(endpointId != null);
return await _channel.invokeMethod(
'sendFilePayload',
<String, dynamic>{
@ -358,4 +373,15 @@ class Nearby {
},
);
}
Future<void> cancelPayload(int payloadId) async {
assert(payloadId != null);
return await _channel.invokeMethod(
'cancelPayload',
<String, dynamic>{
'payloadId': payloadId.toString(),
},
);
}
}

@ -1,6 +1,6 @@
name: nearby_connections
description: Plugin for the android NearbyConnections API. Bytes and Files Supported.
version: 1.0.1
version: 1.0.2
author: Prerak Mann <mannprerak2@gmail.com>
homepage: https://github.com/mannprerak2/nearby_connections

Loading…
Cancel
Save