From e0b80b75fc3c7a31af2e686a54ffec798e291a5b Mon Sep 17 00:00:00 2001 From: Prerak Mann Date: Wed, 18 Dec 2019 15:37:26 +0530 Subject: [PATCH] added serviceId parameter to startAdvertising and startDiscovery methods --- .../NearbyConnectionsPlugin.java | 12 +++++-- lib/src/nearby.dart | 31 ++++++++++--------- 2 files changed, 26 insertions(+), 17 deletions(-) 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 e3d5f3b..44fc9dc 100644 --- a/android/src/main/java/com/pkmnapps/nearby_connections/NearbyConnectionsPlugin.java +++ b/android/src/main/java/com/pkmnapps/nearby_connections/NearbyConnectionsPlugin.java @@ -114,14 +114,18 @@ public class NearbyConnectionsPlugin implements MethodCallHandler { case "startAdvertising": { String userNickName = (String) call.argument("userNickName"); int strategy = (int) call.argument("strategy"); + String serviceId = (String) call.argument("serviceId"); assert userNickName != null; + if(serviceId==null || serviceId =="") + serviceId=SERVICE_ID; + AdvertisingOptions advertisingOptions = new AdvertisingOptions.Builder() .setStrategy(getStrategy(strategy)).build(); Nearby.getConnectionsClient(activity) .startAdvertising( - userNickName, SERVICE_ID, advertConnectionLifecycleCallback, advertisingOptions) + userNickName, serviceId, advertConnectionLifecycleCallback, advertisingOptions) .addOnSuccessListener(new OnSuccessListener() { @Override public void onSuccess(Void aVoid) { @@ -140,12 +144,16 @@ public class NearbyConnectionsPlugin implements MethodCallHandler { case "startDiscovery": { String userNickName = (String) call.argument("userNickName"); int strategy = (int) call.argument("strategy"); + String serviceId = (String) call.argument("serviceId"); assert userNickName != null; + if(serviceId==null || serviceId =="") + serviceId=SERVICE_ID; + DiscoveryOptions discoveryOptions = new DiscoveryOptions.Builder().setStrategy(getStrategy(strategy)).build(); Nearby.getConnectionsClient(activity) - .startDiscovery(SERVICE_ID, endpointDiscoveryCallback, discoveryOptions) + .startDiscovery(serviceId, endpointDiscoveryCallback, discoveryOptions) .addOnSuccessListener(new OnSuccessListener() { @Override public void onSuccess(Void aVoid) { diff --git a/lib/src/nearby.dart b/lib/src/nearby.dart index 9ebab6a..6e099c9 100644 --- a/lib/src/nearby.dart +++ b/lib/src/nearby.dart @@ -156,9 +156,8 @@ class Nearby { /// Convinience method /// /// Asks location permission - Future askLocationPermission() async => await _channel.invokeMethod( - 'askLocationPermission', - ); + void askLocationPermission() => + _channel.invokeMethod('askLocationPermission'); /// Convinience method /// @@ -171,21 +170,18 @@ class Nearby { /// Convinience method /// /// Asks external storage permission, required for file - Future askExternalStoragePermission() async => - await _channel.invokeMethod( - 'askExternalStoragePermission', - ); + void askExternalStoragePermission() => + _channel.invokeMethod('askExternalStoragePermission'); /// Convinience method /// /// Use this instead of calling both [askLocationPermission()] and [askExternalStoragePermission()] - Future askLocationAndExternalStoragePermission() async => - await _channel.invokeMethod( - 'askLocationAndExternalStoragePermission', - ); + void askLocationAndExternalStoragePermission() => + _channel.invokeMethod('askLocationAndExternalStoragePermission'); /// Start Advertising, Discoverers would be able to discover this advertiser. /// + /// [serviceId] is a unique identifier for your app, its recommended to use your app package name only, it cannot be null /// [userNickName] and [strategy] should not be null Future startAdvertising( String userNickName, @@ -193,8 +189,9 @@ class Nearby { @required OnConnctionInitiated onConnectionInitiated, @required OnConnectionResult onConnectionResult, @required OnDisconnected onDisconnected, + String serviceId = "com.pkmnapps.nearby_connections", }) async { - assert(userNickName != null && strategy != null); + assert(userNickName != null && strategy != null && serviceId != null); this._advertConnectionInitiated = onConnectionInitiated; this._advertConnectionResult = onConnectionResult; @@ -202,7 +199,8 @@ class Nearby { return await _channel.invokeMethod('startAdvertising', { 'userNickName': userNickName, - 'strategy': strategy.index + 'strategy': strategy.index, + 'serviceId': serviceId, }); } @@ -218,20 +216,23 @@ class Nearby { /// Start Discovery, You will now be able to discover the advertisers now. /// + /// [serviceId] is a unique identifier for your app, its recommended to use your app package name only, it cannot be null /// [userNickName] and [strategy] should not be null Future startDiscovery( String userNickName, Strategy strategy, { @required OnEndpointFound onEndpointFound, @required OnEndpointLost onEndpointLost, + String serviceId = "com.pkmnapps.nearby_connections", }) async { - assert(userNickName != null && strategy != null); + assert(userNickName != null && strategy != null && serviceId != null); this._onEndpointFound = onEndpointFound; this._onEndpointLost = onEndpointLost; return await _channel.invokeMethod('startDiscovery', { 'userNickName': userNickName, - 'strategy': strategy.index + 'strategy': strategy.index, + 'serviceId': serviceId, }); }