Skip to content

Commit 269c96c

Browse files
authored
[jnigen] Some summarizer improvements (#114)
1 parent 412a1b5 commit 269c96c

File tree

16 files changed

+1387
-441
lines changed

16 files changed

+1387
-441
lines changed

pkgs/jnigen/example/in_app_java/jnigen.yaml

+2-1
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,5 @@ output:
1212
source_path:
1313
- 'android/app/src/main/java'
1414
classes:
15-
- 'com.example.in_app_java.AndroidUtils'
15+
- 'com.example.in_app_java.AndroidUtils' # from source_path
16+
- 'android.os.Build' # from gradle's compile classpath

pkgs/jnigen/example/in_app_java/lib/android_utils.dart

+296
Original file line numberDiff line numberDiff line change
@@ -42,3 +42,299 @@ class AndroidUtils extends jni.JniObject {
4242
jni.JniObject mainActivity, jni.JniObject text, int duration) =>
4343
_showToast(mainActivity.reference, text.reference, duration).check();
4444
}
45+
46+
/// from: android.os.Build
47+
class Build extends jni.JniObject {
48+
Build.fromRef(ffi.Pointer<ffi.Void> ref) : super.fromRef(ref);
49+
50+
static final _get_BOARD =
51+
jniLookup<ffi.NativeFunction<jni.JniResult Function()>>(
52+
"get_Build__BOARD")
53+
.asFunction<jni.JniResult Function()>();
54+
55+
/// from: static public final java.lang.String BOARD
56+
/// The returned object must be deleted after use, by calling the `delete` method.
57+
static jni.JniString get BOARD => jni.JniString.fromRef(_get_BOARD().object);
58+
59+
static final _get_BOOTLOADER =
60+
jniLookup<ffi.NativeFunction<jni.JniResult Function()>>(
61+
"get_Build__BOOTLOADER")
62+
.asFunction<jni.JniResult Function()>();
63+
64+
/// from: static public final java.lang.String BOOTLOADER
65+
/// The returned object must be deleted after use, by calling the `delete` method.
66+
static jni.JniString get BOOTLOADER =>
67+
jni.JniString.fromRef(_get_BOOTLOADER().object);
68+
69+
static final _get_BRAND =
70+
jniLookup<ffi.NativeFunction<jni.JniResult Function()>>(
71+
"get_Build__BRAND")
72+
.asFunction<jni.JniResult Function()>();
73+
74+
/// from: static public final java.lang.String BRAND
75+
/// The returned object must be deleted after use, by calling the `delete` method.
76+
static jni.JniString get BRAND => jni.JniString.fromRef(_get_BRAND().object);
77+
78+
static final _get_CPU_ABI =
79+
jniLookup<ffi.NativeFunction<jni.JniResult Function()>>(
80+
"get_Build__CPU_ABI")
81+
.asFunction<jni.JniResult Function()>();
82+
83+
/// from: static public final java.lang.String CPU_ABI
84+
/// The returned object must be deleted after use, by calling the `delete` method.
85+
static jni.JniString get CPU_ABI =>
86+
jni.JniString.fromRef(_get_CPU_ABI().object);
87+
88+
static final _get_CPU_ABI2 =
89+
jniLookup<ffi.NativeFunction<jni.JniResult Function()>>(
90+
"get_Build__CPU_ABI2")
91+
.asFunction<jni.JniResult Function()>();
92+
93+
/// from: static public final java.lang.String CPU_ABI2
94+
/// The returned object must be deleted after use, by calling the `delete` method.
95+
static jni.JniString get CPU_ABI2 =>
96+
jni.JniString.fromRef(_get_CPU_ABI2().object);
97+
98+
static final _get_DEVICE =
99+
jniLookup<ffi.NativeFunction<jni.JniResult Function()>>(
100+
"get_Build__DEVICE")
101+
.asFunction<jni.JniResult Function()>();
102+
103+
/// from: static public final java.lang.String DEVICE
104+
/// The returned object must be deleted after use, by calling the `delete` method.
105+
static jni.JniString get DEVICE =>
106+
jni.JniString.fromRef(_get_DEVICE().object);
107+
108+
static final _get_DISPLAY =
109+
jniLookup<ffi.NativeFunction<jni.JniResult Function()>>(
110+
"get_Build__DISPLAY")
111+
.asFunction<jni.JniResult Function()>();
112+
113+
/// from: static public final java.lang.String DISPLAY
114+
/// The returned object must be deleted after use, by calling the `delete` method.
115+
static jni.JniString get DISPLAY =>
116+
jni.JniString.fromRef(_get_DISPLAY().object);
117+
118+
static final _get_FINGERPRINT =
119+
jniLookup<ffi.NativeFunction<jni.JniResult Function()>>(
120+
"get_Build__FINGERPRINT")
121+
.asFunction<jni.JniResult Function()>();
122+
123+
/// from: static public final java.lang.String FINGERPRINT
124+
/// The returned object must be deleted after use, by calling the `delete` method.
125+
static jni.JniString get FINGERPRINT =>
126+
jni.JniString.fromRef(_get_FINGERPRINT().object);
127+
128+
static final _get_HARDWARE =
129+
jniLookup<ffi.NativeFunction<jni.JniResult Function()>>(
130+
"get_Build__HARDWARE")
131+
.asFunction<jni.JniResult Function()>();
132+
133+
/// from: static public final java.lang.String HARDWARE
134+
/// The returned object must be deleted after use, by calling the `delete` method.
135+
static jni.JniString get HARDWARE =>
136+
jni.JniString.fromRef(_get_HARDWARE().object);
137+
138+
static final _get_HOST =
139+
jniLookup<ffi.NativeFunction<jni.JniResult Function()>>("get_Build__HOST")
140+
.asFunction<jni.JniResult Function()>();
141+
142+
/// from: static public final java.lang.String HOST
143+
/// The returned object must be deleted after use, by calling the `delete` method.
144+
static jni.JniString get HOST => jni.JniString.fromRef(_get_HOST().object);
145+
146+
static final _get_ID =
147+
jniLookup<ffi.NativeFunction<jni.JniResult Function()>>("get_Build__ID")
148+
.asFunction<jni.JniResult Function()>();
149+
150+
/// from: static public final java.lang.String ID
151+
/// The returned object must be deleted after use, by calling the `delete` method.
152+
static jni.JniString get ID => jni.JniString.fromRef(_get_ID().object);
153+
154+
static final _get_MANUFACTURER =
155+
jniLookup<ffi.NativeFunction<jni.JniResult Function()>>(
156+
"get_Build__MANUFACTURER")
157+
.asFunction<jni.JniResult Function()>();
158+
159+
/// from: static public final java.lang.String MANUFACTURER
160+
/// The returned object must be deleted after use, by calling the `delete` method.
161+
static jni.JniString get MANUFACTURER =>
162+
jni.JniString.fromRef(_get_MANUFACTURER().object);
163+
164+
static final _get_MODEL =
165+
jniLookup<ffi.NativeFunction<jni.JniResult Function()>>(
166+
"get_Build__MODEL")
167+
.asFunction<jni.JniResult Function()>();
168+
169+
/// from: static public final java.lang.String MODEL
170+
/// The returned object must be deleted after use, by calling the `delete` method.
171+
static jni.JniString get MODEL => jni.JniString.fromRef(_get_MODEL().object);
172+
173+
static final _get_ODM_SKU =
174+
jniLookup<ffi.NativeFunction<jni.JniResult Function()>>(
175+
"get_Build__ODM_SKU")
176+
.asFunction<jni.JniResult Function()>();
177+
178+
/// from: static public final java.lang.String ODM_SKU
179+
/// The returned object must be deleted after use, by calling the `delete` method.
180+
static jni.JniString get ODM_SKU =>
181+
jni.JniString.fromRef(_get_ODM_SKU().object);
182+
183+
static final _get_PRODUCT =
184+
jniLookup<ffi.NativeFunction<jni.JniResult Function()>>(
185+
"get_Build__PRODUCT")
186+
.asFunction<jni.JniResult Function()>();
187+
188+
/// from: static public final java.lang.String PRODUCT
189+
/// The returned object must be deleted after use, by calling the `delete` method.
190+
static jni.JniString get PRODUCT =>
191+
jni.JniString.fromRef(_get_PRODUCT().object);
192+
193+
static final _get_RADIO =
194+
jniLookup<ffi.NativeFunction<jni.JniResult Function()>>(
195+
"get_Build__RADIO")
196+
.asFunction<jni.JniResult Function()>();
197+
198+
/// from: static public final java.lang.String RADIO
199+
/// The returned object must be deleted after use, by calling the `delete` method.
200+
static jni.JniString get RADIO => jni.JniString.fromRef(_get_RADIO().object);
201+
202+
static final _get_SERIAL =
203+
jniLookup<ffi.NativeFunction<jni.JniResult Function()>>(
204+
"get_Build__SERIAL")
205+
.asFunction<jni.JniResult Function()>();
206+
207+
/// from: static public final java.lang.String SERIAL
208+
/// The returned object must be deleted after use, by calling the `delete` method.
209+
static jni.JniString get SERIAL =>
210+
jni.JniString.fromRef(_get_SERIAL().object);
211+
212+
static final _get_SKU =
213+
jniLookup<ffi.NativeFunction<jni.JniResult Function()>>("get_Build__SKU")
214+
.asFunction<jni.JniResult Function()>();
215+
216+
/// from: static public final java.lang.String SKU
217+
/// The returned object must be deleted after use, by calling the `delete` method.
218+
static jni.JniString get SKU => jni.JniString.fromRef(_get_SKU().object);
219+
220+
static final _get_SOC_MANUFACTURER =
221+
jniLookup<ffi.NativeFunction<jni.JniResult Function()>>(
222+
"get_Build__SOC_MANUFACTURER")
223+
.asFunction<jni.JniResult Function()>();
224+
225+
/// from: static public final java.lang.String SOC_MANUFACTURER
226+
/// The returned object must be deleted after use, by calling the `delete` method.
227+
static jni.JniString get SOC_MANUFACTURER =>
228+
jni.JniString.fromRef(_get_SOC_MANUFACTURER().object);
229+
230+
static final _get_SOC_MODEL =
231+
jniLookup<ffi.NativeFunction<jni.JniResult Function()>>(
232+
"get_Build__SOC_MODEL")
233+
.asFunction<jni.JniResult Function()>();
234+
235+
/// from: static public final java.lang.String SOC_MODEL
236+
/// The returned object must be deleted after use, by calling the `delete` method.
237+
static jni.JniString get SOC_MODEL =>
238+
jni.JniString.fromRef(_get_SOC_MODEL().object);
239+
240+
static final _get_SUPPORTED_32_BIT_ABIS =
241+
jniLookup<ffi.NativeFunction<jni.JniResult Function()>>(
242+
"get_Build__SUPPORTED_32_BIT_ABIS")
243+
.asFunction<jni.JniResult Function()>();
244+
245+
/// from: static public final java.lang.String[] SUPPORTED_32_BIT_ABIS
246+
/// The returned object must be deleted after use, by calling the `delete` method.
247+
static jni.JniObject get SUPPORTED_32_BIT_ABIS =>
248+
jni.JniObject.fromRef(_get_SUPPORTED_32_BIT_ABIS().object);
249+
250+
static final _get_SUPPORTED_64_BIT_ABIS =
251+
jniLookup<ffi.NativeFunction<jni.JniResult Function()>>(
252+
"get_Build__SUPPORTED_64_BIT_ABIS")
253+
.asFunction<jni.JniResult Function()>();
254+
255+
/// from: static public final java.lang.String[] SUPPORTED_64_BIT_ABIS
256+
/// The returned object must be deleted after use, by calling the `delete` method.
257+
static jni.JniObject get SUPPORTED_64_BIT_ABIS =>
258+
jni.JniObject.fromRef(_get_SUPPORTED_64_BIT_ABIS().object);
259+
260+
static final _get_SUPPORTED_ABIS =
261+
jniLookup<ffi.NativeFunction<jni.JniResult Function()>>(
262+
"get_Build__SUPPORTED_ABIS")
263+
.asFunction<jni.JniResult Function()>();
264+
265+
/// from: static public final java.lang.String[] SUPPORTED_ABIS
266+
/// The returned object must be deleted after use, by calling the `delete` method.
267+
static jni.JniObject get SUPPORTED_ABIS =>
268+
jni.JniObject.fromRef(_get_SUPPORTED_ABIS().object);
269+
270+
static final _get_TAGS =
271+
jniLookup<ffi.NativeFunction<jni.JniResult Function()>>("get_Build__TAGS")
272+
.asFunction<jni.JniResult Function()>();
273+
274+
/// from: static public final java.lang.String TAGS
275+
/// The returned object must be deleted after use, by calling the `delete` method.
276+
static jni.JniString get TAGS => jni.JniString.fromRef(_get_TAGS().object);
277+
278+
static final _get_TIME =
279+
jniLookup<ffi.NativeFunction<jni.JniResult Function()>>("get_Build__TIME")
280+
.asFunction<jni.JniResult Function()>();
281+
282+
/// from: static public final long TIME
283+
static int get TIME => _get_TIME().long;
284+
285+
static final _get_TYPE =
286+
jniLookup<ffi.NativeFunction<jni.JniResult Function()>>("get_Build__TYPE")
287+
.asFunction<jni.JniResult Function()>();
288+
289+
/// from: static public final java.lang.String TYPE
290+
/// The returned object must be deleted after use, by calling the `delete` method.
291+
static jni.JniString get TYPE => jni.JniString.fromRef(_get_TYPE().object);
292+
293+
/// from: static public final java.lang.String UNKNOWN
294+
static const UNKNOWN = "unknown";
295+
296+
static final _get_USER =
297+
jniLookup<ffi.NativeFunction<jni.JniResult Function()>>("get_Build__USER")
298+
.asFunction<jni.JniResult Function()>();
299+
300+
/// from: static public final java.lang.String USER
301+
/// The returned object must be deleted after use, by calling the `delete` method.
302+
static jni.JniString get USER => jni.JniString.fromRef(_get_USER().object);
303+
304+
static final _ctor =
305+
jniLookup<ffi.NativeFunction<jni.JniResult Function()>>("Build__ctor")
306+
.asFunction<jni.JniResult Function()>();
307+
308+
/// from: public void <init>()
309+
Build() : super.fromRef(_ctor().object);
310+
311+
static final _getSerial =
312+
jniLookup<ffi.NativeFunction<jni.JniResult Function()>>(
313+
"Build__getSerial")
314+
.asFunction<jni.JniResult Function()>();
315+
316+
/// from: static public java.lang.String getSerial()
317+
/// The returned object must be deleted after use, by calling the `delete` method.
318+
static jni.JniString getSerial() =>
319+
jni.JniString.fromRef(_getSerial().object);
320+
321+
static final _getFingerprintedPartitions =
322+
jniLookup<ffi.NativeFunction<jni.JniResult Function()>>(
323+
"Build__getFingerprintedPartitions")
324+
.asFunction<jni.JniResult Function()>();
325+
326+
/// from: static public java.util.List getFingerprintedPartitions()
327+
/// The returned object must be deleted after use, by calling the `delete` method.
328+
static jni.JniObject getFingerprintedPartitions() =>
329+
jni.JniObject.fromRef(_getFingerprintedPartitions().object);
330+
331+
static final _getRadioVersion =
332+
jniLookup<ffi.NativeFunction<jni.JniResult Function()>>(
333+
"Build__getRadioVersion")
334+
.asFunction<jni.JniResult Function()>();
335+
336+
/// from: static public java.lang.String getRadioVersion()
337+
/// The returned object must be deleted after use, by calling the `delete` method.
338+
static jni.JniString getRadioVersion() =>
339+
jni.JniString.fromRef(_getRadioVersion().object);
340+
}

pkgs/jnigen/example/in_app_java/lib/main.dart

+5-4
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@ import 'android_utils.dart';
1111

1212
JniObject activity = JniObject.fromRef(Jni.getCurrentActivity());
1313

14-
void showToast(String text) {
15-
AndroidUtils.showToast(activity, text.jniString(), 0);
14+
/// Display device model number as Toast
15+
void showToast() {
16+
AndroidUtils.showToast(activity, Build.MODEL, 0);
1617
}
1718

1819
void main() {
@@ -50,8 +51,8 @@ class MyHomePage extends StatelessWidget {
5051
mainAxisAlignment: MainAxisAlignment.center,
5152
children: [
5253
ElevatedButton(
53-
child: const Text('Show toast'),
54-
onPressed: () => showToast('😀'),
54+
child: const Text('Show Device Model'),
55+
onPressed: () => showToast(),
5556
),
5657
],
5758
),

0 commit comments

Comments
 (0)