@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 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.126",
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.126"
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
  }
@@ -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
  }
@@ -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
- }