From a256b124b34c341e30c5a38b7cd1db411d76f52a Mon Sep 17 00:00:00 2001 From: Hossein Yousefi Date: Fri, 29 Aug 2025 12:10:26 +0200 Subject: [PATCH 1/4] [jnigen] Regenerate in_app_java bindings with the latest Flutter --- .../in_app_java/android/settings.gradle | 2 +- .../in_app_java/lib/android_utils.dart | 1183 ++++++++++------- 2 files changed, 726 insertions(+), 459 deletions(-) diff --git a/pkgs/jnigen/example/in_app_java/android/settings.gradle b/pkgs/jnigen/example/in_app_java/android/settings.gradle index 27029b3eb8..4f520718dc 100644 --- a/pkgs/jnigen/example/in_app_java/android/settings.gradle +++ b/pkgs/jnigen/example/in_app_java/android/settings.gradle @@ -19,7 +19,7 @@ pluginManagement { plugins { id "dev.flutter.flutter-plugin-loader" version "1.0.0" id "com.android.application" version "8.6.0" apply false - id "org.jetbrains.kotlin.android" version "1.8.10" apply false + id "org.jetbrains.kotlin.android" version "2.1.0" apply false } include ":app" diff --git a/pkgs/jnigen/example/in_app_java/lib/android_utils.dart b/pkgs/jnigen/example/in_app_java/lib/android_utils.dart index 4532e56d0d..949ae5c357 100644 --- a/pkgs/jnigen/example/in_app_java/lib/android_utils.dart +++ b/pkgs/jnigen/example/in_app_java/lib/android_utils.dart @@ -4513,28 +4513,54 @@ class Build$Partition extends jni$_.JObject { static jni$_.JString? get PARTITION_NAME_SYSTEM => _id_PARTITION_NAME_SYSTEM .get(_class, const jni$_.$JString$NullableType$()); - static final _id_getName = _class.instanceMethodId( - r'getName', - r'()Ljava/lang/String;', + static final _id_equals = _class.instanceMethodId( + r'equals', + r'(Ljava/lang/Object;)Z', ); - static final _getName = jni$_.ProtectedJniExtensions.lookup< + static final _equals = jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs<(jni$_.Pointer,)>)>>( + 'globalEnv_CallBooleanMethod') + .asFunction< + jni$_.JniResult Function(jni$_.Pointer, + jni$_.JMethodIDPtr, jni$_.Pointer)>(); + + /// from: `public boolean equals(java.lang.Object object)` + bool equals( + jni$_.JObject? object, + ) { + final _$object = object?.reference ?? jni$_.jNullReference; + return _equals(reference.pointer, _id_equals as jni$_.JMethodIDPtr, + _$object.pointer) + .boolean; + } + + static final _id_getBuildTimeMillis = _class.instanceMethodId( + r'getBuildTimeMillis', + r'()J', + ); + + static final _getBuildTimeMillis = jni$_.ProtectedJniExtensions.lookup< jni$_.NativeFunction< jni$_.JniResult Function( jni$_.Pointer, jni$_.JMethodIDPtr, - )>>('globalEnv_CallObjectMethod') + )>>('globalEnv_CallLongMethod') .asFunction< jni$_.JniResult Function( jni$_.Pointer, jni$_.JMethodIDPtr, )>(); - /// from: `public java.lang.String getName()` - /// The returned object must be released after use, by calling the [release] method. - jni$_.JString? getName() { - return _getName(reference.pointer, _id_getName as jni$_.JMethodIDPtr) - .object(const jni$_.$JString$NullableType$()); + /// from: `public long getBuildTimeMillis()` + int getBuildTimeMillis() { + return _getBuildTimeMillis( + reference.pointer, _id_getBuildTimeMillis as jni$_.JMethodIDPtr) + .long; } static final _id_getFingerprint = _class.instanceMethodId( @@ -4562,54 +4588,28 @@ class Build$Partition extends jni$_.JObject { .object(const jni$_.$JString$NullableType$()); } - static final _id_getBuildTimeMillis = _class.instanceMethodId( - r'getBuildTimeMillis', - r'()J', + static final _id_getName = _class.instanceMethodId( + r'getName', + r'()Ljava/lang/String;', ); - static final _getBuildTimeMillis = jni$_.ProtectedJniExtensions.lookup< + static final _getName = jni$_.ProtectedJniExtensions.lookup< jni$_.NativeFunction< jni$_.JniResult Function( jni$_.Pointer, jni$_.JMethodIDPtr, - )>>('globalEnv_CallLongMethod') + )>>('globalEnv_CallObjectMethod') .asFunction< jni$_.JniResult Function( jni$_.Pointer, jni$_.JMethodIDPtr, )>(); - /// from: `public long getBuildTimeMillis()` - int getBuildTimeMillis() { - return _getBuildTimeMillis( - reference.pointer, _id_getBuildTimeMillis as jni$_.JMethodIDPtr) - .long; - } - - static final _id_equals = _class.instanceMethodId( - r'equals', - r'(Ljava/lang/Object;)Z', - ); - - static final _equals = jni$_.ProtectedJniExtensions.lookup< - jni$_.NativeFunction< - jni$_.JniResult Function( - jni$_.Pointer, - jni$_.JMethodIDPtr, - jni$_.VarArgs<(jni$_.Pointer,)>)>>( - 'globalEnv_CallBooleanMethod') - .asFunction< - jni$_.JniResult Function(jni$_.Pointer, - jni$_.JMethodIDPtr, jni$_.Pointer)>(); - - /// from: `public boolean equals(java.lang.Object object)` - bool equals( - jni$_.JObject? object, - ) { - final _$object = object?.reference ?? jni$_.jNullReference; - return _equals(reference.pointer, _id_equals as jni$_.JMethodIDPtr, - _$object.pointer) - .boolean; + /// from: `public java.lang.String getName()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JString? getName() { + return _getName(reference.pointer, _id_getName as jni$_.JMethodIDPtr) + .object(const jni$_.$JString$NullableType$()); } static final _id_hashCode$1 = _class.instanceMethodId( @@ -4828,6 +4828,15 @@ class Build$VERSION extends jni$_.JObject { /// from: `static public final int SDK_INT` static int get SDK_INT => _id_SDK_INT.get(_class, const jni$_.jintType()); + static final _id_SDK_INT_FULL = _class.staticFieldId( + r'SDK_INT_FULL', + r'I', + ); + + /// from: `static public final int SDK_INT_FULL` + static int get SDK_INT_FULL => + _id_SDK_INT_FULL.get(_class, const jni$_.jintType()); + static final _id_SECURITY_PATCH = _class.staticFieldId( r'SECURITY_PATCH', r'Ljava/lang/String;', @@ -4959,6 +4968,9 @@ class Build$VERSION_CODES extends jni$_.JObject { static const jni$_.JType type = $Build$VERSION_CODES$Type$(); + /// from: `static public final int BAKLAVA` + static const BAKLAVA = 36; + /// from: `static public final int BASE` static const BASE = 1; @@ -5168,6 +5180,215 @@ final class $Build$VERSION_CODES$Type$ } } +/// from: `android.os.Build$VERSION_CODES_FULL` +class Build$VERSION_CODES_FULL extends jni$_.JObject { + @jni$_.internal + @core$_.override + final jni$_.JType $type; + + @jni$_.internal + Build$VERSION_CODES_FULL.fromReference( + jni$_.JReference reference, + ) : $type = type, + super.fromReference(reference); + + static final _class = + jni$_.JClass.forName(r'android/os/Build$VERSION_CODES_FULL'); + + /// The type which includes information such as the signature of this class. + static const jni$_.JType nullableType = + $Build$VERSION_CODES_FULL$NullableType$(); + + /// The type which includes information such as the signature of this class. + static const jni$_.JType type = + $Build$VERSION_CODES_FULL$Type$(); + + /// from: `static public final int BAKLAVA` + static const BAKLAVA = 3600000; + + /// from: `static public final int BASE` + static const BASE = 100000; + + /// from: `static public final int BASE_1_1` + static const BASE_1_1 = 200000; + + /// from: `static public final int CUPCAKE` + static const CUPCAKE = 300000; + + /// from: `static public final int DONUT` + static const DONUT = 400000; + + /// from: `static public final int ECLAIR` + static const ECLAIR = 500000; + + /// from: `static public final int ECLAIR_0_1` + static const ECLAIR_0_1 = 600000; + + /// from: `static public final int ECLAIR_MR1` + static const ECLAIR_MR1 = 700000; + + /// from: `static public final int FROYO` + static const FROYO = 800000; + + /// from: `static public final int GINGERBREAD` + static const GINGERBREAD = 900000; + + /// from: `static public final int GINGERBREAD_MR1` + static const GINGERBREAD_MR1 = 1000000; + + /// from: `static public final int HONEYCOMB` + static const HONEYCOMB = 1100000; + + /// from: `static public final int HONEYCOMB_MR1` + static const HONEYCOMB_MR1 = 1200000; + + /// from: `static public final int HONEYCOMB_MR2` + static const HONEYCOMB_MR2 = 1300000; + + /// from: `static public final int ICE_CREAM_SANDWICH` + static const ICE_CREAM_SANDWICH = 1400000; + + /// from: `static public final int ICE_CREAM_SANDWICH_MR1` + static const ICE_CREAM_SANDWICH_MR1 = 1500000; + + /// from: `static public final int JELLY_BEAN` + static const JELLY_BEAN = 1600000; + + /// from: `static public final int JELLY_BEAN_MR1` + static const JELLY_BEAN_MR1 = 1700000; + + /// from: `static public final int JELLY_BEAN_MR2` + static const JELLY_BEAN_MR2 = 1800000; + + /// from: `static public final int KITKAT` + static const KITKAT = 1900000; + + /// from: `static public final int KITKAT_WATCH` + static const KITKAT_WATCH = 2000000; + + /// from: `static public final int LOLLIPOP` + static const LOLLIPOP = 2100000; + + /// from: `static public final int LOLLIPOP_MR1` + static const LOLLIPOP_MR1 = 2200000; + + /// from: `static public final int M` + static const M = 2300000; + + /// from: `static public final int N` + static const N = 2400000; + + /// from: `static public final int N_MR1` + static const N_MR1 = 2500000; + + /// from: `static public final int O` + static const O = 2600000; + + /// from: `static public final int O_MR1` + static const O_MR1 = 2700000; + + /// from: `static public final int P` + static const P = 2800000; + + /// from: `static public final int Q` + static const Q = 2900000; + + /// from: `static public final int R` + static const R = 3000000; + + /// from: `static public final int S` + static const S = 3100000; + + /// from: `static public final int S_V2` + static const S_V2 = 3200000; + + /// from: `static public final int TIRAMISU` + static const TIRAMISU = 3300000; + + /// from: `static public final int UPSIDE_DOWN_CAKE` + static const UPSIDE_DOWN_CAKE = 3400000; + + /// from: `static public final int VANILLA_ICE_CREAM` + static const VANILLA_ICE_CREAM = 3500000; +} + +final class $Build$VERSION_CODES_FULL$NullableType$ + extends jni$_.JType { + @jni$_.internal + const $Build$VERSION_CODES_FULL$NullableType$(); + + @jni$_.internal + @core$_.override + String get signature => r'Landroid/os/Build$VERSION_CODES_FULL;'; + + @jni$_.internal + @core$_.override + Build$VERSION_CODES_FULL? fromReference(jni$_.JReference reference) => + reference.isNull + ? null + : Build$VERSION_CODES_FULL.fromReference( + reference, + ); + @jni$_.internal + @core$_.override + jni$_.JType get superType => const jni$_.$JObject$NullableType$(); + + @jni$_.internal + @core$_.override + jni$_.JType get nullableType => this; + + @jni$_.internal + @core$_.override + final superCount = 1; + + @core$_.override + int get hashCode => ($Build$VERSION_CODES_FULL$NullableType$).hashCode; + + @core$_.override + bool operator ==(Object other) { + return other.runtimeType == ($Build$VERSION_CODES_FULL$NullableType$) && + other is $Build$VERSION_CODES_FULL$NullableType$; + } +} + +final class $Build$VERSION_CODES_FULL$Type$ + extends jni$_.JType { + @jni$_.internal + const $Build$VERSION_CODES_FULL$Type$(); + + @jni$_.internal + @core$_.override + String get signature => r'Landroid/os/Build$VERSION_CODES_FULL;'; + + @jni$_.internal + @core$_.override + Build$VERSION_CODES_FULL fromReference(jni$_.JReference reference) => + Build$VERSION_CODES_FULL.fromReference( + reference, + ); + @jni$_.internal + @core$_.override + jni$_.JType get superType => const jni$_.$JObject$NullableType$(); + + @jni$_.internal + @core$_.override + jni$_.JType get nullableType => + const $Build$VERSION_CODES_FULL$NullableType$(); + + @jni$_.internal + @core$_.override + final superCount = 1; + + @core$_.override + int get hashCode => ($Build$VERSION_CODES_FULL$Type$).hashCode; + + @core$_.override + bool operator ==(Object other) { + return other.runtimeType == ($Build$VERSION_CODES_FULL$Type$) && + other is $Build$VERSION_CODES_FULL$Type$; + } +} + /// from: `android.os.Build` class Build extends jni$_.JObject { @jni$_.internal @@ -5498,44 +5719,19 @@ class Build extends jni$_.JObject { .reference); } - static final _id_getSerial = _class.staticMethodId( - r'getSerial', - r'()Ljava/lang/String;', + static final _id_getFingerprintedPartitions = _class.staticMethodId( + r'getFingerprintedPartitions', + r'()Ljava/util/List;', ); - static final _getSerial = jni$_.ProtectedJniExtensions.lookup< - jni$_.NativeFunction< - jni$_.JniResult Function( - jni$_.Pointer, - jni$_.JMethodIDPtr, - )>>('globalEnv_CallStaticObjectMethod') - .asFunction< - jni$_.JniResult Function( - jni$_.Pointer, - jni$_.JMethodIDPtr, - )>(); - - /// from: `static public java.lang.String getSerial()` - /// The returned object must be released after use, by calling the [release] method. - static jni$_.JString? getSerial() { - return _getSerial( - _class.reference.pointer, _id_getSerial as jni$_.JMethodIDPtr) - .object(const jni$_.$JString$NullableType$()); - } - - static final _id_getFingerprintedPartitions = _class.staticMethodId( - r'getFingerprintedPartitions', - r'()Ljava/util/List;', - ); - - static final _getFingerprintedPartitions = - jni$_.ProtectedJniExtensions.lookup< - jni$_.NativeFunction< - jni$_.JniResult Function( - jni$_.Pointer, - jni$_.JMethodIDPtr, - )>>('globalEnv_CallStaticObjectMethod') - .asFunction< + static final _getFingerprintedPartitions = + jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + )>>('globalEnv_CallStaticObjectMethod') + .asFunction< jni$_.JniResult Function( jni$_.Pointer, jni$_.JMethodIDPtr, @@ -5551,6 +5747,52 @@ class Build extends jni$_.JObject { $Build$Partition$NullableType$())); } + static final _id_getMajorSdkVersion = _class.staticMethodId( + r'getMajorSdkVersion', + r'(I)I', + ); + + static final _getMajorSdkVersion = jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function(jni$_.Pointer, + jni$_.JMethodIDPtr, jni$_.VarArgs<(jni$_.Int32,)>)>>( + 'globalEnv_CallStaticIntMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, jni$_.JMethodIDPtr, int)>(); + + /// from: `static public int getMajorSdkVersion(int i)` + static int getMajorSdkVersion( + int i, + ) { + return _getMajorSdkVersion(_class.reference.pointer, + _id_getMajorSdkVersion as jni$_.JMethodIDPtr, i) + .integer; + } + + static final _id_getMinorSdkVersion = _class.staticMethodId( + r'getMinorSdkVersion', + r'(I)I', + ); + + static final _getMinorSdkVersion = jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function(jni$_.Pointer, + jni$_.JMethodIDPtr, jni$_.VarArgs<(jni$_.Int32,)>)>>( + 'globalEnv_CallStaticIntMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, jni$_.JMethodIDPtr, int)>(); + + /// from: `static public int getMinorSdkVersion(int i)` + static int getMinorSdkVersion( + int i, + ) { + return _getMinorSdkVersion(_class.reference.pointer, + _id_getMinorSdkVersion as jni$_.JMethodIDPtr, i) + .integer; + } + static final _id_getRadioVersion = _class.staticMethodId( r'getRadioVersion', r'()Ljava/lang/String;', @@ -5575,6 +5817,31 @@ class Build extends jni$_.JObject { _class.reference.pointer, _id_getRadioVersion as jni$_.JMethodIDPtr) .object(const jni$_.$JString$NullableType$()); } + + static final _id_getSerial = _class.staticMethodId( + r'getSerial', + r'()Ljava/lang/String;', + ); + + static final _getSerial = jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + )>>('globalEnv_CallStaticObjectMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + )>(); + + /// from: `static public java.lang.String getSerial()` + /// The returned object must be released after use, by calling the [release] method. + static jni$_.JString? getSerial() { + return _getSerial( + _class.reference.pointer, _id_getSerial as jni$_.JMethodIDPtr) + .object(const jni$_.$JString$NullableType$()); + } } final class $Build$NullableType$ extends jni$_.JType { @@ -5696,32 +5963,31 @@ class HashMap<$K extends jni$_.JObject?, $V extends jni$_.JObject?> } static final _id_new$ = _class.constructorId( - r'(IF)V', + r'()V', ); static final _new$ = jni$_.ProtectedJniExtensions.lookup< - jni$_.NativeFunction< - jni$_.JniResult Function( - jni$_.Pointer, - jni$_.JMethodIDPtr, - jni$_.VarArgs<(jni$_.Int32, jni$_.Double)>)>>( - 'globalEnv_NewObject') + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + )>>('globalEnv_NewObject') .asFunction< jni$_.JniResult Function( - jni$_.Pointer, jni$_.JMethodIDPtr, int, double)>(); + jni$_.Pointer, + jni$_.JMethodIDPtr, + )>(); - /// from: `public void (int i, float f)` + /// from: `public void ()` /// The returned object must be released after use, by calling the [release] method. - factory HashMap( - int i, - double f, { + factory HashMap({ required jni$_.JType<$K> K, required jni$_.JType<$V> V, }) { return HashMap<$K, $V>.fromReference( K, V, - _new$(_class.reference.pointer, _id_new$ as jni$_.JMethodIDPtr, i, f) + _new$(_class.reference.pointer, _id_new$ as jni$_.JMethodIDPtr) .reference); } @@ -5754,31 +6020,32 @@ class HashMap<$K extends jni$_.JObject?, $V extends jni$_.JObject?> } static final _id_new$2 = _class.constructorId( - r'()V', + r'(IF)V', ); static final _new$2 = jni$_.ProtectedJniExtensions.lookup< - jni$_.NativeFunction< - jni$_.JniResult Function( - jni$_.Pointer, - jni$_.JMethodIDPtr, - )>>('globalEnv_NewObject') + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs<(jni$_.Int32, jni$_.Double)>)>>( + 'globalEnv_NewObject') .asFunction< jni$_.JniResult Function( - jni$_.Pointer, - jni$_.JMethodIDPtr, - )>(); + jni$_.Pointer, jni$_.JMethodIDPtr, int, double)>(); - /// from: `public void ()` + /// from: `public void (int i, float f)` /// The returned object must be released after use, by calling the [release] method. - factory HashMap.new$2({ + factory HashMap.new$2( + int i, + double f, { required jni$_.JType<$K> K, required jni$_.JType<$V> V, }) { return HashMap<$K, $V>.fromReference( K, V, - _new$2(_class.reference.pointer, _id_new$2 as jni$_.JMethodIDPtr) + _new$2(_class.reference.pointer, _id_new$2 as jni$_.JMethodIDPtr, i, f) .reference); } @@ -5813,110 +6080,93 @@ class HashMap<$K extends jni$_.JObject?, $V extends jni$_.JObject?> .reference); } - static final _id_size = _class.instanceMethodId( - r'size', - r'()I', + static final _id_clear = _class.instanceMethodId( + r'clear', + r'()V', ); - static final _size = jni$_.ProtectedJniExtensions.lookup< + static final _clear = jni$_.ProtectedJniExtensions.lookup< jni$_.NativeFunction< - jni$_.JniResult Function( + jni$_.JThrowablePtr Function( jni$_.Pointer, jni$_.JMethodIDPtr, - )>>('globalEnv_CallIntMethod') + )>>('globalEnv_CallVoidMethod') .asFunction< - jni$_.JniResult Function( + jni$_.JThrowablePtr Function( jni$_.Pointer, jni$_.JMethodIDPtr, )>(); - /// from: `public int size()` - int size() { - return _size(reference.pointer, _id_size as jni$_.JMethodIDPtr).integer; + /// from: `public void clear()` + void clear() { + _clear(reference.pointer, _id_clear as jni$_.JMethodIDPtr).check(); } - static final _id_isEmpty = _class.instanceMethodId( - r'isEmpty', - r'()Z', + static final _id_clone = _class.instanceMethodId( + r'clone', + r'()Ljava/lang/Object;', ); - static final _isEmpty = jni$_.ProtectedJniExtensions.lookup< + static final _clone = jni$_.ProtectedJniExtensions.lookup< jni$_.NativeFunction< jni$_.JniResult Function( jni$_.Pointer, jni$_.JMethodIDPtr, - )>>('globalEnv_CallBooleanMethod') + )>>('globalEnv_CallObjectMethod') .asFunction< jni$_.JniResult Function( jni$_.Pointer, jni$_.JMethodIDPtr, )>(); - /// from: `public boolean isEmpty()` - bool isEmpty() { - return _isEmpty(reference.pointer, _id_isEmpty as jni$_.JMethodIDPtr) - .boolean; + /// from: `public java.lang.Object clone()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JObject? clone() { + return _clone(reference.pointer, _id_clone as jni$_.JMethodIDPtr) + .object(const jni$_.$JObject$NullableType$()); } - static final _id_get = _class.instanceMethodId( - r'get', - r'(Ljava/lang/Object;)Ljava/lang/Object;', + static final _id_compute = _class.instanceMethodId( + r'compute', + r'(Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;', ); - static final _get = jni$_.ProtectedJniExtensions.lookup< - jni$_.NativeFunction< - jni$_.JniResult Function( - jni$_.Pointer, - jni$_.JMethodIDPtr, - jni$_.VarArgs<(jni$_.Pointer,)>)>>( - 'globalEnv_CallObjectMethod') + static final _compute = jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs< + ( + jni$_.Pointer, + jni$_.Pointer + )>)>>('globalEnv_CallObjectMethod') .asFunction< - jni$_.JniResult Function(jni$_.Pointer, - jni$_.JMethodIDPtr, jni$_.Pointer)>(); + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.Pointer, + jni$_.Pointer)>(); - /// from: `public V get(java.lang.Object object)` + /// from: `public V compute(K object, java.util.function.BiFunction biFunction)` /// The returned object must be released after use, by calling the [release] method. - $V? get( - jni$_.JObject? object, + $V? compute( + $K? object, + jni$_.JObject? biFunction, ) { final _$object = object?.reference ?? jni$_.jNullReference; - return _get( - reference.pointer, _id_get as jni$_.JMethodIDPtr, _$object.pointer) + final _$biFunction = biFunction?.reference ?? jni$_.jNullReference; + return _compute(reference.pointer, _id_compute as jni$_.JMethodIDPtr, + _$object.pointer, _$biFunction.pointer) .object<$V?>(V.nullableType); } - static final _id_containsKey = _class.instanceMethodId( - r'containsKey', - r'(Ljava/lang/Object;)Z', - ); - - static final _containsKey = jni$_.ProtectedJniExtensions.lookup< - jni$_.NativeFunction< - jni$_.JniResult Function( - jni$_.Pointer, - jni$_.JMethodIDPtr, - jni$_.VarArgs<(jni$_.Pointer,)>)>>( - 'globalEnv_CallBooleanMethod') - .asFunction< - jni$_.JniResult Function(jni$_.Pointer, - jni$_.JMethodIDPtr, jni$_.Pointer)>(); - - /// from: `public boolean containsKey(java.lang.Object object)` - bool containsKey( - jni$_.JObject? object, - ) { - final _$object = object?.reference ?? jni$_.jNullReference; - return _containsKey(reference.pointer, - _id_containsKey as jni$_.JMethodIDPtr, _$object.pointer) - .boolean; - } - - static final _id_put = _class.instanceMethodId( - r'put', - r'(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;', + static final _id_computeIfAbsent = _class.instanceMethodId( + r'computeIfAbsent', + r'(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;', ); - static final _put = jni$_.ProtectedJniExtensions.lookup< + static final _computeIfAbsent = jni$_.ProtectedJniExtensions.lookup< jni$_.NativeFunction< jni$_.JniResult Function( jni$_.Pointer, @@ -5933,91 +6183,84 @@ class HashMap<$K extends jni$_.JObject?, $V extends jni$_.JObject?> jni$_.Pointer, jni$_.Pointer)>(); - /// from: `public V put(K object, V object1)` + /// from: `public V computeIfAbsent(K object, java.util.function.Function function)` /// The returned object must be released after use, by calling the [release] method. - $V? put( + $V? computeIfAbsent( $K? object, - $V? object1, + jni$_.JObject? function, ) { final _$object = object?.reference ?? jni$_.jNullReference; - final _$object1 = object1?.reference ?? jni$_.jNullReference; - return _put(reference.pointer, _id_put as jni$_.JMethodIDPtr, - _$object.pointer, _$object1.pointer) + final _$function = function?.reference ?? jni$_.jNullReference; + return _computeIfAbsent( + reference.pointer, + _id_computeIfAbsent as jni$_.JMethodIDPtr, + _$object.pointer, + _$function.pointer) .object<$V?>(V.nullableType); } - static final _id_putAll = _class.instanceMethodId( - r'putAll', - r'(Ljava/util/Map;)V', + static final _id_computeIfPresent = _class.instanceMethodId( + r'computeIfPresent', + r'(Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;', ); - static final _putAll = jni$_.ProtectedJniExtensions.lookup< - jni$_.NativeFunction< - jni$_.JThrowablePtr Function( - jni$_.Pointer, - jni$_.JMethodIDPtr, - jni$_.VarArgs<(jni$_.Pointer,)>)>>( - 'globalEnv_CallVoidMethod') + static final _computeIfPresent = jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs< + ( + jni$_.Pointer, + jni$_.Pointer + )>)>>('globalEnv_CallObjectMethod') .asFunction< - jni$_.JThrowablePtr Function(jni$_.Pointer, - jni$_.JMethodIDPtr, jni$_.Pointer)>(); + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.Pointer, + jni$_.Pointer)>(); - /// from: `public void putAll(java.util.Map map)` - void putAll( - jni$_.JMap<$K?, $V?>? map, + /// from: `public V computeIfPresent(K object, java.util.function.BiFunction biFunction)` + /// The returned object must be released after use, by calling the [release] method. + $V? computeIfPresent( + $K? object, + jni$_.JObject? biFunction, ) { - final _$map = map?.reference ?? jni$_.jNullReference; - _putAll(reference.pointer, _id_putAll as jni$_.JMethodIDPtr, _$map.pointer) - .check(); + final _$object = object?.reference ?? jni$_.jNullReference; + final _$biFunction = biFunction?.reference ?? jni$_.jNullReference; + return _computeIfPresent( + reference.pointer, + _id_computeIfPresent as jni$_.JMethodIDPtr, + _$object.pointer, + _$biFunction.pointer) + .object<$V?>(V.nullableType); } - static final _id_remove = _class.instanceMethodId( - r'remove', - r'(Ljava/lang/Object;)Ljava/lang/Object;', + static final _id_containsKey = _class.instanceMethodId( + r'containsKey', + r'(Ljava/lang/Object;)Z', ); - static final _remove = jni$_.ProtectedJniExtensions.lookup< + static final _containsKey = jni$_.ProtectedJniExtensions.lookup< jni$_.NativeFunction< jni$_.JniResult Function( jni$_.Pointer, jni$_.JMethodIDPtr, jni$_.VarArgs<(jni$_.Pointer,)>)>>( - 'globalEnv_CallObjectMethod') + 'globalEnv_CallBooleanMethod') .asFunction< jni$_.JniResult Function(jni$_.Pointer, jni$_.JMethodIDPtr, jni$_.Pointer)>(); - /// from: `public V remove(java.lang.Object object)` - /// The returned object must be released after use, by calling the [release] method. - $V? remove( + /// from: `public boolean containsKey(java.lang.Object object)` + bool containsKey( jni$_.JObject? object, ) { final _$object = object?.reference ?? jni$_.jNullReference; - return _remove(reference.pointer, _id_remove as jni$_.JMethodIDPtr, - _$object.pointer) - .object<$V?>(V.nullableType); - } - - static final _id_clear = _class.instanceMethodId( - r'clear', - r'()V', - ); - - static final _clear = jni$_.ProtectedJniExtensions.lookup< - jni$_.NativeFunction< - jni$_.JThrowablePtr Function( - jni$_.Pointer, - jni$_.JMethodIDPtr, - )>>('globalEnv_CallVoidMethod') - .asFunction< - jni$_.JThrowablePtr Function( - jni$_.Pointer, - jni$_.JMethodIDPtr, - )>(); - - /// from: `public void clear()` - void clear() { - _clear(reference.pointer, _id_clear as jni$_.JMethodIDPtr).check(); + return _containsKey(reference.pointer, + _id_containsKey as jni$_.JMethodIDPtr, _$object.pointer) + .boolean; } static final _id_containsValue = _class.instanceMethodId( @@ -6046,12 +6289,12 @@ class HashMap<$K extends jni$_.JObject?, $V extends jni$_.JObject?> .boolean; } - static final _id_keySet = _class.instanceMethodId( - r'keySet', + static final _id_entrySet = _class.instanceMethodId( + r'entrySet', r'()Ljava/util/Set;', ); - static final _keySet = jni$_.ProtectedJniExtensions.lookup< + static final _entrySet = jni$_.ProtectedJniExtensions.lookup< jni$_.NativeFunction< jni$_.JniResult Function( jni$_.Pointer, @@ -6063,62 +6306,66 @@ class HashMap<$K extends jni$_.JObject?, $V extends jni$_.JObject?> jni$_.JMethodIDPtr, )>(); - /// from: `public java.util.Set keySet()` + /// from: `public java.util.Set> entrySet()` /// The returned object must be released after use, by calling the [release] method. - jni$_.JSet<$K?>? keySet() { - return _keySet(reference.pointer, _id_keySet as jni$_.JMethodIDPtr) - .object?>( - jni$_.$JSet$NullableType$<$K?>(K.nullableType)); + jni$_.JSet? entrySet() { + return _entrySet(reference.pointer, _id_entrySet as jni$_.JMethodIDPtr) + .object?>( + const jni$_.$JSet$NullableType$( + jni$_.$JObject$NullableType$())); } - static final _id_values = _class.instanceMethodId( - r'values', - r'()Ljava/util/Collection;', + static final _id_forEach = _class.instanceMethodId( + r'forEach', + r'(Ljava/util/function/BiConsumer;)V', ); - static final _values = jni$_.ProtectedJniExtensions.lookup< - jni$_.NativeFunction< - jni$_.JniResult Function( - jni$_.Pointer, - jni$_.JMethodIDPtr, - )>>('globalEnv_CallObjectMethod') + static final _forEach = jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs<(jni$_.Pointer,)>)>>( + 'globalEnv_CallVoidMethod') .asFunction< - jni$_.JniResult Function( - jni$_.Pointer, - jni$_.JMethodIDPtr, - )>(); + jni$_.JThrowablePtr Function(jni$_.Pointer, + jni$_.JMethodIDPtr, jni$_.Pointer)>(); - /// from: `public java.util.Collection values()` - /// The returned object must be released after use, by calling the [release] method. - jni$_.JObject? values() { - return _values(reference.pointer, _id_values as jni$_.JMethodIDPtr) - .object(const jni$_.$JObject$NullableType$()); + /// from: `public void forEach(java.util.function.BiConsumer biConsumer)` + void forEach( + jni$_.JObject? biConsumer, + ) { + final _$biConsumer = biConsumer?.reference ?? jni$_.jNullReference; + _forEach(reference.pointer, _id_forEach as jni$_.JMethodIDPtr, + _$biConsumer.pointer) + .check(); } - static final _id_entrySet = _class.instanceMethodId( - r'entrySet', - r'()Ljava/util/Set;', + static final _id_get = _class.instanceMethodId( + r'get', + r'(Ljava/lang/Object;)Ljava/lang/Object;', ); - static final _entrySet = jni$_.ProtectedJniExtensions.lookup< - jni$_.NativeFunction< - jni$_.JniResult Function( - jni$_.Pointer, - jni$_.JMethodIDPtr, - )>>('globalEnv_CallObjectMethod') + static final _get = jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs<(jni$_.Pointer,)>)>>( + 'globalEnv_CallObjectMethod') .asFunction< - jni$_.JniResult Function( - jni$_.Pointer, - jni$_.JMethodIDPtr, - )>(); + jni$_.JniResult Function(jni$_.Pointer, + jni$_.JMethodIDPtr, jni$_.Pointer)>(); - /// from: `public java.util.Set> entrySet()` + /// from: `public V get(java.lang.Object object)` /// The returned object must be released after use, by calling the [release] method. - jni$_.JSet? entrySet() { - return _entrySet(reference.pointer, _id_entrySet as jni$_.JMethodIDPtr) - .object?>( - const jni$_.$JSet$NullableType$( - jni$_.$JObject$NullableType$())); + $V? get( + jni$_.JObject? object, + ) { + final _$object = object?.reference ?? jni$_.jNullReference; + return _get( + reference.pointer, _id_get as jni$_.JMethodIDPtr, _$object.pointer) + .object<$V?>(V.nullableType); } static final _id_getOrDefault = _class.instanceMethodId( @@ -6159,18 +6406,67 @@ class HashMap<$K extends jni$_.JObject?, $V extends jni$_.JObject?> .object<$V?>(V.nullableType); } - static final _id_putIfAbsent = _class.instanceMethodId( - r'putIfAbsent', - r'(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;', + static final _id_isEmpty = _class.instanceMethodId( + r'isEmpty', + r'()Z', ); - static final _putIfAbsent = jni$_.ProtectedJniExtensions.lookup< + static final _isEmpty = jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + )>>('globalEnv_CallBooleanMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + )>(); + + /// from: `public boolean isEmpty()` + bool isEmpty() { + return _isEmpty(reference.pointer, _id_isEmpty as jni$_.JMethodIDPtr) + .boolean; + } + + static final _id_keySet = _class.instanceMethodId( + r'keySet', + r'()Ljava/util/Set;', + ); + + static final _keySet = jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + )>>('globalEnv_CallObjectMethod') + .asFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + )>(); + + /// from: `public java.util.Set keySet()` + /// The returned object must be released after use, by calling the [release] method. + jni$_.JSet<$K?>? keySet() { + return _keySet(reference.pointer, _id_keySet as jni$_.JMethodIDPtr) + .object?>( + jni$_.$JSet$NullableType$<$K?>(K.nullableType)); + } + + static final _id_merge = _class.instanceMethodId( + r'merge', + r'(Ljava/lang/Object;Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;', + ); + + static final _merge = jni$_.ProtectedJniExtensions.lookup< jni$_.NativeFunction< jni$_.JniResult Function( jni$_.Pointer, jni$_.JMethodIDPtr, jni$_.VarArgs< ( + jni$_.Pointer, jni$_.Pointer, jni$_.Pointer )>)>>('globalEnv_CallObjectMethod') @@ -6179,102 +6475,118 @@ class HashMap<$K extends jni$_.JObject?, $V extends jni$_.JObject?> jni$_.Pointer, jni$_.JMethodIDPtr, jni$_.Pointer, + jni$_.Pointer, jni$_.Pointer)>(); - /// from: `public V putIfAbsent(K object, V object1)` + /// from: `public V merge(K object, V object1, java.util.function.BiFunction biFunction)` /// The returned object must be released after use, by calling the [release] method. - $V? putIfAbsent( + $V? merge( $K? object, $V? object1, + jni$_.JObject? biFunction, ) { final _$object = object?.reference ?? jni$_.jNullReference; final _$object1 = object1?.reference ?? jni$_.jNullReference; - return _putIfAbsent( - reference.pointer, - _id_putIfAbsent as jni$_.JMethodIDPtr, - _$object.pointer, - _$object1.pointer) + final _$biFunction = biFunction?.reference ?? jni$_.jNullReference; + return _merge(reference.pointer, _id_merge as jni$_.JMethodIDPtr, + _$object.pointer, _$object1.pointer, _$biFunction.pointer) .object<$V?>(V.nullableType); } - static final _id_remove$1 = _class.instanceMethodId( - r'remove', - r'(Ljava/lang/Object;Ljava/lang/Object;)Z', + static final _id_newHashMap = _class.staticMethodId( + r'newHashMap', + r'(I)Ljava/util/HashMap;', ); - static final _remove$1 = jni$_.ProtectedJniExtensions.lookup< - jni$_.NativeFunction< - jni$_.JniResult Function( - jni$_.Pointer, - jni$_.JMethodIDPtr, - jni$_.VarArgs< - ( - jni$_.Pointer, - jni$_.Pointer - )>)>>('globalEnv_CallBooleanMethod') + static final _newHashMap = jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function(jni$_.Pointer, + jni$_.JMethodIDPtr, jni$_.VarArgs<(jni$_.Int32,)>)>>( + 'globalEnv_CallStaticObjectMethod') .asFunction< jni$_.JniResult Function( - jni$_.Pointer, - jni$_.JMethodIDPtr, - jni$_.Pointer, - jni$_.Pointer)>(); + jni$_.Pointer, jni$_.JMethodIDPtr, int)>(); - /// from: `public boolean remove(java.lang.Object object, java.lang.Object object1)` - bool remove$1( - jni$_.JObject? object, - jni$_.JObject? object1, - ) { - final _$object = object?.reference ?? jni$_.jNullReference; - final _$object1 = object1?.reference ?? jni$_.jNullReference; - return _remove$1(reference.pointer, _id_remove$1 as jni$_.JMethodIDPtr, - _$object.pointer, _$object1.pointer) - .boolean; + /// from: `static public java.util.HashMap newHashMap(int i)` + /// The returned object must be released after use, by calling the [release] method. + static HashMap<$K?, $V?>? + newHashMap<$K extends jni$_.JObject?, $V extends jni$_.JObject?>( + int i, { + required jni$_.JType<$K> K, + required jni$_.JType<$V> V, + }) { + return _newHashMap( + _class.reference.pointer, _id_newHashMap as jni$_.JMethodIDPtr, i) + .object?>( + $HashMap$NullableType$<$K?, $V?>(K.nullableType, V.nullableType)); } - static final _id_replace = _class.instanceMethodId( - r'replace', - r'(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z', + static final _id_put = _class.instanceMethodId( + r'put', + r'(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;', ); - static final _replace = jni$_.ProtectedJniExtensions.lookup< + static final _put = jni$_.ProtectedJniExtensions.lookup< jni$_.NativeFunction< jni$_.JniResult Function( jni$_.Pointer, jni$_.JMethodIDPtr, jni$_.VarArgs< ( - jni$_.Pointer, jni$_.Pointer, jni$_.Pointer - )>)>>('globalEnv_CallBooleanMethod') + )>)>>('globalEnv_CallObjectMethod') .asFunction< jni$_.JniResult Function( jni$_.Pointer, jni$_.JMethodIDPtr, jni$_.Pointer, - jni$_.Pointer, jni$_.Pointer)>(); - /// from: `public boolean replace(K object, V object1, V object2)` - bool replace( + /// from: `public V put(K object, V object1)` + /// The returned object must be released after use, by calling the [release] method. + $V? put( $K? object, $V? object1, - $V? object2, ) { final _$object = object?.reference ?? jni$_.jNullReference; final _$object1 = object1?.reference ?? jni$_.jNullReference; - final _$object2 = object2?.reference ?? jni$_.jNullReference; - return _replace(reference.pointer, _id_replace as jni$_.JMethodIDPtr, - _$object.pointer, _$object1.pointer, _$object2.pointer) - .boolean; + return _put(reference.pointer, _id_put as jni$_.JMethodIDPtr, + _$object.pointer, _$object1.pointer) + .object<$V?>(V.nullableType); } - static final _id_replace$1 = _class.instanceMethodId( - r'replace', + static final _id_putAll = _class.instanceMethodId( + r'putAll', + r'(Ljava/util/Map;)V', + ); + + static final _putAll = jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JThrowablePtr Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs<(jni$_.Pointer,)>)>>( + 'globalEnv_CallVoidMethod') + .asFunction< + jni$_.JThrowablePtr Function(jni$_.Pointer, + jni$_.JMethodIDPtr, jni$_.Pointer)>(); + + /// from: `public void putAll(java.util.Map map)` + void putAll( + jni$_.JMap<$K?, $V?>? map, + ) { + final _$map = map?.reference ?? jni$_.jNullReference; + _putAll(reference.pointer, _id_putAll as jni$_.JMethodIDPtr, _$map.pointer) + .check(); + } + + static final _id_putIfAbsent = _class.instanceMethodId( + r'putIfAbsent', r'(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;', ); - static final _replace$1 = jni$_.ProtectedJniExtensions.lookup< + static final _putIfAbsent = jni$_.ProtectedJniExtensions.lookup< jni$_.NativeFunction< jni$_.JniResult Function( jni$_.Pointer, @@ -6291,63 +6603,55 @@ class HashMap<$K extends jni$_.JObject?, $V extends jni$_.JObject?> jni$_.Pointer, jni$_.Pointer)>(); - /// from: `public V replace(K object, V object1)` + /// from: `public V putIfAbsent(K object, V object1)` /// The returned object must be released after use, by calling the [release] method. - $V? replace$1( + $V? putIfAbsent( $K? object, $V? object1, ) { final _$object = object?.reference ?? jni$_.jNullReference; final _$object1 = object1?.reference ?? jni$_.jNullReference; - return _replace$1(reference.pointer, _id_replace$1 as jni$_.JMethodIDPtr, - _$object.pointer, _$object1.pointer) + return _putIfAbsent( + reference.pointer, + _id_putIfAbsent as jni$_.JMethodIDPtr, + _$object.pointer, + _$object1.pointer) .object<$V?>(V.nullableType); } - static final _id_computeIfAbsent = _class.instanceMethodId( - r'computeIfAbsent', - r'(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;', + static final _id_remove = _class.instanceMethodId( + r'remove', + r'(Ljava/lang/Object;)Ljava/lang/Object;', ); - static final _computeIfAbsent = jni$_.ProtectedJniExtensions.lookup< - jni$_.NativeFunction< - jni$_.JniResult Function( - jni$_.Pointer, - jni$_.JMethodIDPtr, - jni$_.VarArgs< - ( - jni$_.Pointer, - jni$_.Pointer - )>)>>('globalEnv_CallObjectMethod') + static final _remove = jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + jni$_.VarArgs<(jni$_.Pointer,)>)>>( + 'globalEnv_CallObjectMethod') .asFunction< - jni$_.JniResult Function( - jni$_.Pointer, - jni$_.JMethodIDPtr, - jni$_.Pointer, - jni$_.Pointer)>(); + jni$_.JniResult Function(jni$_.Pointer, + jni$_.JMethodIDPtr, jni$_.Pointer)>(); - /// from: `public V computeIfAbsent(K object, java.util.function.Function function)` + /// from: `public V remove(java.lang.Object object)` /// The returned object must be released after use, by calling the [release] method. - $V? computeIfAbsent( - $K? object, - jni$_.JObject? function, + $V? remove( + jni$_.JObject? object, ) { final _$object = object?.reference ?? jni$_.jNullReference; - final _$function = function?.reference ?? jni$_.jNullReference; - return _computeIfAbsent( - reference.pointer, - _id_computeIfAbsent as jni$_.JMethodIDPtr, - _$object.pointer, - _$function.pointer) + return _remove(reference.pointer, _id_remove as jni$_.JMethodIDPtr, + _$object.pointer) .object<$V?>(V.nullableType); } - static final _id_computeIfPresent = _class.instanceMethodId( - r'computeIfPresent', - r'(Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;', + static final _id_remove$1 = _class.instanceMethodId( + r'remove', + r'(Ljava/lang/Object;Ljava/lang/Object;)Z', ); - static final _computeIfPresent = jni$_.ProtectedJniExtensions.lookup< + static final _remove$1 = jni$_.ProtectedJniExtensions.lookup< jni$_.NativeFunction< jni$_.JniResult Function( jni$_.Pointer, @@ -6356,7 +6660,7 @@ class HashMap<$K extends jni$_.JObject?, $V extends jni$_.JObject?> ( jni$_.Pointer, jni$_.Pointer - )>)>>('globalEnv_CallObjectMethod') + )>)>>('globalEnv_CallBooleanMethod') .asFunction< jni$_.JniResult Function( jni$_.Pointer, @@ -6364,28 +6668,24 @@ class HashMap<$K extends jni$_.JObject?, $V extends jni$_.JObject?> jni$_.Pointer, jni$_.Pointer)>(); - /// from: `public V computeIfPresent(K object, java.util.function.BiFunction biFunction)` - /// The returned object must be released after use, by calling the [release] method. - $V? computeIfPresent( - $K? object, - jni$_.JObject? biFunction, + /// from: `public boolean remove(java.lang.Object object, java.lang.Object object1)` + bool remove$1( + jni$_.JObject? object, + jni$_.JObject? object1, ) { final _$object = object?.reference ?? jni$_.jNullReference; - final _$biFunction = biFunction?.reference ?? jni$_.jNullReference; - return _computeIfPresent( - reference.pointer, - _id_computeIfPresent as jni$_.JMethodIDPtr, - _$object.pointer, - _$biFunction.pointer) - .object<$V?>(V.nullableType); + final _$object1 = object1?.reference ?? jni$_.jNullReference; + return _remove$1(reference.pointer, _id_remove$1 as jni$_.JMethodIDPtr, + _$object.pointer, _$object1.pointer) + .boolean; } - static final _id_compute = _class.instanceMethodId( - r'compute', - r'(Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;', + static final _id_replace = _class.instanceMethodId( + r'replace', + r'(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;', ); - static final _compute = jni$_.ProtectedJniExtensions.lookup< + static final _replace = jni$_.ProtectedJniExtensions.lookup< jni$_.NativeFunction< jni$_.JniResult Function( jni$_.Pointer, @@ -6402,25 +6702,25 @@ class HashMap<$K extends jni$_.JObject?, $V extends jni$_.JObject?> jni$_.Pointer, jni$_.Pointer)>(); - /// from: `public V compute(K object, java.util.function.BiFunction biFunction)` + /// from: `public V replace(K object, V object1)` /// The returned object must be released after use, by calling the [release] method. - $V? compute( + $V? replace( $K? object, - jni$_.JObject? biFunction, + $V? object1, ) { final _$object = object?.reference ?? jni$_.jNullReference; - final _$biFunction = biFunction?.reference ?? jni$_.jNullReference; - return _compute(reference.pointer, _id_compute as jni$_.JMethodIDPtr, - _$object.pointer, _$biFunction.pointer) + final _$object1 = object1?.reference ?? jni$_.jNullReference; + return _replace(reference.pointer, _id_replace as jni$_.JMethodIDPtr, + _$object.pointer, _$object1.pointer) .object<$V?>(V.nullableType); } - static final _id_merge = _class.instanceMethodId( - r'merge', - r'(Ljava/lang/Object;Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;', + static final _id_replace$1 = _class.instanceMethodId( + r'replace', + r'(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z', ); - static final _merge = jni$_.ProtectedJniExtensions.lookup< + static final _replace$1 = jni$_.ProtectedJniExtensions.lookup< jni$_.NativeFunction< jni$_.JniResult Function( jni$_.Pointer, @@ -6430,7 +6730,7 @@ class HashMap<$K extends jni$_.JObject?, $V extends jni$_.JObject?> jni$_.Pointer, jni$_.Pointer, jni$_.Pointer - )>)>>('globalEnv_CallObjectMethod') + )>)>>('globalEnv_CallBooleanMethod') .asFunction< jni$_.JniResult Function( jni$_.Pointer, @@ -6439,45 +6739,18 @@ class HashMap<$K extends jni$_.JObject?, $V extends jni$_.JObject?> jni$_.Pointer, jni$_.Pointer)>(); - /// from: `public V merge(K object, V object1, java.util.function.BiFunction biFunction)` - /// The returned object must be released after use, by calling the [release] method. - $V? merge( + /// from: `public boolean replace(K object, V object1, V object2)` + bool replace$1( $K? object, $V? object1, - jni$_.JObject? biFunction, + $V? object2, ) { final _$object = object?.reference ?? jni$_.jNullReference; final _$object1 = object1?.reference ?? jni$_.jNullReference; - final _$biFunction = biFunction?.reference ?? jni$_.jNullReference; - return _merge(reference.pointer, _id_merge as jni$_.JMethodIDPtr, - _$object.pointer, _$object1.pointer, _$biFunction.pointer) - .object<$V?>(V.nullableType); - } - - static final _id_forEach = _class.instanceMethodId( - r'forEach', - r'(Ljava/util/function/BiConsumer;)V', - ); - - static final _forEach = jni$_.ProtectedJniExtensions.lookup< - jni$_.NativeFunction< - jni$_.JThrowablePtr Function( - jni$_.Pointer, - jni$_.JMethodIDPtr, - jni$_.VarArgs<(jni$_.Pointer,)>)>>( - 'globalEnv_CallVoidMethod') - .asFunction< - jni$_.JThrowablePtr Function(jni$_.Pointer, - jni$_.JMethodIDPtr, jni$_.Pointer)>(); - - /// from: `public void forEach(java.util.function.BiConsumer biConsumer)` - void forEach( - jni$_.JObject? biConsumer, - ) { - final _$biConsumer = biConsumer?.reference ?? jni$_.jNullReference; - _forEach(reference.pointer, _id_forEach as jni$_.JMethodIDPtr, - _$biConsumer.pointer) - .check(); + final _$object2 = object2?.reference ?? jni$_.jNullReference; + return _replace$1(reference.pointer, _id_replace$1 as jni$_.JMethodIDPtr, + _$object.pointer, _$object1.pointer, _$object2.pointer) + .boolean; } static final _id_replaceAll = _class.instanceMethodId( @@ -6506,56 +6779,50 @@ class HashMap<$K extends jni$_.JObject?, $V extends jni$_.JObject?> .check(); } - static final _id_clone = _class.instanceMethodId( - r'clone', - r'()Ljava/lang/Object;', + static final _id_size = _class.instanceMethodId( + r'size', + r'()I', ); - static final _clone = jni$_.ProtectedJniExtensions.lookup< + static final _size = jni$_.ProtectedJniExtensions.lookup< jni$_.NativeFunction< jni$_.JniResult Function( jni$_.Pointer, jni$_.JMethodIDPtr, - )>>('globalEnv_CallObjectMethod') + )>>('globalEnv_CallIntMethod') .asFunction< jni$_.JniResult Function( jni$_.Pointer, jni$_.JMethodIDPtr, )>(); - /// from: `public java.lang.Object clone()` - /// The returned object must be released after use, by calling the [release] method. - jni$_.JObject? clone() { - return _clone(reference.pointer, _id_clone as jni$_.JMethodIDPtr) - .object(const jni$_.$JObject$NullableType$()); + /// from: `public int size()` + int size() { + return _size(reference.pointer, _id_size as jni$_.JMethodIDPtr).integer; } - static final _id_newHashMap = _class.staticMethodId( - r'newHashMap', - r'(I)Ljava/util/HashMap;', + static final _id_values = _class.instanceMethodId( + r'values', + r'()Ljava/util/Collection;', ); - static final _newHashMap = jni$_.ProtectedJniExtensions.lookup< - jni$_.NativeFunction< - jni$_.JniResult Function(jni$_.Pointer, - jni$_.JMethodIDPtr, jni$_.VarArgs<(jni$_.Int32,)>)>>( - 'globalEnv_CallStaticObjectMethod') + static final _values = jni$_.ProtectedJniExtensions.lookup< + jni$_.NativeFunction< + jni$_.JniResult Function( + jni$_.Pointer, + jni$_.JMethodIDPtr, + )>>('globalEnv_CallObjectMethod') .asFunction< jni$_.JniResult Function( - jni$_.Pointer, jni$_.JMethodIDPtr, int)>(); + jni$_.Pointer, + jni$_.JMethodIDPtr, + )>(); - /// from: `static public java.util.HashMap newHashMap(int i)` + /// from: `public java.util.Collection values()` /// The returned object must be released after use, by calling the [release] method. - static HashMap<$K?, $V?>? - newHashMap<$K extends jni$_.JObject?, $V extends jni$_.JObject?>( - int i, { - required jni$_.JType<$K> K, - required jni$_.JType<$V> V, - }) { - return _newHashMap( - _class.reference.pointer, _id_newHashMap as jni$_.JMethodIDPtr, i) - .object?>( - $HashMap$NullableType$<$K?, $V?>(K.nullableType, V.nullableType)); + jni$_.JObject? values() { + return _values(reference.pointer, _id_values as jni$_.JMethodIDPtr) + .object(const jni$_.$JObject$NullableType$()); } } From bec08e57d36937e029149ce6514cde3e9cc8af0f Mon Sep 17 00:00:00 2001 From: Hossein Yousefi Date: Fri, 29 Aug 2025 12:20:19 +0200 Subject: [PATCH 2/4] Fix the example after regen --- pkgs/jnigen/example/in_app_java/lib/main.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/jnigen/example/in_app_java/lib/main.dart b/pkgs/jnigen/example/in_app_java/lib/main.dart index 6e0babeba2..520a0aa972 100644 --- a/pkgs/jnigen/example/in_app_java/lib/main.dart +++ b/pkgs/jnigen/example/in_app_java/lib/main.dart @@ -12,9 +12,9 @@ import 'android_utils.dart'; JObject activity = JObject.fromReference(Jni.getCurrentActivity()); JObject context = JObject.fromReference(Jni.getCachedApplicationContext()); -final hashmap = HashMap.new$2(K: JString.type, V: JString.type); +final hashmap = HashMap(K: JString.type, V: JString.type); -final emojiCompat = EmojiCompat.get()!; +final emojiCompat = EmojiCompat.get(); extension IntX on int { JString toJString() { From 8a49b1f2828e96dac8f2145364191ecc335cdff7 Mon Sep 17 00:00:00 2001 From: Hossein Yousefi Date: Fri, 29 Aug 2025 17:24:39 +0200 Subject: [PATCH 3/4] Fix gradle_tools --- pkgs/jnigen/lib/src/tools/gradle_tools.dart | 33 +++++---------------- 1 file changed, 8 insertions(+), 25 deletions(-) diff --git a/pkgs/jnigen/lib/src/tools/gradle_tools.dart b/pkgs/jnigen/lib/src/tools/gradle_tools.dart index fb78b7c501..bf44292b20 100644 --- a/pkgs/jnigen/lib/src/tools/gradle_tools.dart +++ b/pkgs/jnigen/lib/src/tools/gradle_tools.dart @@ -68,17 +68,13 @@ class GradleTools { /// Downloads and unpacks source files of [deps] into [targetDir]. static Future downloadMavenSources( List deps, String targetDir) async { - for (var i = 0; i < deps.length; i++) { - final sourceJarLocation = deps[i].toURLString(repoLocation); - await File(join(targetDir, deps[i].filename())) + for (final dep in deps) { + final targetFile = File(join(targetDir, dep.filename())); + await targetFile.parent.create(recursive: true); + final sourceJarLocation = dep.toURLString(repoLocation); + await targetFile .writeAsBytes(await http.readBytes(Uri.parse(sourceJarLocation))); } - // Use gradle to extract the source jars. - // This flow is needed because Gradle - // defaults to compiled jars where available. - final tempDir = await currentDir.createTemp('maven_temp_'); - await _runGradleCommand(deps, extractSources: true, targetDir); - await tempDir.delete(recursive: true); } static Future createStubProject(Directory rootTempDir) async { @@ -104,9 +100,7 @@ class GradleTools { /// Downloads JAR files of all [deps] transitively into [targetDir]. static Future downloadMavenJars( List deps, String targetDir) async { - final tempDir = await currentDir.createTemp('maven_temp_'); await _runGradleCommand(deps, targetDir); - await tempDir.delete(recursive: true); } static String _getStubGradle(List deps, String targetDir, @@ -132,23 +126,12 @@ class GradleTools { } tasks.register("copyJars") { - from(configurations.runtimeClasspath) - into("$targetDir") - } - - tasks.register("extractSourceJars") { - duplicatesStrategy = DuplicatesStrategy.INCLUDE - val sourcesDir = fileTree("$targetDir") - sourcesDir.forEach { - if (it.name.endsWith(".jar")) { - from(zipTree(it)) - into("$targetDir") - } - } + from(configurations.runtimeClasspath) + into("$targetDir") } dependencies { - ${depDecls.join("\n")} + ${depDecls.join("\n ")} }'''; } } From 1a1459ee0375ef3cd15a9a9b5d37f4bd681c5e9e Mon Sep 17 00:00:00 2001 From: Hossein Yousefi Date: Fri, 29 Aug 2025 17:53:46 +0200 Subject: [PATCH 4/4] Bring back zip extraction --- pkgs/jnigen/lib/src/tools/gradle_tools.dart | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/pkgs/jnigen/lib/src/tools/gradle_tools.dart b/pkgs/jnigen/lib/src/tools/gradle_tools.dart index bf44292b20..afe2f9e187 100644 --- a/pkgs/jnigen/lib/src/tools/gradle_tools.dart +++ b/pkgs/jnigen/lib/src/tools/gradle_tools.dart @@ -68,6 +68,8 @@ class GradleTools { /// Downloads and unpacks source files of [deps] into [targetDir]. static Future downloadMavenSources( List deps, String targetDir) async { + // TODO(https://github.com/dart-lang/native/issues/2579): Make this use + // gradle as well, instead of manually downloading deps via http. for (final dep in deps) { final targetFile = File(join(targetDir, dep.filename())); await targetFile.parent.create(recursive: true); @@ -75,6 +77,7 @@ class GradleTools { await targetFile .writeAsBytes(await http.readBytes(Uri.parse(sourceJarLocation))); } + await _runGradleCommand(deps, extractSources: true, targetDir); } static Future createStubProject(Directory rootTempDir) async { @@ -129,6 +132,19 @@ class GradleTools { from(configurations.runtimeClasspath) into("$targetDir") } + + tasks.register("extractSourceJars") { + duplicatesStrategy = DuplicatesStrategy.INCLUDE + val sourcesDir = fileTree("$targetDir") + sourcesDir.forEach { + if (it.name.endsWith(".jar")) { + from(zipTree(it)) + into("$targetDir") + } + } + from(configurations.runtimeClasspath) + into("$targetDir") + } dependencies { ${depDecls.join("\n ")}