Skip to content

Commit 91302dc

Browse files
authored
chore(jca): update JNI toolchain to jni 1.0.0 (#305)
* chore(jca): update JNI binding toolchain * refactor(impl_jni): adapt digest to jni 1.0
1 parent 36fe873 commit 91302dc

4 files changed

Lines changed: 880 additions & 1337 deletions

File tree

example/pubspec.lock

Lines changed: 42 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
# Generated by pub
22
# See https://dart.dev/tools/pub/glossary#lockfile
33
packages:
4+
args:
5+
dependency: transitive
6+
description:
7+
name: args
8+
sha256: d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04
9+
url: "https://pub.dev"
10+
source: hosted
11+
version: "2.7.0"
412
async:
513
dependency: transitive
614
description:
@@ -154,6 +162,14 @@ packages:
154162
description: flutter
155163
source: sdk
156164
version: "0.0.0"
165+
jni:
166+
dependency: transitive
167+
description:
168+
name: jni
169+
sha256: c2230682d5bc2362c1c9e8d3c7f406d9cbba23ab3f2e203a025dd47e0fb2e68f
170+
url: "https://pub.dev"
171+
source: hosted
172+
version: "1.0.0"
157173
leak_tracker:
158174
dependency: transitive
159175
description:
@@ -198,10 +214,10 @@ packages:
198214
dependency: transitive
199215
description:
200216
name: matcher
201-
sha256: "31bd099b47c10cd1aeb55146a2d46ce0277630ecef3f7dae54ad7873f36696cd"
217+
sha256: dc0b7dc7651697ea4ff3e69ef44b0407ea32c487a39fff6a4004fa585e901861
202218
url: "https://pub.dev"
203219
source: hosted
204-
version: "0.12.20"
220+
version: "0.12.19"
205221
material_color_utilities:
206222
dependency: transitive
207223
description:
@@ -214,10 +230,10 @@ packages:
214230
dependency: transitive
215231
description:
216232
name: meta
217-
sha256: df0c643f44ad098eb37988027a8e2b2b5a031fd3977f06bbfd3a76637e8df739
233+
sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394"
218234
url: "https://pub.dev"
219235
source: hosted
220-
version: "1.18.2"
236+
version: "1.17.0"
221237
native_toolchain_cmake:
222238
dependency: transitive
223239
description:
@@ -226,6 +242,14 @@ packages:
226242
url: "https://pub.dev"
227243
source: hosted
228244
version: "0.2.5"
245+
package_config:
246+
dependency: transitive
247+
description:
248+
name: package_config
249+
sha256: f096c55ebb7deb7e384101542bfba8c52696c1b56fca2eb62827989ef2353bbc
250+
url: "https://pub.dev"
251+
source: hosted
252+
version: "2.2.0"
229253
path:
230254
dependency: transitive
231255
description:
@@ -242,6 +266,14 @@ packages:
242266
url: "https://pub.dev"
243267
source: hosted
244268
version: "3.1.6"
269+
plugin_platform_interface:
270+
dependency: transitive
271+
description:
272+
name: plugin_platform_interface
273+
sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02"
274+
url: "https://pub.dev"
275+
source: hosted
276+
version: "2.1.8"
245277
process:
246278
dependency: transitive
247279
description:
@@ -323,10 +355,10 @@ packages:
323355
dependency: transitive
324356
description:
325357
name: test_api
326-
sha256: "2a122cbe059f8b610d3a5415f42e255b6c17b1f21eee1d960f31080237fb4f11"
358+
sha256: "8161c84903fd860b26bfdefb7963b3f0b68fee7adea0f59ef805ecca346f0c7a"
327359
url: "https://pub.dev"
328360
source: hosted
329-
version: "0.7.12"
361+
version: "0.7.10"
330362
typed_data:
331363
dependency: transitive
332364
description:
@@ -339,10 +371,10 @@ packages:
339371
dependency: transitive
340372
description:
341373
name: vector_math
342-
sha256: "47a1b32ee755c3fcffa33db52a7258c137f97bdb2209a1075be847809fac4ccf"
374+
sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b
343375
url: "https://pub.dev"
344376
source: hosted
345-
version: "2.3.0"
377+
version: "2.2.0"
346378
vm_service:
347379
dependency: transitive
348380
description:
@@ -357,7 +389,7 @@ packages:
357389
path: ".."
358390
relative: true
359391
source: path
360-
version: "0.6.0"
392+
version: "0.6.1"
361393
webdriver:
362394
dependency: transitive
363395
description:
@@ -376,4 +408,4 @@ packages:
376408
version: "3.1.3"
377409
sdks:
378410
dart: ">=3.10.0 <4.0.0"
379-
flutter: ">=3.18.0-18.0.pre.54"
411+
flutter: ">=3.35.6"

lib/src/impl_jni/impl_jni.digest.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,14 @@ final class _HashImpl implements HashImpl {
2222
@override
2323
Future<Uint8List> digestBytes(List<int> data) async {
2424
return jni.using((arena) {
25-
final algorithm = jni.JString.fromString(_jcaName)..releasedBy(arena);
25+
final algorithm = _jcaName.toJString()..releasedBy(arena);
2626
final digest = MessageDigest.getInstance(algorithm);
2727
if (digest == null) {
2828
throw operationError('JCA MessageDigest($_jcaName) is unavailable');
2929
}
3030
digest.releasedBy(arena);
3131

32-
final input = jni.JByteArray.from(data)..releasedBy(arena);
32+
final input = jni.JByteArray.of(data)..releasedBy(arena);
3333
final result = digest.digest$2(input);
3434
if (result == null) {
3535
throw operationError('JCA MessageDigest($_jcaName) returned null');
@@ -43,7 +43,7 @@ final class _HashImpl implements HashImpl {
4343
@override
4444
Future<Uint8List> digestStream(Stream<List<int>> data) async {
4545
final digest = jni.using((arena) {
46-
final algorithm = jni.JString.fromString(_jcaName)..releasedBy(arena);
46+
final algorithm = _jcaName.toJString()..releasedBy(arena);
4747
final digest = MessageDigest.getInstance(algorithm);
4848
if (digest == null) {
4949
throw operationError('JCA MessageDigest($_jcaName) is unavailable');
@@ -54,7 +54,7 @@ final class _HashImpl implements HashImpl {
5454
try {
5555
await for (final chunk in data) {
5656
jni.using((arena) {
57-
final input = jni.JByteArray.from(chunk)..releasedBy(arena);
57+
final input = jni.JByteArray.of(chunk)..releasedBy(arena);
5858
digest.update$2(input);
5959
});
6060
}

0 commit comments

Comments
 (0)