Skip to content

release 7.2.4. #25

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Jun 28, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
# 7.2.4

* Fixed a bug that did not allow you to remove a subscription to a RT event in Android.

# 7.2.3

* fixed a bug that occurred when working with Cyrillic in custom services
* Fixed a bug that occurred when working with Cyrillic in custom services

# 7.2.2

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Follow the steps below to get started with Backendless Flutter SDK:
To use this plugin in your Flutter project, add `backendless_sdk` as a [dependency in your pubspec.yaml file](https://flutter.io/platform-plugins/):
```dart
dependencies:
backendless_sdk: ^7.2.3
backendless_sdk: ^7.2.4
```
#### STEP 2. Import the Backendless SDK:
Add the following import to your Dart code
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import com.backendless.backendless_sdk.utils.FlutterCallback;
import com.backendless.property.ObjectProperty;
import com.backendless.rt.data.BulkEvent;
import com.backendless.rt.data.EventHandler;
import com.backendless.rt.data.RelationStatus;

import java.util.ArrayList;
Expand All @@ -25,6 +26,7 @@ public class DataCallHandler implements MethodChannel.MethodCallHandler {
private MethodChannel methodChannel;
private final SparseArray<DataEventAsyncCallback> subscriptions = new SparseArray<>();
private int nextHandle = 0;
private EventHandler eventHandler;

public DataCallHandler(MethodChannel methodChannel) {
this.methodChannel = methodChannel;
Expand Down Expand Up @@ -86,9 +88,15 @@ public void onMethodCall(final MethodCall call, MethodChannel.Result result) {
getView(call, result);
break;
case "Backendless.Data.RT.addListener":
if(eventHandler == null)
eventHandler = Backendless.Data.of(tableName).rt();

addListener(call, result);
break;
case "Backendless.Data.RT.removeListener":
if(eventHandler == null)
eventHandler = Backendless.Data.of(tableName).rt();

removeListener(call, result);
break;
default:
Expand Down Expand Up @@ -295,19 +303,19 @@ private void addListener(MethodCall call, MethodChannel.Result result) {
switch (event) {
case "RTDataEvent.BULK_CREATED":
DataEventAsyncCallback<List> bulkCreateCallback = new DataEventAsyncCallback<>(handle);
Backendless.Data.of(tableName).rt().addBulkCreateListener(bulkCreateCallback);
eventHandler.addBulkCreateListener(bulkCreateCallback);
break;
case "RTDataEvent.BULK_UPDATED":
if (whereClause != null)
Backendless.Data.of(tableName).rt().addBulkUpdateListener(whereClause, bulkCallback);
eventHandler.addBulkUpdateListener(whereClause, bulkCallback);
else
Backendless.Data.of(tableName).rt().addBulkUpdateListener(bulkCallback);
eventHandler.addBulkUpdateListener(bulkCallback);
break;
case "RTDataEvent.BULK_DELETED":
if (whereClause != null)
Backendless.Data.of(tableName).rt().addBulkDeleteListener(whereClause, bulkCallback);
eventHandler.addBulkDeleteListener(whereClause, bulkCallback);
else
Backendless.Data.of(tableName).rt().addBulkDeleteListener(bulkCallback);
eventHandler.addBulkDeleteListener(bulkCallback);
break;
default:
result.notImplemented();
Expand All @@ -321,21 +329,21 @@ private void addListener(MethodCall call, MethodChannel.Result result) {
switch (event) {
case "RTDataEvent.RELATIONS_SET":
if (parentObjects != null)
Backendless.Data.of(tableName).rt().addSetRelationListener(relationColumnName, parentObjects, relationsCallback);
eventHandler.addSetRelationListener(relationColumnName, parentObjects, relationsCallback);
else
Backendless.Data.of(tableName).rt().addSetRelationListener(relationColumnName, relationsCallback);
eventHandler.addSetRelationListener(relationColumnName, relationsCallback);
break;
case "RTDataEvent.RELATIONS_ADDED":
if (parentObjects != null)
Backendless.Data.of(tableName).rt().addAddRelationListener(relationColumnName, parentObjects, relationsCallback);
eventHandler.addAddRelationListener(relationColumnName, parentObjects, relationsCallback);
else
Backendless.Data.of(tableName).rt().addAddRelationListener(relationColumnName, relationsCallback);
eventHandler.addAddRelationListener(relationColumnName, relationsCallback);
break;
case "RTDataEvent.RELATIONS_REMOVED":
if (parentObjects != null)
Backendless.Data.of(tableName).rt().addDeleteRelationListener(relationColumnName, parentObjects, relationsCallback);
eventHandler.addDeleteRelationListener(relationColumnName, parentObjects, relationsCallback);
else
Backendless.Data.of(tableName).rt().addDeleteRelationListener(relationColumnName, relationsCallback);
eventHandler.addDeleteRelationListener(relationColumnName, relationsCallback);
break;
default:
result.notImplemented();
Expand All @@ -347,21 +355,21 @@ private void addListener(MethodCall call, MethodChannel.Result result) {
switch (event) {
case "RTDataEvent.CREATED":
if (whereClause != null)
Backendless.Data.of(tableName).rt().addCreateListener(whereClause, mapCallback);
eventHandler.addCreateListener(whereClause, mapCallback);
else
Backendless.Data.of(tableName).rt().addCreateListener(mapCallback);
eventHandler.addCreateListener(mapCallback);
break;
case "RTDataEvent.UPDATED":
if (whereClause != null)
Backendless.Data.of(tableName).rt().addUpdateListener(whereClause, mapCallback);
eventHandler.addUpdateListener(whereClause, mapCallback);
else
Backendless.Data.of(tableName).rt().addUpdateListener(mapCallback);
eventHandler.addUpdateListener(mapCallback);
break;
case "RTDataEvent.DELETED":
if (whereClause != null)
Backendless.Data.of(tableName).rt().addDeleteListener(whereClause, mapCallback);
eventHandler.addDeleteListener(whereClause, mapCallback);
else
Backendless.Data.of(tableName).rt().addDeleteListener(mapCallback);
eventHandler.addDeleteListener(mapCallback);
break;
default:
result.notImplemented();
Expand All @@ -382,45 +390,45 @@ private void removeListener(MethodCall call, MethodChannel.Result result) {
switch (event) {
case "RTDataEvent.CREATED":
if (whereClause != null)
Backendless.Data.of(tableName).rt().removeCreateListener(whereClause, callback);
eventHandler.removeCreateListener(whereClause, callback);
else
Backendless.Data.of(tableName).rt().removeCreateListener(callback);
eventHandler.removeCreateListener(callback);
break;
case "RTDataEvent.UPDATED":
if (whereClause != null)
Backendless.Data.of(tableName).rt().removeUpdateListener(whereClause, callback);
eventHandler.removeUpdateListener(whereClause, callback);
else
Backendless.Data.of(tableName).rt().removeUpdateListener(callback);
eventHandler.removeUpdateListener(callback);
break;
case "RTDataEvent.DELETED":
if (whereClause != null)
Backendless.Data.of(tableName).rt().removeDeleteListener(whereClause, callback);
eventHandler.removeDeleteListener(whereClause, callback);
else
Backendless.Data.of(tableName).rt().removeDeleteListener(callback);
eventHandler.removeDeleteListener(callback);
break;
case "RTDataEvent.BULK_CREATED":
Backendless.Data.of(tableName).rt().removeBulkCreateListener(callback);
eventHandler.removeBulkCreateListener(callback);
break;
case "RTDataEvent.BULK_UPDATED":
if (whereClause != null)
Backendless.Data.of(tableName).rt().removeBulkUpdateListener(whereClause, callback);
eventHandler.removeBulkUpdateListener(whereClause, callback);
else
Backendless.Data.of(tableName).rt().removeBulkUpdateListener(callback);
eventHandler.removeBulkUpdateListener(callback);
break;
case "RTDataEvent.BULK_DELETED":
if (whereClause != null)
Backendless.Data.of(tableName).rt().removeBulkDeleteListener(whereClause, callback);
eventHandler.removeBulkDeleteListener(whereClause, callback);
else
Backendless.Data.of(tableName).rt().removeBulkDeleteListener(callback);
eventHandler.removeBulkDeleteListener(callback);
break;
case "RTDataEvent.RELATIONS_SET":
Backendless.Data.of(tableName).rt().removeSetRelationListeners();
eventHandler.removeSetRelationListeners();
break;
case "RTDataEvent.RELATIONS_ADDED":
Backendless.Data.of(tableName).rt().removeAddRelationListeners();
eventHandler.removeAddRelationListeners();
break;
case "RTDataEvent.RELATIONS_REMOVED":
Backendless.Data.of(tableName).rt().removeDeleteRelationListeners();
eventHandler.removeDeleteRelationListeners();
break;
default:
result.notImplemented();
Expand Down
1 change: 1 addition & 0 deletions example/android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ android {
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}

buildTypes {
Expand Down
4 changes: 2 additions & 2 deletions example/ios/Runner.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objectVersion = 50;
objects = {

/* Begin PBXBuildFile section */
Expand Down Expand Up @@ -164,7 +164,7 @@
97C146E61CF9000F007C117D /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0910;
LastUpgradeCheck = 1300;
ORGANIZATIONNAME = "The Chromium Authors";
TargetAttributes = {
97C146ED1CF9000F007C117D = {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0910"
LastUpgradeVersion = "1300"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
Expand Down
2 changes: 2 additions & 0 deletions example/ios/Runner/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -50,5 +50,7 @@
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
<key>CADisableMinimumFrameDurationOnPhone</key>
<true/>
</dict>
</plist>
7 changes: 7 additions & 0 deletions example/test_driver/backendless_driver.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import 'package:flutter_driver/flutter_driver.dart';

void main() async {
final FlutterDriver driver = await FlutterDriver.connect();
await driver.requestData(null, timeout: const Duration(minutes: 10));
driver.close();
}
2 changes: 1 addition & 1 deletion pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: backendless_sdk
description: Flutter plugin for Backendless SDK. It provides access to the Backendless services that enable the server-side functionality for developing and running mobile and desktop apps.
version: 7.2.3
version: 7.2.4
homepage: https://backendless.com

environment:
Expand Down