@situm/cordova 3.17.4 → 3.17.6
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/CHANGELOG_UNRELEASED.md +2 -9
- package/NOTICE.md +238 -0
- package/README.md +3 -3
- package/azure-pipelines.yml +2 -2
- package/docs/JSDoc/Interfaces.js.html +1 -5
- package/docs/JSDoc/MapView.html +2 -2
- package/docs/JSDoc/MapViewController.html +7 -7
- package/docs/JSDoc/Situm.html +407 -37
- package/docs/JSDoc/global.html +12 -58
- package/docs/JSDoc/index.html +1 -1
- package/docs/JSDoc/map-view-controller.js.html +59 -208
- package/docs/JSDoc/map-view.js.html +14 -12
- package/docs/JSDoc/situm.js.html +47 -1
- package/example/.browserslistrc +6 -6
- package/example/README.md +1 -10
- package/example/android/capacitor.settings.gradle +1 -1
- package/example/azure/build-examples.yaml +4 -2
- package/example/azure/common-steps.yaml +0 -3
- package/example/ios/App/Podfile +3 -3
- package/example/package.json +30 -31
- package/example/src/app/sdk/sdk.page.ts +7 -12
- package/example/src/app/wyf/wyf.page.ts +2 -1
- package/package.json +4 -9
- package/plugin.xml +3 -2
- package/pnpm-workspace.yaml +10 -2
- package/src/android/app/build.gradle +5 -5
- package/src/android/app/src/main/AndroidManifest.xml +1 -2
- package/src/android/app/src/main/java/es/situm/plugin/PluginHelper.java +22 -8
- package/src/android/app/src/main/java/es/situm/plugin/SitumMapper.java +0 -18
- package/src/android/build.gradle +1 -1
- package/src/android/gradle/wrapper/gradle-wrapper.properties +2 -2
- package/src/android/situm.gradle +1 -2
- package/www/Interfaces.js +0 -4
package/example/README.md
CHANGED
|
@@ -45,18 +45,9 @@ pnpm install
|
|
|
45
45
|
> [!TIP]
|
|
46
46
|
> You might want to try out this configuration if you are facing some issues to build our sample app:
|
|
47
47
|
>
|
|
48
|
-
> - node
|
|
49
|
-
> - @ionic/cli 7.1.5
|
|
50
|
-
> - gradle 8.4
|
|
48
|
+
> - node 20.19+, 22.12+, or 24+
|
|
51
49
|
> - java 17.0.6
|
|
52
50
|
|
|
53
|
-
> [!NOTE]
|
|
54
|
-
> Make sure you are using `@ionic/cli` and not the deprecated `ionic` npm package. Otherwise you won't be able to build the app and you will receive the following error:
|
|
55
|
-
|
|
56
|
-
```diff
|
|
57
|
-
- [ERROR] Invalid project type: angular-standalone (project config: ./ionic.config.json).
|
|
58
|
-
```
|
|
59
|
-
|
|
60
51
|
### Step 2: Set up your Situm credentials
|
|
61
52
|
|
|
62
53
|
This example provides you with a template on [`src/constants.ts.example`](src/constants.ts.example) to set all your credentials used on the sdk tab just in one file. So rename this file to `constants.ts` and set up your credentials before running the app:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// DO NOT EDIT THIS FILE! IT IS GENERATED EACH TIME "capacitor update" IS RUN
|
|
2
2
|
include ':capacitor-android'
|
|
3
|
-
project(':capacitor-android').projectDir = new File('../../node_modules/.pnpm/@capacitor+android@5.
|
|
3
|
+
project(':capacitor-android').projectDir = new File('../../node_modules/.pnpm/@capacitor+android@5.7.8_@capacitor+core@5.7.8/node_modules/@capacitor/android/capacitor')
|
|
4
4
|
|
|
5
5
|
include ':capacitor-app'
|
|
6
6
|
project(':capacitor-app').projectDir = new File('../../node_modules/.pnpm/@capacitor+app@5.0.6_@capacitor+core@5.7.8/node_modules/@capacitor/app/android')
|
|
@@ -43,7 +43,8 @@ steps:
|
|
|
43
43
|
cd example
|
|
44
44
|
|
|
45
45
|
echo -e "\n[+] Build ios app\n"
|
|
46
|
-
|
|
46
|
+
pnpm run build
|
|
47
|
+
pnpm exec cap sync ios
|
|
47
48
|
|
|
48
49
|
cd ios/App
|
|
49
50
|
|
|
@@ -91,7 +92,8 @@ steps:
|
|
|
91
92
|
cd example
|
|
92
93
|
|
|
93
94
|
echo -e "\n[+] Build android app \n"
|
|
94
|
-
|
|
95
|
+
pnpm run build
|
|
96
|
+
pnpm exec cap sync android
|
|
95
97
|
|
|
96
98
|
cd android
|
|
97
99
|
./gradlew assembleDebug
|
package/example/ios/App/Podfile
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require_relative '../../../node_modules/.pnpm/@capacitor+ios@5.
|
|
1
|
+
require_relative '../../../node_modules/.pnpm/@capacitor+ios@5.7.8_@capacitor+core@5.7.8/node_modules/@capacitor/ios/scripts/pods_helpers'
|
|
2
2
|
|
|
3
3
|
platform :ios, '16.0'
|
|
4
4
|
use_frameworks!
|
|
@@ -9,8 +9,8 @@ use_frameworks!
|
|
|
9
9
|
install! 'cocoapods', :disable_input_output_paths => true
|
|
10
10
|
|
|
11
11
|
def capacitor_pods
|
|
12
|
-
pod 'Capacitor', :path => '../../../node_modules/.pnpm/@capacitor+ios@5.
|
|
13
|
-
pod 'CapacitorCordova', :path => '../../../node_modules/.pnpm/@capacitor+ios@5.
|
|
12
|
+
pod 'Capacitor', :path => '../../../node_modules/.pnpm/@capacitor+ios@5.7.8_@capacitor+core@5.7.8/node_modules/@capacitor/ios'
|
|
13
|
+
pod 'CapacitorCordova', :path => '../../../node_modules/.pnpm/@capacitor+ios@5.7.8_@capacitor+core@5.7.8/node_modules/@capacitor/ios'
|
|
14
14
|
pod 'CapacitorApp', :path => '../../../node_modules/.pnpm/@capacitor+app@5.0.6_@capacitor+core@5.7.8/node_modules/@capacitor/app'
|
|
15
15
|
pod 'CapacitorCamera', :path => '../../../node_modules/.pnpm/@capacitor+camera@5.0.10_@capacitor+core@5.7.8/node_modules/@capacitor/camera'
|
|
16
16
|
pod 'CapacitorFilesystem', :path => '../../../node_modules/.pnpm/@capacitor+filesystem@5.2.2_@capacitor+core@5.7.8/node_modules/@capacitor/filesystem'
|
package/example/package.json
CHANGED
|
@@ -7,60 +7,59 @@
|
|
|
7
7
|
"ng": "ng",
|
|
8
8
|
"start": "ng serve",
|
|
9
9
|
"build": "ng build",
|
|
10
|
-
"cap:android": "
|
|
11
|
-
"cap:ios": "
|
|
12
|
-
"cap:sync": "
|
|
10
|
+
"cap:android": "pnpm run build && cap run android",
|
|
11
|
+
"cap:ios": "pnpm run build && cap run ios",
|
|
12
|
+
"cap:sync": "pnpm run build && cap sync",
|
|
13
13
|
"watch": "ng build --watch --configuration development",
|
|
14
14
|
"test": "ng test",
|
|
15
15
|
"lint": "ng lint"
|
|
16
16
|
},
|
|
17
17
|
"private": true,
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@angular/animations": "^
|
|
20
|
-
"@angular/common": "^
|
|
21
|
-
"@angular/compiler": "^
|
|
22
|
-
"@angular/core": "^
|
|
23
|
-
"@angular/forms": "^
|
|
24
|
-
"@angular/platform-browser": "^
|
|
25
|
-
"@angular/platform-browser-dynamic": "^
|
|
26
|
-
"@angular/router": "^
|
|
27
|
-
"@capacitor/android": "5.
|
|
19
|
+
"@angular/animations": "^20.3.27",
|
|
20
|
+
"@angular/common": "^20.3.27",
|
|
21
|
+
"@angular/compiler": "^20.3.27",
|
|
22
|
+
"@angular/core": "^20.3.27",
|
|
23
|
+
"@angular/forms": "^20.3.27",
|
|
24
|
+
"@angular/platform-browser": "^20.3.27",
|
|
25
|
+
"@angular/platform-browser-dynamic": "^20.3.27",
|
|
26
|
+
"@angular/router": "^20.3.27",
|
|
27
|
+
"@capacitor/android": "5.7.8",
|
|
28
28
|
"@capacitor/app": "5.0.6",
|
|
29
29
|
"@capacitor/camera": "^5.0.7",
|
|
30
|
-
"@capacitor/core": "
|
|
30
|
+
"@capacitor/core": "5.7.8",
|
|
31
31
|
"@capacitor/filesystem": "^5.1.4",
|
|
32
32
|
"@capacitor/geolocation": "^5.0.6",
|
|
33
33
|
"@capacitor/haptics": "5.0.6",
|
|
34
|
-
"@capacitor/ios": "5.
|
|
34
|
+
"@capacitor/ios": "5.7.8",
|
|
35
35
|
"@capacitor/keyboard": "5.0.6",
|
|
36
36
|
"@capacitor/preferences": "^5.0.6",
|
|
37
37
|
"@capacitor/status-bar": "5.0.6",
|
|
38
38
|
"@ionic/angular": "^7.5.0",
|
|
39
|
-
"@ionic/cli": "^7.1.5",
|
|
40
39
|
"@situm/cordova": "workspace:*",
|
|
41
40
|
"ionicons": "^7.2.1",
|
|
42
41
|
"rxjs": "^7.8.1",
|
|
43
42
|
"tslib": "^2.3.0",
|
|
44
|
-
"zone.js": "~0.
|
|
43
|
+
"zone.js": "~0.15.0"
|
|
45
44
|
},
|
|
46
|
-
|
|
47
|
-
"@angular-devkit/build-angular": "^
|
|
48
|
-
"@angular-eslint/builder": "^
|
|
49
|
-
"@angular-eslint/eslint-plugin": "^
|
|
50
|
-
"@angular-eslint/eslint-plugin-template": "^
|
|
51
|
-
"@angular-eslint/schematics": "^
|
|
52
|
-
"@angular-eslint/template-parser": "^
|
|
53
|
-
"@angular/cli": "^
|
|
54
|
-
"@angular/compiler-cli": "^
|
|
55
|
-
"@angular/language-service": "^
|
|
56
|
-
"@capacitor/cli": "
|
|
45
|
+
"devDependencies": {
|
|
46
|
+
"@angular-devkit/build-angular": "^20.3.32",
|
|
47
|
+
"@angular-eslint/builder": "^20.0.0",
|
|
48
|
+
"@angular-eslint/eslint-plugin": "^20.0.0",
|
|
49
|
+
"@angular-eslint/eslint-plugin-template": "^20.0.0",
|
|
50
|
+
"@angular-eslint/schematics": "^20.0.0",
|
|
51
|
+
"@angular-eslint/template-parser": "^20.0.0",
|
|
52
|
+
"@angular/cli": "^20.3.22",
|
|
53
|
+
"@angular/compiler-cli": "^20.3.27",
|
|
54
|
+
"@angular/language-service": "^20.3.27",
|
|
55
|
+
"@capacitor/cli": "5.5.1",
|
|
57
56
|
"@ionic/angular-toolkit": "^9.0.0",
|
|
58
57
|
"@types/jasmine": "~5.1.0",
|
|
59
58
|
"@typescript-eslint/eslint-plugin": "^6.0.0",
|
|
60
59
|
"@typescript-eslint/parser": "^6.0.0",
|
|
61
|
-
"eslint": "^
|
|
62
|
-
"eslint-plugin-import": "2.
|
|
63
|
-
"eslint-plugin-jsdoc": "
|
|
60
|
+
"eslint": "^8.57.0",
|
|
61
|
+
"eslint-plugin-import": "2.25.0",
|
|
62
|
+
"eslint-plugin-jsdoc": "37.0.0",
|
|
64
63
|
"eslint-plugin-prefer-arrow": "1.2.2",
|
|
65
64
|
"jasmine-core": "~5.1.0",
|
|
66
65
|
"jasmine-spec-reporter": "~5.0.0",
|
|
@@ -70,7 +69,7 @@
|
|
|
70
69
|
"karma-jasmine": "~5.1.0",
|
|
71
70
|
"karma-jasmine-html-reporter": "~2.1.0",
|
|
72
71
|
"ts-node": "^8.3.0",
|
|
73
|
-
"typescript": "~5.
|
|
72
|
+
"typescript": "~5.8.3"
|
|
74
73
|
},
|
|
75
74
|
"description": "An Ionic project"
|
|
76
75
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, NgZone } from '@angular/core';
|
|
1
|
+
import { Component, inject, NgZone } from '@angular/core';
|
|
2
2
|
import {
|
|
3
3
|
IonHeader,
|
|
4
4
|
IonToolbar,
|
|
@@ -10,8 +10,6 @@ import {
|
|
|
10
10
|
IonCardContent,
|
|
11
11
|
IonCardTitle,
|
|
12
12
|
IonItem,
|
|
13
|
-
IonLabel,
|
|
14
|
-
IonList,
|
|
15
13
|
IonIcon,
|
|
16
14
|
IonTextarea,
|
|
17
15
|
IonRow,
|
|
@@ -20,7 +18,7 @@ import {
|
|
|
20
18
|
NavController,
|
|
21
19
|
Platform
|
|
22
20
|
} from '@ionic/angular/standalone';
|
|
23
|
-
import {
|
|
21
|
+
import { NgIf } from '@angular/common';
|
|
24
22
|
import { locate, cloudDownload, map } from 'ionicons/icons';
|
|
25
23
|
import { addIcons } from 'ionicons';
|
|
26
24
|
|
|
@@ -45,28 +43,25 @@ declare let cordova: any;
|
|
|
45
43
|
IonCardTitle,
|
|
46
44
|
IonCardContent,
|
|
47
45
|
IonButton,
|
|
48
|
-
IonLabel,
|
|
49
46
|
IonItem,
|
|
50
|
-
IonList,
|
|
51
47
|
IonRow,
|
|
52
48
|
IonIcon,
|
|
53
49
|
IonTextarea,
|
|
54
50
|
IonPicker,
|
|
55
|
-
NgFor,
|
|
56
51
|
NgIf
|
|
57
52
|
]
|
|
58
53
|
})
|
|
59
54
|
export class SDKPage {
|
|
55
|
+
private ngZone = inject(NgZone);
|
|
56
|
+
private navCtrl = inject(NavController);
|
|
57
|
+
public platform = inject(Platform);
|
|
58
|
+
|
|
60
59
|
buildings: Array<any> | undefined;
|
|
61
60
|
currentBuilding: any | undefined;
|
|
62
61
|
pois: any | undefined;
|
|
63
62
|
currentPoi: any | undefined;
|
|
64
63
|
|
|
65
|
-
constructor(
|
|
66
|
-
private ngZone: NgZone,
|
|
67
|
-
private navCtrl: NavController,
|
|
68
|
-
public platform: Platform
|
|
69
|
-
) {
|
|
64
|
+
constructor() {
|
|
70
65
|
addIcons({ locate, cloudDownload, map });
|
|
71
66
|
}
|
|
72
67
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import {
|
|
2
|
+
AfterViewInit,
|
|
2
3
|
CUSTOM_ELEMENTS_SCHEMA,
|
|
3
4
|
Component,
|
|
4
5
|
ElementRef,
|
|
@@ -23,7 +24,7 @@ import * as Constants from 'src/constants';
|
|
|
23
24
|
standalone: true,
|
|
24
25
|
imports: [IonHeader, IonToolbar, IonTitle, IonThumbnail, IonContent],
|
|
25
26
|
})
|
|
26
|
-
export class WYFPage {
|
|
27
|
+
export class WYFPage implements AfterViewInit {
|
|
27
28
|
@ViewChild('mapView') mapView: ElementRef | undefined;
|
|
28
29
|
|
|
29
30
|
// Internal code
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@situm/cordova",
|
|
3
|
-
"version": "3.17.
|
|
3
|
+
"version": "3.17.6",
|
|
4
4
|
"description": "Situm Wayfinding for Capacitor and Cordova. Integrate plug&play indoor navigation experience with floorplans, POIs, routes and turn-by-turn directions in no time. With the power of Situm.",
|
|
5
5
|
"private": false,
|
|
6
6
|
"repository": "https://github.com/situmtech/cordova",
|
|
@@ -30,15 +30,9 @@
|
|
|
30
30
|
"engines": [
|
|
31
31
|
{
|
|
32
32
|
"name": "cordova-android",
|
|
33
|
-
"version": ">=
|
|
33
|
+
"version": ">=11.0.0"
|
|
34
34
|
}
|
|
35
35
|
],
|
|
36
|
-
"dependencies": {
|
|
37
|
-
"cordova-common": "^2.2.5",
|
|
38
|
-
"describe": "^1.2.0",
|
|
39
|
-
"q": "^1.5.1",
|
|
40
|
-
"tui-jsdoc-template": "^1.2.2"
|
|
41
|
-
},
|
|
42
36
|
"devDependencies": {
|
|
43
37
|
"eslint": "^5.3.0",
|
|
44
38
|
"eslint-config-semistandard": "^11.0.0",
|
|
@@ -50,7 +44,8 @@
|
|
|
50
44
|
"expect.js": "^0.3.1",
|
|
51
45
|
"jsdoc": "^3.5.5",
|
|
52
46
|
"jsdoc-toolkit": "0.0.2",
|
|
53
|
-
"mocha": "^5.2.0"
|
|
47
|
+
"mocha": "^5.2.0",
|
|
48
|
+
"tui-jsdoc-template": "^1.2.2"
|
|
54
49
|
},
|
|
55
50
|
"scripts": {
|
|
56
51
|
"test": "cd tests/js && mocha",
|
package/plugin.xml
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
|
|
4
4
|
id="@situm/cordova"
|
|
5
|
-
version="3.17.
|
|
5
|
+
version="3.17.6">
|
|
6
6
|
<name>Situm Cordova plugin Official</name>
|
|
7
7
|
<description>This is the stable branch.</description>
|
|
8
8
|
<license>MIT</license>
|
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
<issue>https://github.com/situmtech/situm-cordova-plugin/issues</issue>
|
|
12
12
|
|
|
13
13
|
<engines>
|
|
14
|
-
|
|
14
|
+
<!-- Keep this version in sync with the corresponding engine version in package.json -->
|
|
15
|
+
<engine name="cordova-android" version=">=11.0.0" />
|
|
15
16
|
</engines>
|
|
16
17
|
|
|
17
18
|
<js-module src="www/map-view.js" name="map-view">
|
package/pnpm-workspace.yaml
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
allowBuilds:
|
|
2
2
|
esbuild: true
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
"@parcel/watcher": false
|
|
4
|
+
lmdb: false
|
|
5
|
+
msgpackr-extract: false
|
|
6
|
+
blockExoticSubdeps: true
|
|
7
|
+
minimumReleaseAge: 10080
|
|
8
|
+
trustPolicy: no-downgrade
|
|
9
|
+
trustPolicyExclude:
|
|
10
|
+
- "chokidar@4.0.3"
|
|
11
|
+
- "ua-parser-js@0.7.41"
|
|
12
|
+
- "semver@5.7.2 || 6.3.1"
|
|
5
13
|
packages:
|
|
6
14
|
- "example"
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
apply plugin: 'com.android.application'
|
|
2
2
|
|
|
3
3
|
android {
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
namespace "es.plugin.situm"
|
|
5
|
+
compileSdkVersion 34
|
|
6
6
|
defaultConfig {
|
|
7
7
|
applicationId "es.plugin.situm"
|
|
8
8
|
minSdkVersion 22
|
|
9
|
-
targetSdkVersion
|
|
9
|
+
targetSdkVersion 34
|
|
10
10
|
versionCode 1
|
|
11
11
|
versionName "1.0"
|
|
12
12
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
@@ -44,8 +44,8 @@ dependencies {
|
|
|
44
44
|
implementation ('com.googlecode.json-simple:json-simple:1.1.1'){
|
|
45
45
|
exclude group: 'junit', module:'junit'
|
|
46
46
|
}
|
|
47
|
-
implementation ('es.situm:situm-sdk:3.
|
|
47
|
+
implementation ('es.situm:situm-sdk:3.39.0@aar') {
|
|
48
48
|
transitive = true
|
|
49
49
|
}
|
|
50
|
-
implementation 'org.apache.cordova:framework:
|
|
50
|
+
implementation 'org.apache.cordova:framework:11.0.0'
|
|
51
51
|
}
|
|
@@ -192,8 +192,10 @@ public class PluginHelper {
|
|
|
192
192
|
try {
|
|
193
193
|
JSONObject jsonoBuilding = args.getJSONObject(0);
|
|
194
194
|
Building building = SitumMapper.buildingJsonObjectToBuilding(jsonoBuilding);
|
|
195
|
-
|
|
196
|
-
|
|
195
|
+
if (building == null) {
|
|
196
|
+
callbackContext.sendPluginResult(new PluginResult(Status.ERROR, "Error fetching Building Info: failed mapping Building object from Json."));
|
|
197
|
+
}
|
|
198
|
+
getCommunicationManagerInstance().fetchBuildingInfo(building.getIdentifier(), new Handler<BuildingInfo>() {
|
|
197
199
|
@Override
|
|
198
200
|
public void onSuccess(BuildingInfo object) {
|
|
199
201
|
try {
|
|
@@ -267,7 +269,10 @@ public class PluginHelper {
|
|
|
267
269
|
try {
|
|
268
270
|
JSONObject jsonoBuilding = args.getJSONObject(0);
|
|
269
271
|
Building building = SitumMapper.buildingJsonObjectToBuilding(jsonoBuilding);
|
|
270
|
-
|
|
272
|
+
if (building == null) {
|
|
273
|
+
callbackContext.sendPluginResult(new PluginResult(Status.ERROR, "Error fetching Floors from Building: failed mapping Building object from Json."));
|
|
274
|
+
}
|
|
275
|
+
getCommunicationManagerInstance().fetchFloorsFromBuilding(building.getIdentifier(), new Handler<Collection<Floor>>() {
|
|
271
276
|
@Override
|
|
272
277
|
public void onSuccess(Collection<Floor> floors) {
|
|
273
278
|
try {
|
|
@@ -307,7 +312,10 @@ public class PluginHelper {
|
|
|
307
312
|
try {
|
|
308
313
|
JSONObject jsonoBuilding = args.getJSONObject(0);
|
|
309
314
|
Building building = SitumMapper.buildingJsonObjectToBuilding(jsonoBuilding);
|
|
310
|
-
|
|
315
|
+
if (building == null) {
|
|
316
|
+
callbackContext.sendPluginResult(new PluginResult(Status.ERROR, "Error fetching Indoor POIs from Building: failed mapping Building object from Json."));
|
|
317
|
+
}
|
|
318
|
+
getCommunicationManagerInstance().fetchIndoorPOIsFromBuilding(building.getIdentifier(),
|
|
311
319
|
new Handler<Collection<Poi>>() {
|
|
312
320
|
@Override
|
|
313
321
|
public void onSuccess(Collection<Poi> pois) {
|
|
@@ -350,7 +358,10 @@ public class PluginHelper {
|
|
|
350
358
|
try {
|
|
351
359
|
JSONObject jsonoBuilding = args.getJSONObject(0);
|
|
352
360
|
Building building = SitumMapper.buildingJsonObjectToBuilding(jsonoBuilding);
|
|
353
|
-
|
|
361
|
+
if (building == null) {
|
|
362
|
+
callbackContext.sendPluginResult(new PluginResult(Status.ERROR, "Error fetching fetching Outdoor POIs from Building: failed mapping Building object from Json."));
|
|
363
|
+
}
|
|
364
|
+
getCommunicationManagerInstance().fetchOutdoorPOIsFromBuilding(building.getIdentifier(),
|
|
354
365
|
new Handler<Collection<Poi>>() {
|
|
355
366
|
@Override
|
|
356
367
|
public void onSuccess(Collection<Poi> pois) {
|
|
@@ -421,7 +432,7 @@ public class PluginHelper {
|
|
|
421
432
|
try {
|
|
422
433
|
JSONObject jsonoCategory = args.getJSONObject(0);
|
|
423
434
|
PoiCategory category = SitumMapper.poiCategoryFromJsonObject(jsonoCategory);
|
|
424
|
-
getCommunicationManagerInstance().
|
|
435
|
+
getCommunicationManagerInstance().fetchPoiCategoryIcon(category, false, new Handler<Bitmap>() {
|
|
425
436
|
@Override
|
|
426
437
|
public void onSuccess(Bitmap bitmap) {
|
|
427
438
|
try {
|
|
@@ -450,7 +461,7 @@ public class PluginHelper {
|
|
|
450
461
|
try {
|
|
451
462
|
JSONObject jsonoCategory = args.getJSONObject(0);
|
|
452
463
|
PoiCategory category = SitumMapper.poiCategoryFromJsonObject(jsonoCategory);
|
|
453
|
-
getCommunicationManagerInstance().
|
|
464
|
+
getCommunicationManagerInstance().fetchPoiCategoryIcon(category, true, new Handler<Bitmap>() {
|
|
454
465
|
@Override
|
|
455
466
|
public void onSuccess(Bitmap bitmap) {
|
|
456
467
|
try {
|
|
@@ -479,7 +490,10 @@ public class PluginHelper {
|
|
|
479
490
|
try {
|
|
480
491
|
JSONObject jsonoBuilding = args.getJSONObject(0);
|
|
481
492
|
Building building = SitumMapper.buildingJsonObjectToBuilding(jsonoBuilding);
|
|
482
|
-
|
|
493
|
+
if (building == null) {
|
|
494
|
+
callbackContext.sendPluginResult(new PluginResult(Status.ERROR, "Error fetching Events from Building: failed mapping Building object from Json."));
|
|
495
|
+
}
|
|
496
|
+
getCommunicationManagerInstance().fetchEventsFromBuilding(building.getIdentifier(),
|
|
483
497
|
new Handler<Collection<es.situm.sdk.v1.SitumEvent>>() {
|
|
484
498
|
@Override
|
|
485
499
|
public void onSuccess(Collection<SitumEvent> situmEvents) {
|
|
@@ -63,9 +63,6 @@ import es.situm.sdk.userhelper.UserHelperColorScheme;
|
|
|
63
63
|
|
|
64
64
|
class SitumMapper {
|
|
65
65
|
|
|
66
|
-
public static final float MIN_SNR = 10;
|
|
67
|
-
public static final float MAX_SNR = 40;
|
|
68
|
-
|
|
69
66
|
public static final String ADDRESS = "address";
|
|
70
67
|
public static final String BOUNDS = "bounds";
|
|
71
68
|
public static final String BOUNDS_ROTATED = "boundsRotated";
|
|
@@ -188,9 +185,7 @@ class SitumMapper {
|
|
|
188
185
|
public static final String AUTO_ENABLE_BLE = "autoEnableBleDuringPositioning";
|
|
189
186
|
|
|
190
187
|
public static final String OUTDOOR_LOCATION_OPTIONS = "outdoorLocationOptions";
|
|
191
|
-
public static final String USER_DEFINED_THRESHOLD = "userDefinedThreshold";
|
|
192
188
|
public static final String COMPUTE_INTERVAL = "computeInterval";
|
|
193
|
-
public static final String AVERAGE_SNR_THRESHOLD = "averageSnrThreshold";
|
|
194
189
|
|
|
195
190
|
public static final String BEACON_FILTERS = "beaconFilters";
|
|
196
191
|
public static final String UUID = "uuid";
|
|
@@ -911,12 +906,6 @@ static JSONObject buildingInfoToJsonObject(BuildingInfo buildingInfo) throws JSO
|
|
|
911
906
|
static OutdoorLocationOptions buildOutdoorLocationOptions(JSONObject outdoorLocationOptions) throws JSONException{
|
|
912
907
|
OutdoorLocationOptions.Builder optionsBuilder = new OutdoorLocationOptions.Builder();
|
|
913
908
|
|
|
914
|
-
if (outdoorLocationOptions.has(SitumMapper.USER_DEFINED_THRESHOLD)) {
|
|
915
|
-
Boolean userDefinedThreshold = outdoorLocationOptions.getBoolean(SitumMapper.USER_DEFINED_THRESHOLD);
|
|
916
|
-
optionsBuilder.userDefinedThreshold(userDefinedThreshold);
|
|
917
|
-
Log.i(TAG, "userDefinedThreshold: " + userDefinedThreshold);
|
|
918
|
-
}
|
|
919
|
-
|
|
920
909
|
if (outdoorLocationOptions.has(SitumMapper.COMPUTE_INTERVAL)) {
|
|
921
910
|
Integer computeInterval = outdoorLocationOptions.getInt(SitumMapper.COMPUTE_INTERVAL);
|
|
922
911
|
if (computeInterval != null && computeInterval >= 1) {
|
|
@@ -924,13 +913,6 @@ static JSONObject buildingInfoToJsonObject(BuildingInfo buildingInfo) throws JSO
|
|
|
924
913
|
Log.i(TAG, "computeInterval: " + computeInterval);
|
|
925
914
|
}
|
|
926
915
|
}
|
|
927
|
-
|
|
928
|
-
if (outdoorLocationOptions.has(SitumMapper.AVERAGE_SNR_THRESHOLD));
|
|
929
|
-
Float averageSnrThreshold = new Float(outdoorLocationOptions.getDouble(SitumMapper.AVERAGE_SNR_THRESHOLD));
|
|
930
|
-
if (averageSnrThreshold != null && averageSnrThreshold >= MIN_SNR && averageSnrThreshold <= MAX_SNR) {
|
|
931
|
-
optionsBuilder.averageSnrThreshold(averageSnrThreshold);
|
|
932
|
-
Log.i(TAG, "averageSnrThreshold: " + averageSnrThreshold);
|
|
933
|
-
}
|
|
934
916
|
return optionsBuilder.build();
|
|
935
917
|
}
|
|
936
918
|
|
package/src/android/build.gradle
CHANGED
|
@@ -7,7 +7,7 @@ buildscript {
|
|
|
7
7
|
mavenCentral()
|
|
8
8
|
}
|
|
9
9
|
dependencies {
|
|
10
|
-
classpath 'com.android.tools.build:gradle:
|
|
10
|
+
classpath 'com.android.tools.build:gradle:8.1.4'
|
|
11
11
|
// NOTE: Do not place your application dependencies here; they belong
|
|
12
12
|
// in the individual module build.gradle files
|
|
13
13
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
#
|
|
1
|
+
#Mon Aug 03 09:06:52 CEST 2026
|
|
2
2
|
distributionBase=GRADLE_USER_HOME
|
|
3
|
-
distributionUrl=https\://services.gradle.org/distributions/gradle-
|
|
3
|
+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip
|
|
4
4
|
distributionPath=wrapper/dists
|
|
5
5
|
zipStorePath=wrapper/dists
|
|
6
6
|
zipStoreBase=GRADLE_USER_HOME
|
package/src/android/situm.gradle
CHANGED
package/www/Interfaces.js
CHANGED
|
@@ -725,15 +725,11 @@ module.exports = DirectionsOptions;
|
|
|
725
725
|
* OutdoorLocationOptions
|
|
726
726
|
* @description
|
|
727
727
|
* Outdoor location options are only used in indoor-outdoor mode (Only available for Android)
|
|
728
|
-
* @property {boolean} userDefinedThreshold
|
|
729
728
|
* @property {number} computeInterval - Interval (in milliseconds) between consecutive GPS readings performed by Situm SDK, and therefore between consecutive generated Outdoor Locations.
|
|
730
|
-
* @property {number} averageSnrThreshold
|
|
731
729
|
*/
|
|
732
730
|
|
|
733
731
|
var OutdoorLocationOptions = {
|
|
734
|
-
userDefinedThreshold,
|
|
735
732
|
computeInterval,
|
|
736
|
-
averageSnrThreshold
|
|
737
733
|
};
|
|
738
734
|
|
|
739
735
|
module.exports = OutdoorLocationOptions;
|