@tokamakdev/plugin-local-authentication 0.1.0-beta.126 → 0.1.0-beta.128
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -8
- package/package.json +3 -5
- package/src/index.ts +4 -0
- package/tokamak-plugin.json +0 -25
- package/android/Bindings.kt +0 -271
- package/android/bindings.ts +0 -1144
- package/apple/Bindings.swift +0 -532
- package/apple/bindings.ts +0 -721
package/README.md
CHANGED
|
@@ -39,14 +39,6 @@ where the system cannot show its prompt.
|
|
|
39
39
|
any data. To bind a stored value to authentication, use
|
|
40
40
|
`@tokamakdev/plugin-secure-storage`.
|
|
41
41
|
|
|
42
|
-
## Platform bindings
|
|
43
|
-
|
|
44
|
-
`@tokamakdev/plugin-local-authentication/apple` is the Local Authentication
|
|
45
|
-
framework, and `@tokamakdev/plugin-local-authentication/android` is
|
|
46
|
-
`android.hardware.biometrics` with the `Context`, `CancellationSignal` and
|
|
47
|
-
`Executor` types it uses, for Worker code that needs what this API does not
|
|
48
|
-
offer.
|
|
49
|
-
|
|
50
42
|
## Platforms
|
|
51
43
|
|
|
52
44
|
- **iOS and macOS:** LocalAuthentication. On macOS, `biometricsOrPasscode`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tokamakdev/plugin-local-authentication",
|
|
3
|
-
"version": "0.1.0-beta.
|
|
3
|
+
"version": "0.1.0-beta.128",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/mantty/tokamak.git",
|
|
@@ -8,12 +8,10 @@
|
|
|
8
8
|
},
|
|
9
9
|
"type": "module",
|
|
10
10
|
"exports": {
|
|
11
|
-
".": "./src/index.ts"
|
|
12
|
-
"./apple": "./apple/bindings.ts",
|
|
13
|
-
"./android": "./android/bindings.ts"
|
|
11
|
+
".": "./src/index.ts"
|
|
14
12
|
},
|
|
15
13
|
"peerDependencies": {
|
|
16
|
-
"@tokamakdev/plugin": "0.1.0-beta.
|
|
14
|
+
"@tokamakdev/plugin": "0.1.0-beta.128"
|
|
17
15
|
},
|
|
18
16
|
"files": [
|
|
19
17
|
"android",
|
package/src/index.ts
CHANGED
|
@@ -20,6 +20,10 @@ class LocalAuthentication extends Plugin {
|
|
|
20
20
|
return this.call("status", { authentication });
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
+
/**
|
|
24
|
+
* Asks the device owner to authenticate. Rejects with `NeedsUIError` off screen on iOS and
|
|
25
|
+
* Android, where the system cannot show its prompt.
|
|
26
|
+
*/
|
|
23
27
|
authenticate(authentication: Authentication, options: AuthenticateOptions): Promise<void> {
|
|
24
28
|
return this.call("authenticate", { authentication, prompt: options.prompt });
|
|
25
29
|
}
|
package/tokamak-plugin.json
CHANGED
|
@@ -1,23 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 2,
|
|
3
3
|
"id": "local-authentication",
|
|
4
|
-
"bindings": {
|
|
5
|
-
"apple": {
|
|
6
|
-
"sdk": "26.2",
|
|
7
|
-
"modules": [
|
|
8
|
-
"LocalAuthentication"
|
|
9
|
-
]
|
|
10
|
-
},
|
|
11
|
-
"android": {
|
|
12
|
-
"sdk": 35,
|
|
13
|
-
"modules": [
|
|
14
|
-
"android.hardware.biometrics",
|
|
15
|
-
"android.content.Context",
|
|
16
|
-
"android.os.CancellationSignal",
|
|
17
|
-
"java.util.concurrent.Executor"
|
|
18
|
-
]
|
|
19
|
-
}
|
|
20
|
-
},
|
|
21
4
|
"platforms": {
|
|
22
5
|
"macos": {
|
|
23
6
|
"class": "TokamakLocalAuthenticationPlugin",
|
|
@@ -43,13 +26,5 @@
|
|
|
43
26
|
"api": {
|
|
44
27
|
"module": "src/index.ts",
|
|
45
28
|
"export": "localAuthentication"
|
|
46
|
-
},
|
|
47
|
-
"operations": {
|
|
48
|
-
"authenticate": {
|
|
49
|
-
"foreground": [
|
|
50
|
-
"ios",
|
|
51
|
-
"android"
|
|
52
|
-
]
|
|
53
|
-
}
|
|
54
29
|
}
|
|
55
30
|
}
|
package/android/Bindings.kt
DELETED
|
@@ -1,271 +0,0 @@
|
|
|
1
|
-
// Generated by `tok bindings` from the Android 35 SDK: android.hardware.biometrics, android.content.Context, android.os.CancellationSignal, java.util.concurrent.Executor. Do not edit.
|
|
2
|
-
@file:Suppress("DEPRECATION", "OVERRIDE_DEPRECATION", "UNCHECKED_CAST")
|
|
3
|
-
@file:SuppressLint("MissingPermission")
|
|
4
|
-
|
|
5
|
-
package com.tokamak.bindings.local_authentication
|
|
6
|
-
|
|
7
|
-
import android.annotation.SuppressLint
|
|
8
|
-
import android.os.Build
|
|
9
|
-
import com.tokamak.runtime.TokamakBinding
|
|
10
|
-
import com.tokamak.runtime.TokamakHost
|
|
11
|
-
import com.tokamak.runtime.TokamakPlugin
|
|
12
|
-
import com.tokamak.runtime.TokamakPluginBytesReply
|
|
13
|
-
import com.tokamak.runtime.TokamakPluginError
|
|
14
|
-
|
|
15
|
-
class Bindings(private val host: TokamakHost) : TokamakPlugin {
|
|
16
|
-
override val id = "local-authentication/android"
|
|
17
|
-
|
|
18
|
-
override fun callBytes(method: String, payload: ByteArray, reply: TokamakPluginBytesReply): (() -> Unit)? {
|
|
19
|
-
val b = TokamakBinding(payload, host.resources, reply)
|
|
20
|
-
return when (method.substringBefore('#')) {
|
|
21
|
-
"BiometricManager" -> callBiometricManager(method, b)
|
|
22
|
-
"BiometricManager.Strings" -> callBiometricManager_Strings(method, b)
|
|
23
|
-
"BiometricPrompt" -> callBiometricPrompt(method, b)
|
|
24
|
-
"BiometricPrompt.AuthenticationCallback" -> callBiometricPrompt_AuthenticationCallback(method, b)
|
|
25
|
-
"BiometricPrompt.AuthenticationResult" -> callBiometricPrompt_AuthenticationResult(method, b)
|
|
26
|
-
"BiometricPrompt.Builder" -> callBiometricPrompt_Builder(method, b)
|
|
27
|
-
"BiometricPrompt.CryptoObject" -> callBiometricPrompt_CryptoObject(method, b)
|
|
28
|
-
"PromptContentItemBulletedText" -> callPromptContentItemBulletedText(method, b)
|
|
29
|
-
"PromptContentItemPlainText" -> callPromptContentItemPlainText(method, b)
|
|
30
|
-
"PromptContentViewWithMoreOptionsButton" -> callPromptContentViewWithMoreOptionsButton(method, b)
|
|
31
|
-
"PromptContentViewWithMoreOptionsButton.Builder" -> callPromptContentViewWithMoreOptionsButton_Builder(method, b)
|
|
32
|
-
"PromptVerticalListContentView" -> callPromptVerticalListContentView(method, b)
|
|
33
|
-
"PromptVerticalListContentView.Builder" -> callPromptVerticalListContentView_Builder(method, b)
|
|
34
|
-
"Context" -> callContext(method, b)
|
|
35
|
-
"Context.BindServiceFlags" -> callContext_BindServiceFlags(method, b)
|
|
36
|
-
"CancellationSignal" -> callCancellationSignal(method, b)
|
|
37
|
-
"CancellationSignal.OnCancelListener" -> callCancellationSignal_OnCancelListener(method, b)
|
|
38
|
-
else -> throw TokamakPluginError.notSupported("$method is not supported")
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
override fun subscribeBytes(method: String, payload: ByteArray, reply: TokamakPluginBytesReply): () -> Unit {
|
|
43
|
-
val b = TokamakBinding(payload, host.resources, reply)
|
|
44
|
-
return when (method) {
|
|
45
|
-
"BiometricPrompt.AuthenticationCallback" -> {
|
|
46
|
-
if (Build.VERSION.SDK_INT < 28) throw TokamakBinding.unavailable
|
|
47
|
-
b.implement { BiometricPrompt_AuthenticationCallbackImplementation(it) }
|
|
48
|
-
}
|
|
49
|
-
"CancellationSignal.OnCancelListener" -> {
|
|
50
|
-
if (Build.VERSION.SDK_INT < 16) throw TokamakBinding.unavailable
|
|
51
|
-
b.implement { CancellationSignal_OnCancelListenerImplementation(it) }
|
|
52
|
-
}
|
|
53
|
-
else -> throw TokamakPluginError.notSupported("$method is not supported")
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
private fun callBiometricManager(method: String, b: TokamakBinding): (() -> Unit)? =
|
|
58
|
-
when (method) {
|
|
59
|
-
"BiometricManager#canAuthenticate()I" -> b.run { if (Build.VERSION.SDK_INT < 29) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.BiometricManager::class.java).canAuthenticate()) }
|
|
60
|
-
"BiometricManager#canAuthenticate(I)I" -> b.run { if (Build.VERSION.SDK_INT < 30) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.BiometricManager::class.java).canAuthenticate(b.int(b[0]))) }
|
|
61
|
-
"BiometricManager#getStrings(I)Landroid/hardware/biometrics/BiometricManager\$Strings;" -> b.run { if (Build.VERSION.SDK_INT < 31) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.BiometricManager::class.java).getStrings(b.int(b[0]))) }
|
|
62
|
-
"BiometricManager#getLastAuthenticationTime(I)J" -> b.run { if (Build.VERSION.SDK_INT < 35) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.BiometricManager::class.java).getLastAuthenticationTime(b.int(b[0]))) }
|
|
63
|
-
else -> throw TokamakPluginError.notSupported("$method is not supported")
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
private fun callBiometricManager_Strings(method: String, b: TokamakBinding): (() -> Unit)? =
|
|
67
|
-
when (method) {
|
|
68
|
-
"BiometricManager.Strings#getButtonLabel()Ljava/lang/CharSequence;" -> b.run { if (Build.VERSION.SDK_INT < 31) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.BiometricManager.Strings::class.java).getButtonLabel()) }
|
|
69
|
-
"BiometricManager.Strings#getPromptMessage()Ljava/lang/CharSequence;" -> b.run { if (Build.VERSION.SDK_INT < 31) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.BiometricManager.Strings::class.java).getPromptMessage()) }
|
|
70
|
-
"BiometricManager.Strings#getSettingName()Ljava/lang/CharSequence;" -> b.run { if (Build.VERSION.SDK_INT < 31) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.BiometricManager.Strings::class.java).getSettingName()) }
|
|
71
|
-
else -> throw TokamakPluginError.notSupported("$method is not supported")
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
private fun callBiometricPrompt(method: String, b: TokamakBinding): (() -> Unit)? =
|
|
75
|
-
when (method) {
|
|
76
|
-
"BiometricPrompt#authenticate(Landroid/hardware/biometrics/BiometricPrompt\$CryptoObject;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroid/hardware/biometrics/BiometricPrompt\$AuthenticationCallback;)V" -> b.run { if (Build.VERSION.SDK_INT < 28) throw TokamakBinding.unavailable; b.target(android.hardware.biometrics.BiometricPrompt::class.java).authenticate(b.obj(b[0], android.hardware.biometrics.BiometricPrompt.CryptoObject::class.java), b.obj(b[1], android.os.CancellationSignal::class.java), b.obj(b[2], java.util.concurrent.Executor::class.java), b.obj(b[3], android.hardware.biometrics.BiometricPrompt.AuthenticationCallback::class.java)); null }
|
|
77
|
-
"BiometricPrompt#authenticate(Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroid/hardware/biometrics/BiometricPrompt\$AuthenticationCallback;)V" -> b.run { if (Build.VERSION.SDK_INT < 28) throw TokamakBinding.unavailable; b.target(android.hardware.biometrics.BiometricPrompt::class.java).authenticate(b.obj(b[0], android.os.CancellationSignal::class.java), b.obj(b[1], java.util.concurrent.Executor::class.java), b.obj(b[2], android.hardware.biometrics.BiometricPrompt.AuthenticationCallback::class.java)); null }
|
|
78
|
-
"BiometricPrompt#getTitle()Ljava/lang/CharSequence;" -> b.run { if (Build.VERSION.SDK_INT < 30) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.BiometricPrompt::class.java).getTitle()) }
|
|
79
|
-
"BiometricPrompt#getSubtitle()Ljava/lang/CharSequence;" -> b.run { if (Build.VERSION.SDK_INT < 30) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.BiometricPrompt::class.java).getSubtitle()) }
|
|
80
|
-
"BiometricPrompt#getDescription()Ljava/lang/CharSequence;" -> b.run { if (Build.VERSION.SDK_INT < 30) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.BiometricPrompt::class.java).getDescription()) }
|
|
81
|
-
"BiometricPrompt#getNegativeButtonText()Ljava/lang/CharSequence;" -> b.run { if (Build.VERSION.SDK_INT < 30) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.BiometricPrompt::class.java).getNegativeButtonText()) }
|
|
82
|
-
"BiometricPrompt#isConfirmationRequired()Z" -> b.run { if (Build.VERSION.SDK_INT < 30) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.BiometricPrompt::class.java).isConfirmationRequired()) }
|
|
83
|
-
"BiometricPrompt#getAllowedAuthenticators()I" -> b.run { if (Build.VERSION.SDK_INT < 30) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.BiometricPrompt::class.java).getAllowedAuthenticators()) }
|
|
84
|
-
"BiometricPrompt#getLogoRes()I" -> b.run { if (Build.VERSION.SDK_INT < 35) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.BiometricPrompt::class.java).getLogoRes()) }
|
|
85
|
-
"BiometricPrompt#getLogoDescription()Ljava/lang/String;" -> b.run { if (Build.VERSION.SDK_INT < 35) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.BiometricPrompt::class.java).getLogoDescription()) }
|
|
86
|
-
"BiometricPrompt#getContentView()Landroid/hardware/biometrics/PromptContentView;" -> b.run { if (Build.VERSION.SDK_INT < 35) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.BiometricPrompt::class.java).getContentView()) }
|
|
87
|
-
else -> throw TokamakPluginError.notSupported("$method is not supported")
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
private fun callBiometricPrompt_AuthenticationCallback(method: String, b: TokamakBinding): (() -> Unit)? =
|
|
91
|
-
when (method) {
|
|
92
|
-
"BiometricPrompt.AuthenticationCallback#onAuthenticationError(ILjava/lang/CharSequence;)V" -> b.run { if (Build.VERSION.SDK_INT < 28) throw TokamakBinding.unavailable; b.target(android.hardware.biometrics.BiometricPrompt.AuthenticationCallback::class.java).onAuthenticationError(b.int(b[0]), b.optional(b[1]) { x1 -> b.string(x1) }); null }
|
|
93
|
-
"BiometricPrompt.AuthenticationCallback#onAuthenticationHelp(ILjava/lang/CharSequence;)V" -> b.run { if (Build.VERSION.SDK_INT < 28) throw TokamakBinding.unavailable; b.target(android.hardware.biometrics.BiometricPrompt.AuthenticationCallback::class.java).onAuthenticationHelp(b.int(b[0]), b.optional(b[1]) { x1 -> b.string(x1) }); null }
|
|
94
|
-
"BiometricPrompt.AuthenticationCallback#onAuthenticationSucceeded(Landroid/hardware/biometrics/BiometricPrompt\$AuthenticationResult;)V" -> b.run { if (Build.VERSION.SDK_INT < 28) throw TokamakBinding.unavailable; b.target(android.hardware.biometrics.BiometricPrompt.AuthenticationCallback::class.java).onAuthenticationSucceeded(b.optional(b[0]) { x1 -> b.obj(x1, android.hardware.biometrics.BiometricPrompt.AuthenticationResult::class.java) }); null }
|
|
95
|
-
"BiometricPrompt.AuthenticationCallback#onAuthenticationFailed()V" -> b.run { if (Build.VERSION.SDK_INT < 28) throw TokamakBinding.unavailable; b.target(android.hardware.biometrics.BiometricPrompt.AuthenticationCallback::class.java).onAuthenticationFailed(); null }
|
|
96
|
-
else -> throw TokamakPluginError.notSupported("$method is not supported")
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
private fun callBiometricPrompt_AuthenticationResult(method: String, b: TokamakBinding): (() -> Unit)? =
|
|
100
|
-
when (method) {
|
|
101
|
-
"BiometricPrompt.AuthenticationResult#getCryptoObject()Landroid/hardware/biometrics/BiometricPrompt\$CryptoObject;" -> b.run { if (Build.VERSION.SDK_INT < 28) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.BiometricPrompt.AuthenticationResult::class.java).getCryptoObject()) }
|
|
102
|
-
"BiometricPrompt.AuthenticationResult#getAuthenticationType()I" -> b.run { if (Build.VERSION.SDK_INT < 30) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.BiometricPrompt.AuthenticationResult::class.java).getAuthenticationType()) }
|
|
103
|
-
else -> throw TokamakPluginError.notSupported("$method is not supported")
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
private fun callBiometricPrompt_Builder(method: String, b: TokamakBinding): (() -> Unit)? =
|
|
107
|
-
when (method) {
|
|
108
|
-
"BiometricPrompt.Builder#<init>(Landroid/content/Context;)V" -> b.run { if (Build.VERSION.SDK_INT < 28) throw TokamakBinding.unavailable; b.encode(android.hardware.biometrics.BiometricPrompt.Builder(b.optional(b[0]) { x1 -> b.obj(x1, android.content.Context::class.java) })) }
|
|
109
|
-
"BiometricPrompt.Builder#setTitle(Ljava/lang/CharSequence;)Landroid/hardware/biometrics/BiometricPrompt\$Builder;" -> b.run { if (Build.VERSION.SDK_INT < 28) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.BiometricPrompt.Builder::class.java).setTitle(b.string(b[0]))) }
|
|
110
|
-
"BiometricPrompt.Builder#setSubtitle(Ljava/lang/CharSequence;)Landroid/hardware/biometrics/BiometricPrompt\$Builder;" -> b.run { if (Build.VERSION.SDK_INT < 28) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.BiometricPrompt.Builder::class.java).setSubtitle(b.string(b[0]))) }
|
|
111
|
-
"BiometricPrompt.Builder#setDescription(Ljava/lang/CharSequence;)Landroid/hardware/biometrics/BiometricPrompt\$Builder;" -> b.run { if (Build.VERSION.SDK_INT < 28) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.BiometricPrompt.Builder::class.java).setDescription(b.string(b[0]))) }
|
|
112
|
-
"BiometricPrompt.Builder#build()Landroid/hardware/biometrics/BiometricPrompt;" -> b.run { if (Build.VERSION.SDK_INT < 28) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.BiometricPrompt.Builder::class.java).build()) }
|
|
113
|
-
"BiometricPrompt.Builder#setConfirmationRequired(Z)Landroid/hardware/biometrics/BiometricPrompt\$Builder;" -> b.run { if (Build.VERSION.SDK_INT < 29) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.BiometricPrompt.Builder::class.java).setConfirmationRequired(b.boolean(b[0]))) }
|
|
114
|
-
"BiometricPrompt.Builder#setDeviceCredentialAllowed(Z)Landroid/hardware/biometrics/BiometricPrompt\$Builder;" -> b.run { if (Build.VERSION.SDK_INT < 29) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.BiometricPrompt.Builder::class.java).setDeviceCredentialAllowed(b.boolean(b[0]))) }
|
|
115
|
-
"BiometricPrompt.Builder#setAllowedAuthenticators(I)Landroid/hardware/biometrics/BiometricPrompt\$Builder;" -> b.run { if (Build.VERSION.SDK_INT < 30) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.BiometricPrompt.Builder::class.java).setAllowedAuthenticators(b.int(b[0]))) }
|
|
116
|
-
"BiometricPrompt.Builder#setLogoRes(I)Landroid/hardware/biometrics/BiometricPrompt\$Builder;" -> b.run { if (Build.VERSION.SDK_INT < 35) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.BiometricPrompt.Builder::class.java).setLogoRes(b.int(b[0]))) }
|
|
117
|
-
"BiometricPrompt.Builder#setLogoDescription(Ljava/lang/String;)Landroid/hardware/biometrics/BiometricPrompt\$Builder;" -> b.run { if (Build.VERSION.SDK_INT < 35) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.BiometricPrompt.Builder::class.java).setLogoDescription(b.string(b[0]))) }
|
|
118
|
-
"BiometricPrompt.Builder#setContentView(Landroid/hardware/biometrics/PromptContentView;)Landroid/hardware/biometrics/BiometricPrompt\$Builder;" -> b.run { if (Build.VERSION.SDK_INT < 35) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.BiometricPrompt.Builder::class.java).setContentView(b.obj(b[0], android.hardware.biometrics.PromptContentView::class.java))) }
|
|
119
|
-
else -> throw TokamakPluginError.notSupported("$method is not supported")
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
private fun callBiometricPrompt_CryptoObject(method: String, b: TokamakBinding): (() -> Unit)? =
|
|
123
|
-
when (method) {
|
|
124
|
-
"BiometricPrompt.CryptoObject#<init>(J)V" -> b.run { if (Build.VERSION.SDK_INT < 35) throw TokamakBinding.unavailable; b.encode(android.hardware.biometrics.BiometricPrompt.CryptoObject(b.long(b[0]))) }
|
|
125
|
-
"BiometricPrompt.CryptoObject#getOperationHandle()J" -> b.run { if (Build.VERSION.SDK_INT < 35) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.BiometricPrompt.CryptoObject::class.java).getOperationHandle()) }
|
|
126
|
-
else -> throw TokamakPluginError.notSupported("$method is not supported")
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
private fun callPromptContentItemBulletedText(method: String, b: TokamakBinding): (() -> Unit)? =
|
|
130
|
-
when (method) {
|
|
131
|
-
"PromptContentItemBulletedText#<init>(Ljava/lang/String;)V" -> b.run { if (Build.VERSION.SDK_INT < 35) throw TokamakBinding.unavailable; b.encode(android.hardware.biometrics.PromptContentItemBulletedText(b.string(b[0]))) }
|
|
132
|
-
"PromptContentItemBulletedText#describeContents()I" -> b.run { if (Build.VERSION.SDK_INT < 35) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.PromptContentItemBulletedText::class.java).describeContents()) }
|
|
133
|
-
else -> throw TokamakPluginError.notSupported("$method is not supported")
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
private fun callPromptContentItemPlainText(method: String, b: TokamakBinding): (() -> Unit)? =
|
|
137
|
-
when (method) {
|
|
138
|
-
"PromptContentItemPlainText#<init>(Ljava/lang/String;)V" -> b.run { if (Build.VERSION.SDK_INT < 35) throw TokamakBinding.unavailable; b.encode(android.hardware.biometrics.PromptContentItemPlainText(b.string(b[0]))) }
|
|
139
|
-
"PromptContentItemPlainText#describeContents()I" -> b.run { if (Build.VERSION.SDK_INT < 35) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.PromptContentItemPlainText::class.java).describeContents()) }
|
|
140
|
-
else -> throw TokamakPluginError.notSupported("$method is not supported")
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
private fun callPromptContentViewWithMoreOptionsButton(method: String, b: TokamakBinding): (() -> Unit)? =
|
|
144
|
-
when (method) {
|
|
145
|
-
"PromptContentViewWithMoreOptionsButton#getDescription()Ljava/lang/String;" -> b.run { if (Build.VERSION.SDK_INT < 35) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.PromptContentViewWithMoreOptionsButton::class.java).getDescription()) }
|
|
146
|
-
"PromptContentViewWithMoreOptionsButton#describeContents()I" -> b.run { if (Build.VERSION.SDK_INT < 35) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.PromptContentViewWithMoreOptionsButton::class.java).describeContents()) }
|
|
147
|
-
else -> throw TokamakPluginError.notSupported("$method is not supported")
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
private fun callPromptContentViewWithMoreOptionsButton_Builder(method: String, b: TokamakBinding): (() -> Unit)? =
|
|
151
|
-
when (method) {
|
|
152
|
-
"PromptContentViewWithMoreOptionsButton.Builder#<init>()V" -> b.run { if (Build.VERSION.SDK_INT < 35) throw TokamakBinding.unavailable; b.encode(android.hardware.biometrics.PromptContentViewWithMoreOptionsButton.Builder()) }
|
|
153
|
-
"PromptContentViewWithMoreOptionsButton.Builder#setDescription(Ljava/lang/String;)Landroid/hardware/biometrics/PromptContentViewWithMoreOptionsButton\$Builder;" -> b.run { if (Build.VERSION.SDK_INT < 35) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.PromptContentViewWithMoreOptionsButton.Builder::class.java).setDescription(b.string(b[0]))) }
|
|
154
|
-
"PromptContentViewWithMoreOptionsButton.Builder#build()Landroid/hardware/biometrics/PromptContentViewWithMoreOptionsButton;" -> b.run { if (Build.VERSION.SDK_INT < 35) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.PromptContentViewWithMoreOptionsButton.Builder::class.java).build()) }
|
|
155
|
-
else -> throw TokamakPluginError.notSupported("$method is not supported")
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
private fun callPromptVerticalListContentView(method: String, b: TokamakBinding): (() -> Unit)? =
|
|
159
|
-
when (method) {
|
|
160
|
-
"PromptVerticalListContentView#getMaxItemCount()I" -> b.run { if (Build.VERSION.SDK_INT < 35) throw TokamakBinding.unavailable; b.encode(android.hardware.biometrics.PromptVerticalListContentView.getMaxItemCount()) }
|
|
161
|
-
"PromptVerticalListContentView#getMaxEachItemCharacterNumber()I" -> b.run { if (Build.VERSION.SDK_INT < 35) throw TokamakBinding.unavailable; b.encode(android.hardware.biometrics.PromptVerticalListContentView.getMaxEachItemCharacterNumber()) }
|
|
162
|
-
"PromptVerticalListContentView#getDescription()Ljava/lang/String;" -> b.run { if (Build.VERSION.SDK_INT < 35) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.PromptVerticalListContentView::class.java).getDescription()) }
|
|
163
|
-
"PromptVerticalListContentView#getListItems()Ljava/util/List;" -> b.run { if (Build.VERSION.SDK_INT < 35) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.PromptVerticalListContentView::class.java).getListItems()) }
|
|
164
|
-
"PromptVerticalListContentView#describeContents()I" -> b.run { if (Build.VERSION.SDK_INT < 35) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.PromptVerticalListContentView::class.java).describeContents()) }
|
|
165
|
-
else -> throw TokamakPluginError.notSupported("$method is not supported")
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
private fun callPromptVerticalListContentView_Builder(method: String, b: TokamakBinding): (() -> Unit)? =
|
|
169
|
-
when (method) {
|
|
170
|
-
"PromptVerticalListContentView.Builder#<init>()V" -> b.run { if (Build.VERSION.SDK_INT < 35) throw TokamakBinding.unavailable; b.encode(android.hardware.biometrics.PromptVerticalListContentView.Builder()) }
|
|
171
|
-
"PromptVerticalListContentView.Builder#setDescription(Ljava/lang/String;)Landroid/hardware/biometrics/PromptVerticalListContentView\$Builder;" -> b.run { if (Build.VERSION.SDK_INT < 35) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.PromptVerticalListContentView.Builder::class.java).setDescription(b.string(b[0]))) }
|
|
172
|
-
"PromptVerticalListContentView.Builder#addListItem(Landroid/hardware/biometrics/PromptContentItem;)Landroid/hardware/biometrics/PromptVerticalListContentView\$Builder;" -> b.run { if (Build.VERSION.SDK_INT < 35) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.PromptVerticalListContentView.Builder::class.java).addListItem(b.obj(b[0], android.hardware.biometrics.PromptContentItem::class.java))) }
|
|
173
|
-
"PromptVerticalListContentView.Builder#addListItem(Landroid/hardware/biometrics/PromptContentItem;I)Landroid/hardware/biometrics/PromptVerticalListContentView\$Builder;" -> b.run { if (Build.VERSION.SDK_INT < 35) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.PromptVerticalListContentView.Builder::class.java).addListItem(b.obj(b[0], android.hardware.biometrics.PromptContentItem::class.java), b.int(b[1]))) }
|
|
174
|
-
"PromptVerticalListContentView.Builder#build()Landroid/hardware/biometrics/PromptVerticalListContentView;" -> b.run { if (Build.VERSION.SDK_INT < 35) throw TokamakBinding.unavailable; b.encode(b.target(android.hardware.biometrics.PromptVerticalListContentView.Builder::class.java).build()) }
|
|
175
|
-
else -> throw TokamakPluginError.notSupported("$method is not supported")
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
private fun callContext(method: String, b: TokamakBinding): (() -> Unit)? =
|
|
179
|
-
when (method) {
|
|
180
|
-
"Context#getApplicationContext()Landroid/content/Context;" -> b.run { b.encode(b.target(android.content.Context::class.java).getApplicationContext()) }
|
|
181
|
-
"Context#getText(I)Ljava/lang/CharSequence;" -> b.run { b.encode(b.target(android.content.Context::class.java).getText(b.int(b[0]))) }
|
|
182
|
-
"Context#getString(I)Ljava/lang/String;" -> b.run { b.encode(b.target(android.content.Context::class.java).getString(b.int(b[0]))) }
|
|
183
|
-
"Context#getString(I[Ljava/lang/Object;)Ljava/lang/String;" -> b.run { b.encode(b.target(android.content.Context::class.java).getString(b.int(b[0]), *b.list(b[1]) { x1 -> b.optional(x1) { x2 -> b.any(x2) } }.toTypedArray())) }
|
|
184
|
-
"Context#setTheme(I)V" -> b.run { b.target(android.content.Context::class.java).setTheme(b.int(b[0])); null }
|
|
185
|
-
"Context#getPackageName()Ljava/lang/String;" -> b.run { b.encode(b.target(android.content.Context::class.java).getPackageName()) }
|
|
186
|
-
"Context#deleteFile(Ljava/lang/String;)Z" -> b.run { b.encode(b.target(android.content.Context::class.java).deleteFile(b.optional(b[0]) { x1 -> b.string(x1) })) }
|
|
187
|
-
"Context#fileList()[Ljava/lang/String;" -> b.run { b.encode(b.target(android.content.Context::class.java).fileList()) }
|
|
188
|
-
"Context#deleteDatabase(Ljava/lang/String;)Z" -> b.run { b.encode(b.target(android.content.Context::class.java).deleteDatabase(b.optional(b[0]) { x1 -> b.string(x1) })) }
|
|
189
|
-
"Context#databaseList()[Ljava/lang/String;" -> b.run { b.encode(b.target(android.content.Context::class.java).databaseList()) }
|
|
190
|
-
"Context#getWallpaperDesiredMinimumWidth()I" -> b.run { b.encode(b.target(android.content.Context::class.java).getWallpaperDesiredMinimumWidth()) }
|
|
191
|
-
"Context#getWallpaperDesiredMinimumHeight()I" -> b.run { b.encode(b.target(android.content.Context::class.java).getWallpaperDesiredMinimumHeight()) }
|
|
192
|
-
"Context#clearWallpaper()V" -> b.run { b.target(android.content.Context::class.java).clearWallpaper(); null }
|
|
193
|
-
"Context#getSystemService(Ljava/lang/String;)Ljava/lang/Object;" -> b.run { b.encode(b.target(android.content.Context::class.java).getSystemService(b.string(b[0]))) }
|
|
194
|
-
"Context#checkPermission(Ljava/lang/String;II)I" -> b.run { b.encode(b.target(android.content.Context::class.java).checkPermission(b.string(b[0]), b.int(b[1]), b.int(b[2]))) }
|
|
195
|
-
"Context#checkCallingPermission(Ljava/lang/String;)I" -> b.run { b.encode(b.target(android.content.Context::class.java).checkCallingPermission(b.string(b[0]))) }
|
|
196
|
-
"Context#checkCallingOrSelfPermission(Ljava/lang/String;)I" -> b.run { b.encode(b.target(android.content.Context::class.java).checkCallingOrSelfPermission(b.string(b[0]))) }
|
|
197
|
-
"Context#enforcePermission(Ljava/lang/String;IILjava/lang/String;)V" -> b.run { b.target(android.content.Context::class.java).enforcePermission(b.string(b[0]), b.int(b[1]), b.int(b[2]), b.optional(b[3]) { x1 -> b.string(x1) }); null }
|
|
198
|
-
"Context#enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V" -> b.run { b.target(android.content.Context::class.java).enforceCallingPermission(b.string(b[0]), b.optional(b[1]) { x1 -> b.string(x1) }); null }
|
|
199
|
-
"Context#enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V" -> b.run { b.target(android.content.Context::class.java).enforceCallingOrSelfPermission(b.string(b[0]), b.optional(b[1]) { x1 -> b.string(x1) }); null }
|
|
200
|
-
"Context#createPackageContext(Ljava/lang/String;I)Landroid/content/Context;" -> b.run { b.encode(b.target(android.content.Context::class.java).createPackageContext(b.optional(b[0]) { x1 -> b.string(x1) }, b.int(b[1]))) }
|
|
201
|
-
"Context#isRestricted()Z" -> b.run { if (Build.VERSION.SDK_INT < 4) throw TokamakBinding.unavailable; b.encode(b.target(android.content.Context::class.java).isRestricted()) }
|
|
202
|
-
"Context#getPackageResourcePath()Ljava/lang/String;" -> b.run { if (Build.VERSION.SDK_INT < 8) throw TokamakBinding.unavailable; b.encode(b.target(android.content.Context::class.java).getPackageResourcePath()) }
|
|
203
|
-
"Context#getPackageCodePath()Ljava/lang/String;" -> b.run { if (Build.VERSION.SDK_INT < 8) throw TokamakBinding.unavailable; b.encode(b.target(android.content.Context::class.java).getPackageCodePath()) }
|
|
204
|
-
"Context#getColor(I)I" -> b.run { if (Build.VERSION.SDK_INT < 23) throw TokamakBinding.unavailable; b.encode(b.target(android.content.Context::class.java).getColor(b.int(b[0]))) }
|
|
205
|
-
"Context#checkSelfPermission(Ljava/lang/String;)I" -> b.run { if (Build.VERSION.SDK_INT < 23) throw TokamakBinding.unavailable; b.encode(b.target(android.content.Context::class.java).checkSelfPermission(b.string(b[0]))) }
|
|
206
|
-
"Context#moveSharedPreferencesFrom(Landroid/content/Context;Ljava/lang/String;)Z" -> b.run { if (Build.VERSION.SDK_INT < 24) throw TokamakBinding.unavailable; b.encode(b.target(android.content.Context::class.java).moveSharedPreferencesFrom(b.optional(b[0]) { x1 -> b.obj(x1, android.content.Context::class.java) }, b.optional(b[1]) { x1 -> b.string(x1) })) }
|
|
207
|
-
"Context#deleteSharedPreferences(Ljava/lang/String;)Z" -> b.run { if (Build.VERSION.SDK_INT < 24) throw TokamakBinding.unavailable; b.encode(b.target(android.content.Context::class.java).deleteSharedPreferences(b.optional(b[0]) { x1 -> b.string(x1) })) }
|
|
208
|
-
"Context#moveDatabaseFrom(Landroid/content/Context;Ljava/lang/String;)Z" -> b.run { if (Build.VERSION.SDK_INT < 24) throw TokamakBinding.unavailable; b.encode(b.target(android.content.Context::class.java).moveDatabaseFrom(b.optional(b[0]) { x1 -> b.obj(x1, android.content.Context::class.java) }, b.optional(b[1]) { x1 -> b.string(x1) })) }
|
|
209
|
-
"Context#createDeviceProtectedStorageContext()Landroid/content/Context;" -> b.run { if (Build.VERSION.SDK_INT < 24) throw TokamakBinding.unavailable; b.encode(b.target(android.content.Context::class.java).createDeviceProtectedStorageContext()) }
|
|
210
|
-
"Context#isDeviceProtectedStorage()Z" -> b.run { if (Build.VERSION.SDK_INT < 24) throw TokamakBinding.unavailable; b.encode(b.target(android.content.Context::class.java).isDeviceProtectedStorage()) }
|
|
211
|
-
"Context#createContextForSplit(Ljava/lang/String;)Landroid/content/Context;" -> b.run { if (Build.VERSION.SDK_INT < 26) throw TokamakBinding.unavailable; b.encode(b.target(android.content.Context::class.java).createContextForSplit(b.optional(b[0]) { x1 -> b.string(x1) })) }
|
|
212
|
-
"Context#getMainExecutor()Ljava/util/concurrent/Executor;" -> b.run { if (Build.VERSION.SDK_INT < 28) throw TokamakBinding.unavailable; b.encode(b.target(android.content.Context::class.java).getMainExecutor()) }
|
|
213
|
-
"Context#getOpPackageName()Ljava/lang/String;" -> b.run { if (Build.VERSION.SDK_INT < 29) throw TokamakBinding.unavailable; b.encode(b.target(android.content.Context::class.java).getOpPackageName()) }
|
|
214
|
-
"Context#getAttributionTag()Ljava/lang/String;" -> b.run { if (Build.VERSION.SDK_INT < 30) throw TokamakBinding.unavailable; b.encode(b.target(android.content.Context::class.java).getAttributionTag()) }
|
|
215
|
-
"Context#createAttributionContext(Ljava/lang/String;)Landroid/content/Context;" -> b.run { if (Build.VERSION.SDK_INT < 30) throw TokamakBinding.unavailable; b.encode(b.target(android.content.Context::class.java).createAttributionContext(b.optional(b[0]) { x1 -> b.string(x1) })) }
|
|
216
|
-
"Context#isUiContext()Z" -> b.run { if (Build.VERSION.SDK_INT < 31) throw TokamakBinding.unavailable; b.encode(b.target(android.content.Context::class.java).isUiContext()) }
|
|
217
|
-
"Context#revokeSelfPermissionOnKill(Ljava/lang/String;)V" -> b.run { if (Build.VERSION.SDK_INT < 33) throw TokamakBinding.unavailable; b.target(android.content.Context::class.java).revokeSelfPermissionOnKill(b.string(b[0])); null }
|
|
218
|
-
"Context#revokeSelfPermissionsOnKill(Ljava/util/Collection;)V" -> b.run { if (Build.VERSION.SDK_INT < 33) throw TokamakBinding.unavailable; b.target(android.content.Context::class.java).revokeSelfPermissionsOnKill(b.list(b[0]) { x1 -> b.optional(x1) { x2 -> b.string(x2) } }); null }
|
|
219
|
-
"Context#createDeviceContext(I)Landroid/content/Context;" -> b.run { if (Build.VERSION.SDK_INT < 34) throw TokamakBinding.unavailable; b.encode(b.target(android.content.Context::class.java).createDeviceContext(b.int(b[0]))) }
|
|
220
|
-
"Context#getDeviceId()I" -> b.run { if (Build.VERSION.SDK_INT < 34) throw TokamakBinding.unavailable; b.encode(b.target(android.content.Context::class.java).getDeviceId()) }
|
|
221
|
-
else -> throw TokamakPluginError.notSupported("$method is not supported")
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
private fun callContext_BindServiceFlags(method: String, b: TokamakBinding): (() -> Unit)? =
|
|
225
|
-
when (method) {
|
|
226
|
-
"Context.BindServiceFlags#of(J)Landroid/content/Context\$BindServiceFlags;" -> b.run { if (Build.VERSION.SDK_INT < 34) throw TokamakBinding.unavailable; b.encode(android.content.Context.BindServiceFlags.of(b.long(b[0]))) }
|
|
227
|
-
else -> throw TokamakPluginError.notSupported("$method is not supported")
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
private fun callCancellationSignal(method: String, b: TokamakBinding): (() -> Unit)? =
|
|
231
|
-
when (method) {
|
|
232
|
-
"CancellationSignal#<init>()V" -> b.run { if (Build.VERSION.SDK_INT < 16) throw TokamakBinding.unavailable; b.encode(android.os.CancellationSignal()) }
|
|
233
|
-
"CancellationSignal#isCanceled()Z" -> b.run { if (Build.VERSION.SDK_INT < 16) throw TokamakBinding.unavailable; b.encode(b.target(android.os.CancellationSignal::class.java).isCanceled()) }
|
|
234
|
-
"CancellationSignal#throwIfCanceled()V" -> b.run { if (Build.VERSION.SDK_INT < 16) throw TokamakBinding.unavailable; b.target(android.os.CancellationSignal::class.java).throwIfCanceled(); null }
|
|
235
|
-
"CancellationSignal#cancel()V" -> b.run { if (Build.VERSION.SDK_INT < 16) throw TokamakBinding.unavailable; b.target(android.os.CancellationSignal::class.java).cancel(); null }
|
|
236
|
-
"CancellationSignal#setOnCancelListener(Landroid/os/CancellationSignal\$OnCancelListener;)V" -> b.run { if (Build.VERSION.SDK_INT < 16) throw TokamakBinding.unavailable; b.target(android.os.CancellationSignal::class.java).setOnCancelListener(b.optional(b[0]) { x1 -> b.obj(x1, android.os.CancellationSignal.OnCancelListener::class.java) }); null }
|
|
237
|
-
else -> throw TokamakPluginError.notSupported("$method is not supported")
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
private fun callCancellationSignal_OnCancelListener(method: String, b: TokamakBinding): (() -> Unit)? =
|
|
241
|
-
when (method) {
|
|
242
|
-
"CancellationSignal.OnCancelListener#onCancel()V" -> b.run { if (Build.VERSION.SDK_INT < 16) throw TokamakBinding.unavailable; b.target(android.os.CancellationSignal.OnCancelListener::class.java).onCancel(); null }
|
|
243
|
-
else -> throw TokamakPluginError.notSupported("$method is not supported")
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
@androidx.annotation.RequiresApi(28)
|
|
247
|
-
private class BiometricPrompt_AuthenticationCallbackImplementation(private val binding: TokamakBinding) : android.hardware.biometrics.BiometricPrompt.AuthenticationCallback() {
|
|
248
|
-
override fun onAuthenticationError(errorCode: Int, errString: CharSequence?) {
|
|
249
|
-
if (!binding.call("onAuthenticationError") { b -> listOf(b.encode(errorCode), b.encode(errString)) }) super.onAuthenticationError(errorCode, errString)
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
override fun onAuthenticationHelp(helpCode: Int, helpString: CharSequence?) {
|
|
253
|
-
if (!binding.call("onAuthenticationHelp") { b -> listOf(b.encode(helpCode), b.encode(helpString)) }) super.onAuthenticationHelp(helpCode, helpString)
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
override fun onAuthenticationSucceeded(result: android.hardware.biometrics.BiometricPrompt.AuthenticationResult?) {
|
|
257
|
-
if (!binding.call("onAuthenticationSucceeded") { b -> listOf(b.encode(result)) }) super.onAuthenticationSucceeded(result)
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
override fun onAuthenticationFailed() {
|
|
261
|
-
if (!binding.call("onAuthenticationFailed") { b -> listOf() }) super.onAuthenticationFailed()
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
@androidx.annotation.RequiresApi(16)
|
|
266
|
-
private class CancellationSignal_OnCancelListenerImplementation(private val binding: TokamakBinding) : android.os.CancellationSignal.OnCancelListener {
|
|
267
|
-
override fun onCancel() {
|
|
268
|
-
binding.call("onCancel") { b -> listOf() }
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
}
|