diff --git a/Android-nRF-Mesh-Library-1 b/Android-nRF-Mesh-Library-1 index ff71e656f..ac869d6af 160000 --- a/Android-nRF-Mesh-Library-1 +++ b/Android-nRF-Mesh-Library-1 @@ -1 +1 @@ -Subproject commit ff71e656fbdc4fd2120c5f62c441c525e3bac104 +Subproject commit ac869d6af46427d9ae64ece45b6ce5da01b7701c diff --git a/CHANGELOG.md b/CHANGELOG.md index 64bcc95a4..f11ccf83f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,12 @@ +## 0.12.0 + +- Use of Nordic Semiconductor's Android SDK v3.1.9 +- Upgraded Gradle version and dependencies +- Upgraded Dart dependencies + ## 0.11.0 -- Use of Nordic Semiconductor's Android SDK v3.1.8** +- Use of Nordic Semiconductor's Android SDK v3.1.8 - Updated example app - Updated readme diff --git a/README.md b/README.md index 0c90f932d..a7c1dd788 100644 --- a/README.md +++ b/README.md @@ -39,13 +39,15 @@ Getting the network via the result of these two methods is the easy way. However ```dart class MyPluginWrapper{ late IMeshNetwork? _meshNetwork; + late final NordicNrfMesh _nordicNrfMesh; late final MeshManagerApi _meshManagerApi; late final StreamSubscription onNetworkUpdateSubscription; late final StreamSubscription onNetworkImportSubscription; late final StreamSubscription onNetworkLoadingSubscription; void init() { - _meshManagerApi = widget.nordicNrfMesh.meshManagerApi; + _nordicNrfMesh = NordicNrfMesh(); + _meshManagerApi = _nordicNrfMesh.meshManagerApi; _meshNetwork = _meshManagerApi.meshNetwork; onNetworkUpdateSubscription = _meshManagerApi.onNetworkUpdated.listen((event) { _meshNetwork = event; diff --git a/android/build.gradle b/android/build.gradle index 0c990bc14..154c391cd 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -2,14 +2,14 @@ group 'fr.dooz.nordic_nrf_mesh' version '1.0-SNAPSHOT' buildscript { - ext.kotlin_version = '1.6.0' + ext.kotlin_version = '1.6.20' repositories { google() mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:4.1.3' + classpath 'com.android.tools.build:gradle:7.1.3' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } @@ -25,24 +25,21 @@ apply plugin: 'com.android.library' apply plugin: 'kotlin-android' android { - compileSdkVersion 31 + compileSdkVersion 32 sourceSets { main.java.srcDirs += 'src/main/kotlin' } defaultConfig { minSdkVersion 23 - targetSdkVersion 31 - } - lintOptions { - disable 'InvalidPackage' + targetSdkVersion 32 } } dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" - implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.7" - implementation 'com.google.code.gson:gson:2.8.6' - implementation "com.polidea.rxandroidble2:rxandroidble:1.11.1" + implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.2" + implementation 'com.google.code.gson:gson:2.8.9' + implementation "com.polidea.rxandroidble2:rxandroidble:1.12.1" implementation project(':mesh') } diff --git a/android/gradle.properties b/android/gradle.properties index b83582f26..4d3226abc 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -1,6 +1,3 @@ org.gradle.jvmargs=-Xmx1536M -android.enableR8=true android.useAndroidX=true -android.enableJetifier=true - -VERSION_NAME=2.4.0 \ No newline at end of file +android.enableJetifier=true \ No newline at end of file diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index 84337ad35..5699c4255 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/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-6.1.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-all.zip diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle index f4047005e..9172c21cc 100644 --- a/example/android/app/build.gradle +++ b/example/android/app/build.gradle @@ -28,11 +28,6 @@ apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" android { compileSdkVersion flutter.compileSdkVersion - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 - } - kotlinOptions { jvmTarget = '1.8' } diff --git a/example/android/build.gradle b/example/android/build.gradle index 4256f9173..d25dad62d 100644 --- a/example/android/build.gradle +++ b/example/android/build.gradle @@ -6,7 +6,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:4.1.0' + classpath 'com.android.tools.build:gradle:7.0.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } diff --git a/example/android/gradle/wrapper/gradle-wrapper.properties b/example/android/gradle/wrapper/gradle-wrapper.properties index bc6a58afd..752ce5bc4 100644 --- a/example/android/gradle/wrapper/gradle-wrapper.properties +++ b/example/android/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-all.zip diff --git a/example/android/settings.gradle b/example/android/settings.gradle index 6afee8623..c83f91822 100644 --- a/example/android/settings.gradle +++ b/example/android/settings.gradle @@ -1,6 +1,4 @@ include ':app' -include ':mesh' -project(':mesh').projectDir = file('../../Android-nRF-Mesh-Library-1/mesh') def localPropertiesFile = new File(rootProject.projectDir, "local.properties") def properties = new Properties() @@ -11,3 +9,32 @@ localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } def flutterSdkPath = properties.getProperty("flutter.sdk") assert flutterSdkPath != null, "flutter.sdk not set in local.properties" apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" + +// reuse app_plugin_loader.gradle code to include nested Android-nRF-Mesh-Library without hard-coding the directory path + +import groovy.json.JsonSlurper + +def flutterProjectRoot = rootProject.projectDir.parentFile + +// Note: if this logic is changed, also change the logic in module_plugin_loader.gradle. +def pluginsFile = new File(flutterProjectRoot, '.flutter-plugins-dependencies') +if (!pluginsFile.exists()) { + return +} + +def object = new JsonSlurper().parseText(pluginsFile.text) +assert object instanceof Map +assert object.plugins instanceof Map +assert object.plugins.android instanceof List +// Includes the Flutter plugins that support the Android platform. +object.plugins.android.each { androidPlugin -> + assert androidPlugin.name instanceof String + assert androidPlugin.path instanceof String + if(androidPlugin.name == 'nordic_nrf_mesh'){ + println 'should include forked Nordic\'s ADK v3' + def meshLibPath = androidPlugin.path.replace('android', '') + 'Android-nRF-Mesh-Library-1\\mesh\\' + println 'meshLibPath = ' + meshLibPath + include ':mesh' + project(':mesh').projectDir = file(meshLibPath) + } +} \ No newline at end of file diff --git a/example/pubspec.lock b/example/pubspec.lock index d1ffddb15..7d2e129b7 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -181,7 +181,7 @@ packages: name: freezed_annotation url: "https://pub.dartlang.org" source: hosted - version: "0.14.2" + version: "1.1.0" frontend_server_client: dependency: transitive description: @@ -242,7 +242,7 @@ packages: name: json_annotation url: "https://pub.dartlang.org" source: hosted - version: "4.0.1" + version: "4.4.0" lints: dependency: transitive description: @@ -389,7 +389,7 @@ packages: name: rxdart url: "https://pub.dartlang.org" source: hosted - version: "0.27.1" + version: "0.27.3" shelf: dependency: transitive description: diff --git a/pubspec.lock b/pubspec.lock index 8dad34c67..bf225d71e 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -7,14 +7,14 @@ packages: name: _fe_analyzer_shared url: "https://pub.dartlang.org" source: hosted - version: "22.0.0" + version: "38.0.0" analyzer: dependency: transitive description: name: analyzer url: "https://pub.dartlang.org" source: hosted - version: "1.7.2" + version: "3.4.1" args: dependency: transitive description: @@ -42,7 +42,7 @@ packages: name: build url: "https://pub.dartlang.org" source: hosted - version: "2.1.0" + version: "2.2.1" build_config: dependency: transitive description: @@ -63,21 +63,21 @@ packages: name: build_resolvers url: "https://pub.dartlang.org" source: hosted - version: "2.0.4" + version: "2.0.6" build_runner: dependency: "direct dev" description: name: build_runner url: "https://pub.dartlang.org" source: hosted - version: "2.1.2" + version: "2.1.8" build_runner_core: dependency: transitive description: name: build_runner_core url: "https://pub.dartlang.org" source: hosted - version: "7.1.0" + version: "7.2.3" built_collection: dependency: transitive description: @@ -113,13 +113,6 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "2.0.1" - cli_util: - dependency: transitive - description: - name: cli_util - url: "https://pub.dartlang.org" - source: hosted - version: "0.3.3" clock: dependency: transitive description: @@ -161,7 +154,7 @@ packages: name: dart_style url: "https://pub.dartlang.org" source: hosted - version: "2.0.3" + version: "2.2.2" fake_async: dependency: transitive description: @@ -213,14 +206,14 @@ packages: name: freezed url: "https://pub.dartlang.org" source: hosted - version: "0.14.2" + version: "1.1.1" freezed_annotation: dependency: "direct main" description: name: freezed_annotation url: "https://pub.dartlang.org" source: hosted - version: "0.14.2" + version: "1.1.0" frontend_server_client: dependency: transitive description: @@ -283,14 +276,14 @@ packages: name: json_annotation url: "https://pub.dartlang.org" source: hosted - version: "4.0.1" + version: "4.4.0" json_serializable: dependency: "direct dev" description: name: json_serializable url: "https://pub.dartlang.org" source: hosted - version: "4.1.4" + version: "6.1.5" lints: dependency: transitive description: @@ -416,7 +409,7 @@ packages: name: rxdart url: "https://pub.dartlang.org" source: hosted - version: "0.27.2" + version: "0.27.3" shelf: dependency: transitive description: @@ -442,7 +435,14 @@ packages: name: source_gen url: "https://pub.dartlang.org" source: hosted - version: "1.0.3" + version: "1.2.1" + source_helper: + dependency: transitive + description: + name: source_helper + url: "https://pub.dartlang.org" + source: hosted + version: "1.3.1" source_span: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index d3dbd4943..0dd572766 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -14,11 +14,11 @@ dependencies: sdk: flutter # BLE handling flutter_reactive_ble: ^4.0.1 - rxdart: ^0.27.1 + rxdart: ^0.27.3 retry: ^3.1.0 # Models - json_annotation: ^4.0.0 - freezed_annotation: ^0.14.0 + json_annotation: ^4.4.0 + freezed_annotation: ^1.1.0 # static analysis flutter_lints: ^1.0.4 meta: ^1.7.0 @@ -26,9 +26,9 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter - build_runner: ^2.1.0 - json_serializable: ^4.1.0 - freezed: ^0.14.0 + build_runner: ^2.1.8 + json_serializable: ^6.1.5 + freezed: ^1.1.1 flutter: plugin: