@capawesome/capacitor-pixlive 0.0.1
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/CapawesomeCapacitorPixlive.podspec +30 -0
- package/Package.swift +28 -0
- package/README.md +1012 -0
- package/android/build.gradle +64 -0
- package/android/src/main/AndroidManifest.xml +8 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/pixlive/Pixlive.java +704 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/pixlive/PixliveHelper.java +112 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/pixlive/PixlivePlugin.java +691 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/pixlive/TouchInterceptorView.java +94 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/pixlive/classes/CustomException.java +20 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/pixlive/classes/CustomExceptions.java +29 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/pixlive/classes/options/ActivateContextOptions.java +29 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/pixlive/classes/options/CreateARViewOptions.java +68 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/pixlive/classes/options/EnableContextsWithTagsOptions.java +30 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/pixlive/classes/options/GetContextOptions.java +29 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/pixlive/classes/options/GetGPSPointsInBoundingBoxOptions.java +68 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/pixlive/classes/options/GetNearbyGPSPointsOptions.java +40 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/pixlive/classes/options/ResizeARViewOptions.java +68 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/pixlive/classes/options/SetARViewTouchEnabledOptions.java +26 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/pixlive/classes/options/SetARViewTouchHoleOptions.java +68 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/pixlive/classes/options/SetInterfaceLanguageOptions.java +29 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/pixlive/classes/options/SetNotificationsSupportOptions.java +26 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/pixlive/classes/options/SynchronizeOptions.java +30 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/pixlive/classes/options/SynchronizeWithToursAndContextsOptions.java +66 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/pixlive/classes/options/UpdateTagMappingOptions.java +30 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/pixlive/classes/results/GetContextResult.java +23 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/pixlive/classes/results/GetContextsResult.java +24 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/pixlive/classes/results/GetGPSPointsInBoundingBoxResult.java +24 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/pixlive/classes/results/GetNearbyBeaconsResult.java +24 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/pixlive/classes/results/GetNearbyGPSPointsResult.java +24 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/pixlive/classes/results/GetVersionResult.java +24 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/pixlive/interfaces/Callback.java +5 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/pixlive/interfaces/EmptyCallback.java +5 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/pixlive/interfaces/NonEmptyCallback.java +7 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/pixlive/interfaces/NonEmptyResultCallback.java +7 -0
- package/android/src/main/java/io/capawesome/capacitorjs/plugins/pixlive/interfaces/Result.java +7 -0
- package/android/src/main/res/.gitkeep +0 -0
- package/dist/docs.json +2107 -0
- package/dist/esm/definitions.d.ts +825 -0
- package/dist/esm/definitions.js +2 -0
- package/dist/esm/definitions.js.map +1 -0
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.js +7 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/web.d.ts +31 -0
- package/dist/esm/web.js +85 -0
- package/dist/esm/web.js.map +1 -0
- package/dist/plugin.cjs.js +99 -0
- package/dist/plugin.cjs.js.map +1 -0
- package/dist/plugin.js +102 -0
- package/dist/plugin.js.map +1 -0
- package/ios/Plugin/CapacitorARViewController.swift +17 -0
- package/ios/Plugin/Classes/Options/ActivateContextOptions.swift +16 -0
- package/ios/Plugin/Classes/Options/CreateARViewOptions.swift +47 -0
- package/ios/Plugin/Classes/Options/EnableContextsWithTagsOptions.swift +16 -0
- package/ios/Plugin/Classes/Options/GetContextOptions.swift +16 -0
- package/ios/Plugin/Classes/Options/GetGPSPointsInBoundingBoxOptions.swift +43 -0
- package/ios/Plugin/Classes/Options/GetNearbyGPSPointsOptions.swift +25 -0
- package/ios/Plugin/Classes/Options/ResizeARViewOptions.swift +47 -0
- package/ios/Plugin/Classes/Options/SetARViewTouchEnabledOptions.swift +16 -0
- package/ios/Plugin/Classes/Options/SetARViewTouchHoleOptions.swift +43 -0
- package/ios/Plugin/Classes/Options/SetInterfaceLanguageOptions.swift +16 -0
- package/ios/Plugin/Classes/Options/SetNotificationsSupportOptions.swift +16 -0
- package/ios/Plugin/Classes/Options/SynchronizeOptions.swift +16 -0
- package/ios/Plugin/Classes/Options/SynchronizeWithToursAndContextsOptions.swift +34 -0
- package/ios/Plugin/Classes/Options/UpdateTagMappingOptions.swift +16 -0
- package/ios/Plugin/Classes/Results/GetContextResult.swift +16 -0
- package/ios/Plugin/Classes/Results/GetContextsResult.swift +16 -0
- package/ios/Plugin/Classes/Results/GetGPSPointsInBoundingBoxResult.swift +16 -0
- package/ios/Plugin/Classes/Results/GetNearbyBeaconsResult.swift +16 -0
- package/ios/Plugin/Classes/Results/GetNearbyGPSPointsResult.swift +16 -0
- package/ios/Plugin/Classes/Results/GetVersionResult.swift +16 -0
- package/ios/Plugin/Enums/CustomError.swift +86 -0
- package/ios/Plugin/Info.plist +24 -0
- package/ios/Plugin/Pixlive.swift +495 -0
- package/ios/Plugin/PixliveHelper.swift +91 -0
- package/ios/Plugin/PixlivePlugin.swift +503 -0
- package/ios/Plugin/Protocols/Result.swift +6 -0
- package/ios/Plugin/TouchForwarderView.swift +24 -0
- package/package.json +93 -0
|
@@ -0,0 +1,691 @@
|
|
|
1
|
+
package io.capawesome.capacitorjs.plugins.pixlive;
|
|
2
|
+
|
|
3
|
+
import android.Manifest;
|
|
4
|
+
import android.os.Build;
|
|
5
|
+
import androidx.annotation.NonNull;
|
|
6
|
+
import androidx.annotation.Nullable;
|
|
7
|
+
import com.getcapacitor.JSArray;
|
|
8
|
+
import com.getcapacitor.JSObject;
|
|
9
|
+
import com.getcapacitor.Logger;
|
|
10
|
+
import com.getcapacitor.PermissionState;
|
|
11
|
+
import com.getcapacitor.Plugin;
|
|
12
|
+
import com.getcapacitor.PluginCall;
|
|
13
|
+
import com.getcapacitor.PluginMethod;
|
|
14
|
+
import com.getcapacitor.annotation.CapacitorPlugin;
|
|
15
|
+
import com.getcapacitor.annotation.Permission;
|
|
16
|
+
import com.getcapacitor.annotation.PermissionCallback;
|
|
17
|
+
import io.capawesome.capacitorjs.plugins.pixlive.classes.options.*;
|
|
18
|
+
import io.capawesome.capacitorjs.plugins.pixlive.classes.results.*;
|
|
19
|
+
import io.capawesome.capacitorjs.plugins.pixlive.interfaces.*;
|
|
20
|
+
import java.util.ArrayList;
|
|
21
|
+
import java.util.List;
|
|
22
|
+
|
|
23
|
+
@CapacitorPlugin(
|
|
24
|
+
name = "Pixlive",
|
|
25
|
+
permissions = {
|
|
26
|
+
@Permission(strings = { Manifest.permission.BLUETOOTH }, alias = PixlivePlugin.PERMISSION_BLUETOOTH),
|
|
27
|
+
@Permission(strings = { Manifest.permission.BLUETOOTH_CONNECT }, alias = PixlivePlugin.PERMISSION_BLUETOOTH_CONNECT),
|
|
28
|
+
@Permission(strings = { Manifest.permission.BLUETOOTH_SCAN }, alias = PixlivePlugin.PERMISSION_BLUETOOTH_SCAN),
|
|
29
|
+
@Permission(strings = { Manifest.permission.CAMERA }, alias = PixlivePlugin.PERMISSION_CAMERA),
|
|
30
|
+
@Permission(strings = { Manifest.permission.ACCESS_FINE_LOCATION }, alias = PixlivePlugin.PERMISSION_LOCATION),
|
|
31
|
+
@Permission(strings = { Manifest.permission.POST_NOTIFICATIONS }, alias = PixlivePlugin.PERMISSION_NOTIFICATIONS)
|
|
32
|
+
}
|
|
33
|
+
)
|
|
34
|
+
public class PixlivePlugin extends Plugin {
|
|
35
|
+
|
|
36
|
+
public static final String TAG = "Pixlive";
|
|
37
|
+
public static final String ERROR_UNKNOWN_ERROR = "An unknown error occurred.";
|
|
38
|
+
|
|
39
|
+
static final String PERMISSION_BLUETOOTH = "bluetooth";
|
|
40
|
+
static final String PERMISSION_BLUETOOTH_CONNECT = "bluetoothConnect";
|
|
41
|
+
static final String PERMISSION_BLUETOOTH_SCAN = "bluetoothScan";
|
|
42
|
+
static final String PERMISSION_CAMERA = "camera";
|
|
43
|
+
static final String PERMISSION_LOCATION = "location";
|
|
44
|
+
static final String PERMISSION_NOTIFICATIONS = "notifications";
|
|
45
|
+
|
|
46
|
+
private static final String CALLBACK_PERMISSION = "handlePermissionCallback";
|
|
47
|
+
|
|
48
|
+
private Pixlive implementation;
|
|
49
|
+
|
|
50
|
+
@Override
|
|
51
|
+
public void load() {
|
|
52
|
+
implementation = new Pixlive(this);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
@Override
|
|
56
|
+
protected void handleOnPause() {
|
|
57
|
+
super.handleOnPause();
|
|
58
|
+
if (implementation != null) {
|
|
59
|
+
implementation.handleOnPause();
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
@Override
|
|
64
|
+
protected void handleOnResume() {
|
|
65
|
+
super.handleOnResume();
|
|
66
|
+
if (implementation != null) {
|
|
67
|
+
implementation.handleOnResume();
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
@Override
|
|
72
|
+
protected void handleOnDestroy() {
|
|
73
|
+
if (implementation != null) {
|
|
74
|
+
implementation.handleOnDestroy();
|
|
75
|
+
}
|
|
76
|
+
super.handleOnDestroy();
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
@PluginMethod
|
|
80
|
+
public void initialize(PluginCall call) {
|
|
81
|
+
try {
|
|
82
|
+
EmptyCallback callback = new EmptyCallback() {
|
|
83
|
+
@Override
|
|
84
|
+
public void success() {
|
|
85
|
+
resolveCall(call);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
@Override
|
|
89
|
+
public void error(@NonNull Exception exception) {
|
|
90
|
+
rejectCall(call, exception);
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
assert implementation != null;
|
|
95
|
+
implementation.initialize(callback);
|
|
96
|
+
} catch (Exception exception) {
|
|
97
|
+
rejectCall(call, exception);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
@PluginMethod
|
|
102
|
+
@Override
|
|
103
|
+
public void checkPermissions(PluginCall call) {
|
|
104
|
+
super.checkPermissions(call);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
@PluginMethod
|
|
108
|
+
@Override
|
|
109
|
+
public void requestPermissions(PluginCall call) {
|
|
110
|
+
try {
|
|
111
|
+
List<String> aliases = getPermissionAliasesFromCall(call);
|
|
112
|
+
String[] aliasArray = aliases.toArray(new String[0]);
|
|
113
|
+
requestPermissionForAliases(aliasArray, call, CALLBACK_PERMISSION);
|
|
114
|
+
} catch (Exception exception) {
|
|
115
|
+
rejectCall(call, exception);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
@PermissionCallback
|
|
120
|
+
private void handlePermissionCallback(PluginCall call) {
|
|
121
|
+
checkPermissions(call);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
@PluginMethod
|
|
125
|
+
public void synchronize(PluginCall call) {
|
|
126
|
+
try {
|
|
127
|
+
SynchronizeOptions options = new SynchronizeOptions(call);
|
|
128
|
+
EmptyCallback callback = new EmptyCallback() {
|
|
129
|
+
@Override
|
|
130
|
+
public void success() {
|
|
131
|
+
resolveCall(call);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
@Override
|
|
135
|
+
public void error(@NonNull Exception exception) {
|
|
136
|
+
rejectCall(call, exception);
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
assert implementation != null;
|
|
141
|
+
implementation.synchronize(options, callback);
|
|
142
|
+
} catch (Exception exception) {
|
|
143
|
+
rejectCall(call, exception);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
@PluginMethod
|
|
148
|
+
public void synchronizeWithToursAndContexts(PluginCall call) {
|
|
149
|
+
try {
|
|
150
|
+
SynchronizeWithToursAndContextsOptions options = new SynchronizeWithToursAndContextsOptions(call);
|
|
151
|
+
EmptyCallback callback = new EmptyCallback() {
|
|
152
|
+
@Override
|
|
153
|
+
public void success() {
|
|
154
|
+
resolveCall(call);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
@Override
|
|
158
|
+
public void error(@NonNull Exception exception) {
|
|
159
|
+
rejectCall(call, exception);
|
|
160
|
+
}
|
|
161
|
+
};
|
|
162
|
+
|
|
163
|
+
assert implementation != null;
|
|
164
|
+
implementation.synchronizeWithToursAndContexts(options, callback);
|
|
165
|
+
} catch (Exception exception) {
|
|
166
|
+
rejectCall(call, exception);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
@PluginMethod
|
|
171
|
+
public void updateTagMapping(PluginCall call) {
|
|
172
|
+
try {
|
|
173
|
+
UpdateTagMappingOptions options = new UpdateTagMappingOptions(call);
|
|
174
|
+
EmptyCallback callback = new EmptyCallback() {
|
|
175
|
+
@Override
|
|
176
|
+
public void success() {
|
|
177
|
+
resolveCall(call);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
@Override
|
|
181
|
+
public void error(@NonNull Exception exception) {
|
|
182
|
+
rejectCall(call, exception);
|
|
183
|
+
}
|
|
184
|
+
};
|
|
185
|
+
|
|
186
|
+
assert implementation != null;
|
|
187
|
+
implementation.updateTagMapping(options, callback);
|
|
188
|
+
} catch (Exception exception) {
|
|
189
|
+
rejectCall(call, exception);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
@PluginMethod
|
|
194
|
+
public void enableContextsWithTags(PluginCall call) {
|
|
195
|
+
try {
|
|
196
|
+
EnableContextsWithTagsOptions options = new EnableContextsWithTagsOptions(call);
|
|
197
|
+
EmptyCallback callback = new EmptyCallback() {
|
|
198
|
+
@Override
|
|
199
|
+
public void success() {
|
|
200
|
+
resolveCall(call);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
@Override
|
|
204
|
+
public void error(@NonNull Exception exception) {
|
|
205
|
+
rejectCall(call, exception);
|
|
206
|
+
}
|
|
207
|
+
};
|
|
208
|
+
|
|
209
|
+
assert implementation != null;
|
|
210
|
+
implementation.enableContextsWithTags(options, callback);
|
|
211
|
+
} catch (Exception exception) {
|
|
212
|
+
rejectCall(call, exception);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
@PluginMethod
|
|
217
|
+
public void getContexts(PluginCall call) {
|
|
218
|
+
try {
|
|
219
|
+
NonEmptyResultCallback<GetContextsResult> callback = new NonEmptyResultCallback<>() {
|
|
220
|
+
@Override
|
|
221
|
+
public void success(@NonNull GetContextsResult result) {
|
|
222
|
+
resolveCall(call, result);
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
@Override
|
|
226
|
+
public void error(@NonNull Exception exception) {
|
|
227
|
+
rejectCall(call, exception);
|
|
228
|
+
}
|
|
229
|
+
};
|
|
230
|
+
|
|
231
|
+
assert implementation != null;
|
|
232
|
+
implementation.getContexts(callback);
|
|
233
|
+
} catch (Exception exception) {
|
|
234
|
+
rejectCall(call, exception);
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
@PluginMethod
|
|
239
|
+
public void getContext(PluginCall call) {
|
|
240
|
+
try {
|
|
241
|
+
GetContextOptions options = new GetContextOptions(call);
|
|
242
|
+
NonEmptyResultCallback<GetContextResult> callback = new NonEmptyResultCallback<>() {
|
|
243
|
+
@Override
|
|
244
|
+
public void success(@NonNull GetContextResult result) {
|
|
245
|
+
resolveCall(call, result);
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
@Override
|
|
249
|
+
public void error(@NonNull Exception exception) {
|
|
250
|
+
rejectCall(call, exception);
|
|
251
|
+
}
|
|
252
|
+
};
|
|
253
|
+
|
|
254
|
+
assert implementation != null;
|
|
255
|
+
implementation.getContext(options, callback);
|
|
256
|
+
} catch (Exception exception) {
|
|
257
|
+
rejectCall(call, exception);
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
@PluginMethod
|
|
262
|
+
public void activateContext(PluginCall call) {
|
|
263
|
+
try {
|
|
264
|
+
ActivateContextOptions options = new ActivateContextOptions(call);
|
|
265
|
+
EmptyCallback callback = new EmptyCallback() {
|
|
266
|
+
@Override
|
|
267
|
+
public void success() {
|
|
268
|
+
resolveCall(call);
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
@Override
|
|
272
|
+
public void error(@NonNull Exception exception) {
|
|
273
|
+
rejectCall(call, exception);
|
|
274
|
+
}
|
|
275
|
+
};
|
|
276
|
+
|
|
277
|
+
assert implementation != null;
|
|
278
|
+
implementation.activateContext(options, callback);
|
|
279
|
+
} catch (Exception exception) {
|
|
280
|
+
rejectCall(call, exception);
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
@PluginMethod
|
|
285
|
+
public void stopContext(PluginCall call) {
|
|
286
|
+
try {
|
|
287
|
+
EmptyCallback callback = new EmptyCallback() {
|
|
288
|
+
@Override
|
|
289
|
+
public void success() {
|
|
290
|
+
resolveCall(call);
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
@Override
|
|
294
|
+
public void error(@NonNull Exception exception) {
|
|
295
|
+
rejectCall(call, exception);
|
|
296
|
+
}
|
|
297
|
+
};
|
|
298
|
+
|
|
299
|
+
assert implementation != null;
|
|
300
|
+
implementation.stopContext(callback);
|
|
301
|
+
} catch (Exception exception) {
|
|
302
|
+
rejectCall(call, exception);
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
@PluginMethod
|
|
307
|
+
public void getNearbyGPSPoints(PluginCall call) {
|
|
308
|
+
try {
|
|
309
|
+
GetNearbyGPSPointsOptions options = new GetNearbyGPSPointsOptions(call);
|
|
310
|
+
NonEmptyResultCallback<GetNearbyGPSPointsResult> callback = new NonEmptyResultCallback<>() {
|
|
311
|
+
@Override
|
|
312
|
+
public void success(@NonNull GetNearbyGPSPointsResult result) {
|
|
313
|
+
resolveCall(call, result);
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
@Override
|
|
317
|
+
public void error(@NonNull Exception exception) {
|
|
318
|
+
rejectCall(call, exception);
|
|
319
|
+
}
|
|
320
|
+
};
|
|
321
|
+
|
|
322
|
+
assert implementation != null;
|
|
323
|
+
implementation.getNearbyGPSPoints(options, callback);
|
|
324
|
+
} catch (Exception exception) {
|
|
325
|
+
rejectCall(call, exception);
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
@PluginMethod
|
|
330
|
+
public void getGPSPointsInBoundingBox(PluginCall call) {
|
|
331
|
+
try {
|
|
332
|
+
GetGPSPointsInBoundingBoxOptions options = new GetGPSPointsInBoundingBoxOptions(call);
|
|
333
|
+
NonEmptyResultCallback<GetGPSPointsInBoundingBoxResult> callback = new NonEmptyResultCallback<>() {
|
|
334
|
+
@Override
|
|
335
|
+
public void success(@NonNull GetGPSPointsInBoundingBoxResult result) {
|
|
336
|
+
resolveCall(call, result);
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
@Override
|
|
340
|
+
public void error(@NonNull Exception exception) {
|
|
341
|
+
rejectCall(call, exception);
|
|
342
|
+
}
|
|
343
|
+
};
|
|
344
|
+
|
|
345
|
+
assert implementation != null;
|
|
346
|
+
implementation.getGPSPointsInBoundingBox(options, callback);
|
|
347
|
+
} catch (Exception exception) {
|
|
348
|
+
rejectCall(call, exception);
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
@PluginMethod
|
|
353
|
+
public void getNearbyBeacons(PluginCall call) {
|
|
354
|
+
try {
|
|
355
|
+
NonEmptyResultCallback<GetNearbyBeaconsResult> callback = new NonEmptyResultCallback<>() {
|
|
356
|
+
@Override
|
|
357
|
+
public void success(@NonNull GetNearbyBeaconsResult result) {
|
|
358
|
+
resolveCall(call, result);
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
@Override
|
|
362
|
+
public void error(@NonNull Exception exception) {
|
|
363
|
+
rejectCall(call, exception);
|
|
364
|
+
}
|
|
365
|
+
};
|
|
366
|
+
|
|
367
|
+
assert implementation != null;
|
|
368
|
+
implementation.getNearbyBeacons(callback);
|
|
369
|
+
} catch (Exception exception) {
|
|
370
|
+
rejectCall(call, exception);
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
@PluginMethod
|
|
375
|
+
public void startNearbyGPSDetection(PluginCall call) {
|
|
376
|
+
try {
|
|
377
|
+
EmptyCallback callback = new EmptyCallback() {
|
|
378
|
+
@Override
|
|
379
|
+
public void success() {
|
|
380
|
+
resolveCall(call);
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
@Override
|
|
384
|
+
public void error(@NonNull Exception exception) {
|
|
385
|
+
rejectCall(call, exception);
|
|
386
|
+
}
|
|
387
|
+
};
|
|
388
|
+
|
|
389
|
+
assert implementation != null;
|
|
390
|
+
implementation.startNearbyGPSDetection(callback);
|
|
391
|
+
} catch (Exception exception) {
|
|
392
|
+
rejectCall(call, exception);
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
@PluginMethod
|
|
397
|
+
public void stopNearbyGPSDetection(PluginCall call) {
|
|
398
|
+
try {
|
|
399
|
+
EmptyCallback callback = new EmptyCallback() {
|
|
400
|
+
@Override
|
|
401
|
+
public void success() {
|
|
402
|
+
resolveCall(call);
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
@Override
|
|
406
|
+
public void error(@NonNull Exception exception) {
|
|
407
|
+
rejectCall(call, exception);
|
|
408
|
+
}
|
|
409
|
+
};
|
|
410
|
+
|
|
411
|
+
assert implementation != null;
|
|
412
|
+
implementation.stopNearbyGPSDetection(callback);
|
|
413
|
+
} catch (Exception exception) {
|
|
414
|
+
rejectCall(call, exception);
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
@PluginMethod
|
|
419
|
+
public void startGPSNotifications(PluginCall call) {
|
|
420
|
+
try {
|
|
421
|
+
EmptyCallback callback = new EmptyCallback() {
|
|
422
|
+
@Override
|
|
423
|
+
public void success() {
|
|
424
|
+
resolveCall(call);
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
@Override
|
|
428
|
+
public void error(@NonNull Exception exception) {
|
|
429
|
+
rejectCall(call, exception);
|
|
430
|
+
}
|
|
431
|
+
};
|
|
432
|
+
|
|
433
|
+
assert implementation != null;
|
|
434
|
+
implementation.startGPSNotifications(callback);
|
|
435
|
+
} catch (Exception exception) {
|
|
436
|
+
rejectCall(call, exception);
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
@PluginMethod
|
|
441
|
+
public void stopGPSNotifications(PluginCall call) {
|
|
442
|
+
try {
|
|
443
|
+
EmptyCallback callback = new EmptyCallback() {
|
|
444
|
+
@Override
|
|
445
|
+
public void success() {
|
|
446
|
+
resolveCall(call);
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
@Override
|
|
450
|
+
public void error(@NonNull Exception exception) {
|
|
451
|
+
rejectCall(call, exception);
|
|
452
|
+
}
|
|
453
|
+
};
|
|
454
|
+
|
|
455
|
+
assert implementation != null;
|
|
456
|
+
implementation.stopGPSNotifications(callback);
|
|
457
|
+
} catch (Exception exception) {
|
|
458
|
+
rejectCall(call, exception);
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
@PluginMethod
|
|
463
|
+
public void setNotificationsSupport(PluginCall call) {
|
|
464
|
+
try {
|
|
465
|
+
SetNotificationsSupportOptions options = new SetNotificationsSupportOptions(call);
|
|
466
|
+
EmptyCallback callback = new EmptyCallback() {
|
|
467
|
+
@Override
|
|
468
|
+
public void success() {
|
|
469
|
+
resolveCall(call);
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
@Override
|
|
473
|
+
public void error(@NonNull Exception exception) {
|
|
474
|
+
rejectCall(call, exception);
|
|
475
|
+
}
|
|
476
|
+
};
|
|
477
|
+
|
|
478
|
+
assert implementation != null;
|
|
479
|
+
implementation.setNotificationsSupport(options, callback);
|
|
480
|
+
} catch (Exception exception) {
|
|
481
|
+
rejectCall(call, exception);
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
@PluginMethod
|
|
486
|
+
public void setInterfaceLanguage(PluginCall call) {
|
|
487
|
+
try {
|
|
488
|
+
SetInterfaceLanguageOptions options = new SetInterfaceLanguageOptions(call);
|
|
489
|
+
EmptyCallback callback = new EmptyCallback() {
|
|
490
|
+
@Override
|
|
491
|
+
public void success() {
|
|
492
|
+
resolveCall(call);
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
@Override
|
|
496
|
+
public void error(@NonNull Exception exception) {
|
|
497
|
+
rejectCall(call, exception);
|
|
498
|
+
}
|
|
499
|
+
};
|
|
500
|
+
|
|
501
|
+
assert implementation != null;
|
|
502
|
+
implementation.setInterfaceLanguage(options, callback);
|
|
503
|
+
} catch (Exception exception) {
|
|
504
|
+
rejectCall(call, exception);
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
|
|
508
|
+
@PluginMethod
|
|
509
|
+
public void createARView(PluginCall call) {
|
|
510
|
+
try {
|
|
511
|
+
CreateARViewOptions options = new CreateARViewOptions(call);
|
|
512
|
+
EmptyCallback callback = new EmptyCallback() {
|
|
513
|
+
@Override
|
|
514
|
+
public void success() {
|
|
515
|
+
resolveCall(call);
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
@Override
|
|
519
|
+
public void error(@NonNull Exception exception) {
|
|
520
|
+
rejectCall(call, exception);
|
|
521
|
+
}
|
|
522
|
+
};
|
|
523
|
+
|
|
524
|
+
assert implementation != null;
|
|
525
|
+
implementation.createARView(options, callback);
|
|
526
|
+
} catch (Exception exception) {
|
|
527
|
+
rejectCall(call, exception);
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
|
|
531
|
+
@PluginMethod
|
|
532
|
+
public void destroyARView(PluginCall call) {
|
|
533
|
+
try {
|
|
534
|
+
EmptyCallback callback = new EmptyCallback() {
|
|
535
|
+
@Override
|
|
536
|
+
public void success() {
|
|
537
|
+
resolveCall(call);
|
|
538
|
+
}
|
|
539
|
+
|
|
540
|
+
@Override
|
|
541
|
+
public void error(@NonNull Exception exception) {
|
|
542
|
+
rejectCall(call, exception);
|
|
543
|
+
}
|
|
544
|
+
};
|
|
545
|
+
|
|
546
|
+
assert implementation != null;
|
|
547
|
+
implementation.destroyARView(callback);
|
|
548
|
+
} catch (Exception exception) {
|
|
549
|
+
rejectCall(call, exception);
|
|
550
|
+
}
|
|
551
|
+
}
|
|
552
|
+
|
|
553
|
+
@PluginMethod
|
|
554
|
+
public void resizeARView(PluginCall call) {
|
|
555
|
+
try {
|
|
556
|
+
ResizeARViewOptions options = new ResizeARViewOptions(call);
|
|
557
|
+
EmptyCallback callback = new EmptyCallback() {
|
|
558
|
+
@Override
|
|
559
|
+
public void success() {
|
|
560
|
+
resolveCall(call);
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
@Override
|
|
564
|
+
public void error(@NonNull Exception exception) {
|
|
565
|
+
rejectCall(call, exception);
|
|
566
|
+
}
|
|
567
|
+
};
|
|
568
|
+
|
|
569
|
+
assert implementation != null;
|
|
570
|
+
implementation.resizeARView(options, callback);
|
|
571
|
+
} catch (Exception exception) {
|
|
572
|
+
rejectCall(call, exception);
|
|
573
|
+
}
|
|
574
|
+
}
|
|
575
|
+
|
|
576
|
+
@PluginMethod
|
|
577
|
+
public void setARViewTouchEnabled(PluginCall call) {
|
|
578
|
+
try {
|
|
579
|
+
SetARViewTouchEnabledOptions options = new SetARViewTouchEnabledOptions(call);
|
|
580
|
+
EmptyCallback callback = new EmptyCallback() {
|
|
581
|
+
@Override
|
|
582
|
+
public void success() {
|
|
583
|
+
resolveCall(call);
|
|
584
|
+
}
|
|
585
|
+
|
|
586
|
+
@Override
|
|
587
|
+
public void error(@NonNull Exception exception) {
|
|
588
|
+
rejectCall(call, exception);
|
|
589
|
+
}
|
|
590
|
+
};
|
|
591
|
+
|
|
592
|
+
assert implementation != null;
|
|
593
|
+
implementation.setARViewTouchEnabled(options, callback);
|
|
594
|
+
} catch (Exception exception) {
|
|
595
|
+
rejectCall(call, exception);
|
|
596
|
+
}
|
|
597
|
+
}
|
|
598
|
+
|
|
599
|
+
@PluginMethod
|
|
600
|
+
public void setARViewTouchHole(PluginCall call) {
|
|
601
|
+
try {
|
|
602
|
+
SetARViewTouchHoleOptions options = new SetARViewTouchHoleOptions(call);
|
|
603
|
+
EmptyCallback callback = new EmptyCallback() {
|
|
604
|
+
@Override
|
|
605
|
+
public void success() {
|
|
606
|
+
resolveCall(call);
|
|
607
|
+
}
|
|
608
|
+
|
|
609
|
+
@Override
|
|
610
|
+
public void error(@NonNull Exception exception) {
|
|
611
|
+
rejectCall(call, exception);
|
|
612
|
+
}
|
|
613
|
+
};
|
|
614
|
+
|
|
615
|
+
assert implementation != null;
|
|
616
|
+
implementation.setARViewTouchHole(options, callback);
|
|
617
|
+
} catch (Exception exception) {
|
|
618
|
+
rejectCall(call, exception);
|
|
619
|
+
}
|
|
620
|
+
}
|
|
621
|
+
|
|
622
|
+
@PluginMethod
|
|
623
|
+
public void getVersion(PluginCall call) {
|
|
624
|
+
try {
|
|
625
|
+
NonEmptyResultCallback<GetVersionResult> callback = new NonEmptyResultCallback<>() {
|
|
626
|
+
@Override
|
|
627
|
+
public void success(@NonNull GetVersionResult result) {
|
|
628
|
+
resolveCall(call, result);
|
|
629
|
+
}
|
|
630
|
+
|
|
631
|
+
@Override
|
|
632
|
+
public void error(@NonNull Exception exception) {
|
|
633
|
+
rejectCall(call, exception);
|
|
634
|
+
}
|
|
635
|
+
};
|
|
636
|
+
|
|
637
|
+
assert implementation != null;
|
|
638
|
+
implementation.getVersion(callback);
|
|
639
|
+
} catch (Exception exception) {
|
|
640
|
+
rejectCall(call, exception);
|
|
641
|
+
}
|
|
642
|
+
}
|
|
643
|
+
|
|
644
|
+
public void notifyListenersFromImplementation(@NonNull String eventName, @NonNull JSObject data) {
|
|
645
|
+
notifyListeners(eventName, data);
|
|
646
|
+
}
|
|
647
|
+
|
|
648
|
+
@NonNull
|
|
649
|
+
private List<String> getPermissionAliasesFromCall(@NonNull PluginCall call) throws Exception {
|
|
650
|
+
JSArray permissionsArray = call.getArray("permissions");
|
|
651
|
+
List<String> aliases = new ArrayList<>();
|
|
652
|
+
if (permissionsArray != null) {
|
|
653
|
+
List<String> permissionsList = permissionsArray.toList();
|
|
654
|
+
for (String permission : permissionsList) {
|
|
655
|
+
aliases.add(permission);
|
|
656
|
+
}
|
|
657
|
+
} else {
|
|
658
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
|
|
659
|
+
aliases.add(PERMISSION_BLUETOOTH_CONNECT);
|
|
660
|
+
aliases.add(PERMISSION_BLUETOOTH_SCAN);
|
|
661
|
+
} else {
|
|
662
|
+
aliases.add(PERMISSION_BLUETOOTH);
|
|
663
|
+
}
|
|
664
|
+
aliases.add(PERMISSION_CAMERA);
|
|
665
|
+
aliases.add(PERMISSION_LOCATION);
|
|
666
|
+
aliases.add(PERMISSION_NOTIFICATIONS);
|
|
667
|
+
}
|
|
668
|
+
return aliases;
|
|
669
|
+
}
|
|
670
|
+
|
|
671
|
+
private void rejectCall(@NonNull PluginCall call, @NonNull Exception exception) {
|
|
672
|
+
String message = exception.getMessage();
|
|
673
|
+
if (message == null) {
|
|
674
|
+
message = ERROR_UNKNOWN_ERROR;
|
|
675
|
+
}
|
|
676
|
+
Logger.error(TAG, message, exception);
|
|
677
|
+
call.reject(message);
|
|
678
|
+
}
|
|
679
|
+
|
|
680
|
+
private void resolveCall(@NonNull PluginCall call) {
|
|
681
|
+
call.resolve();
|
|
682
|
+
}
|
|
683
|
+
|
|
684
|
+
private void resolveCall(@NonNull PluginCall call, @Nullable Result result) {
|
|
685
|
+
if (result == null) {
|
|
686
|
+
call.resolve();
|
|
687
|
+
} else {
|
|
688
|
+
call.resolve(result.toJSObject());
|
|
689
|
+
}
|
|
690
|
+
}
|
|
691
|
+
}
|