Skip to content

Commit

Permalink
Added dart impl to handle notification from android when connection id
Browse files Browse the repository at this point in the history
is updated
  • Loading branch information
sacOO7 committed Feb 23, 2024
1 parent 62f4c80 commit 59c820d
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ static final public class PlatformMethod {
public static final String connectionId = "connectionId";
public static final String connectionKey = "connectionKey";
public static final String connectionRecoveryKey = "connectionRecoveryKey";
public static final String connectionIdUpdated = "connectionIdUpdated";

public static final String pushActivate = "pushActivate";
public static final String pushDeactivate = "pushDeactivate";
Expand Down
1 change: 1 addition & 0 deletions lib/src/generated/platform_constants.dart
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ class PlatformMethod {
static const String connectionId = 'connectionId';
static const String connectionKey = 'connectionKey';
static const String connectionRecoveryKey = 'connectionRecoveryKey';
static const String connectionIdUpdated = 'connectionIdUpdated';

static const String pushActivate = 'pushActivate';
static const String pushDeactivate = 'pushDeactivate';
Expand Down
12 changes: 12 additions & 0 deletions lib/src/platform/src/method_call_handler.dart
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import 'dart:ffi';

import 'package:ably_flutter/ably_flutter.dart';
import 'package:ably_flutter/src/platform/platform_internal.dart';
import 'package:flutter/services.dart';
Expand All @@ -15,6 +17,8 @@ class AblyMethodCallHandler {
return onAuthCallback(call.arguments as AblyMessage);
case PlatformMethod.realtimeAuthCallback:
return onRealtimeAuthCallback(call.arguments as AblyMessage?);
case PlatformMethod.connectionIdUpdated:
return onConnectionIdUpdated(call.arguments as AblyMessage?);
case PlatformMethod.pushOnActivate:
return _onPushOnActivate(call.arguments as ErrorInfo?);
case PlatformMethod.pushOnDeactivate:
Expand Down Expand Up @@ -68,6 +72,14 @@ class AblyMethodCallHandler {
return realtime.options.authCallback!(tokenParams);
}

/// @nodoc
/// handles auth callback for realtime instances
Future<void> onConnectionIdUpdated(AblyMessage<dynamic>? message) async {
final updatedConnId = message!.message as String;
final realtime = realtimeInstances[message.handle];
realtime?.connection.id = updatedConnId;
}

final PushActivationEventsInternal _pushActivationEvents =
Push.activationEvents as PushActivationEventsInternal;
final PushNotificationEventsInternal _pushNotificationEvents =
Expand Down
2 changes: 1 addition & 1 deletion test/models/client_options.dart
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ void main() {
expect(clientOptions.realtimeHost, isNull);
expect(clientOptions.port, isNull);
expect(clientOptions.tlsPort, isNull);
expect(clientOptions.autoConnect, isNull);
expect(clientOptions.autcoConnect, isNull);
expect(clientOptions.useBinaryProtocol, isNull);
expect(clientOptions.queueMessages, isNull);
expect(clientOptions.echoMessages, isNull);
Expand Down

0 comments on commit 59c820d

Please sign in to comment.