@react-native-ohos/react-native-sensors 7.2.3-rc.1 → 7.2.3-rc.2
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/LICENSE +21 -21
- package/README.OpenSource +11 -11
- package/README.md +13 -13
- package/harmony/sensors/Index.ets +18 -18
- package/harmony/sensors/build-profile.json5 +12 -12
- package/harmony/sensors/hvigorfile.ts +6 -6
- package/harmony/sensors/oh-package.json5 +11 -11
- package/harmony/sensors/src/main/cpp/CMakeLists.txt +8 -8
- package/harmony/sensors/src/main/cpp/SensorsPackage.h +25 -25
- package/harmony/sensors/src/main/cpp/generated/RNOH/generated/BaseReactNativeSensorsPackage.h +30 -30
- package/harmony/sensors/src/main/cpp/generated/RNOH/generated/turbo_modules/RTNSensors.cpp +25 -25
- package/harmony/sensors/src/main/cpp/generated/RNOH/generated/turbo_modules/RTNSensors.h +19 -19
- package/harmony/sensors/src/main/ets/RTNSensorsTurboModule.ts +275 -275
- package/harmony/sensors/src/main/ets/SensorsPackage.ets +38 -38
- package/harmony/sensors/src/main/ets/generated/components/ts.ts +5 -5
- package/harmony/sensors/src/main/ets/generated/index.ets +5 -5
- package/harmony/sensors/src/main/ets/generated/ts.ts +6 -6
- package/harmony/sensors/src/main/ets/generated/turboModules/RTNSensors.ts +30 -30
- package/harmony/sensors/src/main/ets/generated/turboModules/ts.ts +5 -5
- package/harmony/sensors/src/main/module.json5 +9 -9
- package/harmony/sensors/src/main/resources/base/element/string.json +8 -8
- package/harmony/sensors/src/main/resources/en_US/element/string.json +8 -8
- package/harmony/sensors/src/main/resources/zh_CN/element/string.json +8 -8
- package/harmony/sensors/ts.ets +16 -16
- package/harmony/sensors.har +0 -0
- package/index.d.ts +69 -69
- package/index.js +13 -13
- package/package.json +90 -90
- package/src/NativeSensors.ts +30 -30
- package/src/rnsensors.js +49 -49
- package/src/sensors.js +75 -75
package/src/rnsensors.js
CHANGED
|
@@ -1,49 +1,49 @@
|
|
|
1
|
-
import RTNSensors from "./NativeSensors";
|
|
2
|
-
// Cache the availability of sensors
|
|
3
|
-
const availableSensors = {};
|
|
4
|
-
|
|
5
|
-
export function start(type) {
|
|
6
|
-
switch (type) {
|
|
7
|
-
case 'accelerometer':
|
|
8
|
-
RTNSensors.accelerometer();
|
|
9
|
-
break;
|
|
10
|
-
case 'gyroscope':
|
|
11
|
-
RTNSensors.gyroscope();
|
|
12
|
-
break;
|
|
13
|
-
case 'magnetometer':
|
|
14
|
-
RTNSensors.magnetometer();
|
|
15
|
-
break;
|
|
16
|
-
case 'barometer':
|
|
17
|
-
RTNSensors.barometer();
|
|
18
|
-
break;
|
|
19
|
-
case 'orientation':
|
|
20
|
-
RTNSensors.orientation();
|
|
21
|
-
break;
|
|
22
|
-
case 'gravity':
|
|
23
|
-
RTNSensors.gravity();
|
|
24
|
-
break;
|
|
25
|
-
default:
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export function isAvailable(type) {
|
|
30
|
-
if (availableSensors[type]) {
|
|
31
|
-
return availableSensors[type];
|
|
32
|
-
}
|
|
33
|
-
const promise = RTNSensors.isAvailable(type);
|
|
34
|
-
availableSensors[type] = promise;
|
|
35
|
-
|
|
36
|
-
return promise;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
export function stop(type) {
|
|
40
|
-
RTNSensors.off(type);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export function setUpdateInterval(type, updateInterval) {
|
|
44
|
-
RTNSensors.setUpdateInterval(type, updateInterval);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
export function setLogLevelForType(type, level) {
|
|
48
|
-
RTNSensors.setLogLevel(type, level);
|
|
49
|
-
}
|
|
1
|
+
import RTNSensors from "./NativeSensors";
|
|
2
|
+
// Cache the availability of sensors
|
|
3
|
+
const availableSensors = {};
|
|
4
|
+
|
|
5
|
+
export function start(type) {
|
|
6
|
+
switch (type) {
|
|
7
|
+
case 'accelerometer':
|
|
8
|
+
RTNSensors.accelerometer();
|
|
9
|
+
break;
|
|
10
|
+
case 'gyroscope':
|
|
11
|
+
RTNSensors.gyroscope();
|
|
12
|
+
break;
|
|
13
|
+
case 'magnetometer':
|
|
14
|
+
RTNSensors.magnetometer();
|
|
15
|
+
break;
|
|
16
|
+
case 'barometer':
|
|
17
|
+
RTNSensors.barometer();
|
|
18
|
+
break;
|
|
19
|
+
case 'orientation':
|
|
20
|
+
RTNSensors.orientation();
|
|
21
|
+
break;
|
|
22
|
+
case 'gravity':
|
|
23
|
+
RTNSensors.gravity();
|
|
24
|
+
break;
|
|
25
|
+
default:
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export function isAvailable(type) {
|
|
30
|
+
if (availableSensors[type]) {
|
|
31
|
+
return availableSensors[type];
|
|
32
|
+
}
|
|
33
|
+
const promise = RTNSensors.isAvailable(type);
|
|
34
|
+
availableSensors[type] = promise;
|
|
35
|
+
|
|
36
|
+
return promise;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export function stop(type) {
|
|
40
|
+
RTNSensors.off(type);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export function setUpdateInterval(type, updateInterval) {
|
|
44
|
+
RTNSensors.setUpdateInterval(type, updateInterval);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export function setLogLevelForType(type, level) {
|
|
48
|
+
RTNSensors.setLogLevel(type, level);
|
|
49
|
+
}
|
package/src/sensors.js
CHANGED
|
@@ -1,76 +1,76 @@
|
|
|
1
|
-
import { DeviceEventEmitter } from "react-native";
|
|
2
|
-
import { Observable } from "rxjs";
|
|
3
|
-
import { publish, refCount } from "rxjs/operators";
|
|
4
|
-
import * as RNSensors from "./rnsensors";
|
|
5
|
-
|
|
6
|
-
const listenerKeys = new Map([
|
|
7
|
-
["accelerometer", "Accelerometer"],
|
|
8
|
-
["gyroscope", "Gyroscope"],
|
|
9
|
-
["magnetometer", "Magnetometer"],
|
|
10
|
-
["barometer", "Barometer"],
|
|
11
|
-
["orientation", "Orientation"],
|
|
12
|
-
["gravity", "gravityClick"],
|
|
13
|
-
]);
|
|
14
|
-
|
|
15
|
-
const eventEmitterSubscription = new Map([
|
|
16
|
-
["accelerometer", null],
|
|
17
|
-
["gyroscope", null],
|
|
18
|
-
["magnetometer", null],
|
|
19
|
-
["barometer", null],
|
|
20
|
-
["orientation", null],
|
|
21
|
-
["gravity", null],
|
|
22
|
-
]);
|
|
23
|
-
|
|
24
|
-
function createSensorObservable(sensorType) {
|
|
25
|
-
return Observable.create(function subscribe(observer) {
|
|
26
|
-
this.isSensorAvailable = false;
|
|
27
|
-
this.unsubscribeCallback = () => {
|
|
28
|
-
if (!this.isSensorAvailable) return;
|
|
29
|
-
if (eventEmitterSubscription.get(sensorType))
|
|
30
|
-
eventEmitterSubscription.get(sensorType).remove();
|
|
31
|
-
RNSensors.stop(sensorType);
|
|
32
|
-
RNSensors.setUpdateInterval(sensorType, 0);
|
|
33
|
-
RNSensors.setLogLevelForType(sensorType, 0);
|
|
34
|
-
};
|
|
35
|
-
RNSensors.isAvailable(sensorType).then((res) => {
|
|
36
|
-
this.isSensorAvailable = true;
|
|
37
|
-
if (!res) {
|
|
38
|
-
observer.error(`Sensors${sensorType} is not available`);
|
|
39
|
-
return;
|
|
40
|
-
} else {
|
|
41
|
-
RNSensors.start(sensorType);
|
|
42
|
-
eventEmitterSubscription.set(
|
|
43
|
-
sensorType,
|
|
44
|
-
DeviceEventEmitter.addListener(
|
|
45
|
-
listenerKeys.get(sensorType),
|
|
46
|
-
(date) => {
|
|
47
|
-
observer.next(date);
|
|
48
|
-
}
|
|
49
|
-
)
|
|
50
|
-
);
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
return this.unsubscribeCallback;
|
|
54
|
-
}).pipe(makeSingleton());
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
// As we only have one sensor we need to share it between the different consumers
|
|
58
|
-
function makeSingleton() {
|
|
59
|
-
return (source) => source.pipe(publish(), refCount());
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
const accelerometer = createSensorObservable("accelerometer");
|
|
63
|
-
const gyroscope = createSensorObservable("gyroscope");
|
|
64
|
-
const magnetometer = createSensorObservable("magnetometer");
|
|
65
|
-
const barometer = createSensorObservable("barometer");
|
|
66
|
-
const orientation = createSensorObservable("orientation");
|
|
67
|
-
const gravity = createSensorObservable("gravity");
|
|
68
|
-
|
|
69
|
-
export default {
|
|
70
|
-
gyroscope,
|
|
71
|
-
accelerometer,
|
|
72
|
-
magnetometer,
|
|
73
|
-
barometer,
|
|
74
|
-
orientation,
|
|
75
|
-
gravity,
|
|
1
|
+
import { DeviceEventEmitter } from "react-native";
|
|
2
|
+
import { Observable } from "rxjs";
|
|
3
|
+
import { publish, refCount } from "rxjs/operators";
|
|
4
|
+
import * as RNSensors from "./rnsensors";
|
|
5
|
+
|
|
6
|
+
const listenerKeys = new Map([
|
|
7
|
+
["accelerometer", "Accelerometer"],
|
|
8
|
+
["gyroscope", "Gyroscope"],
|
|
9
|
+
["magnetometer", "Magnetometer"],
|
|
10
|
+
["barometer", "Barometer"],
|
|
11
|
+
["orientation", "Orientation"],
|
|
12
|
+
["gravity", "gravityClick"],
|
|
13
|
+
]);
|
|
14
|
+
|
|
15
|
+
const eventEmitterSubscription = new Map([
|
|
16
|
+
["accelerometer", null],
|
|
17
|
+
["gyroscope", null],
|
|
18
|
+
["magnetometer", null],
|
|
19
|
+
["barometer", null],
|
|
20
|
+
["orientation", null],
|
|
21
|
+
["gravity", null],
|
|
22
|
+
]);
|
|
23
|
+
|
|
24
|
+
function createSensorObservable(sensorType) {
|
|
25
|
+
return Observable.create(function subscribe(observer) {
|
|
26
|
+
this.isSensorAvailable = false;
|
|
27
|
+
this.unsubscribeCallback = () => {
|
|
28
|
+
if (!this.isSensorAvailable) return;
|
|
29
|
+
if (eventEmitterSubscription.get(sensorType))
|
|
30
|
+
eventEmitterSubscription.get(sensorType).remove();
|
|
31
|
+
RNSensors.stop(sensorType);
|
|
32
|
+
RNSensors.setUpdateInterval(sensorType, 0);
|
|
33
|
+
RNSensors.setLogLevelForType(sensorType, 0);
|
|
34
|
+
};
|
|
35
|
+
RNSensors.isAvailable(sensorType).then((res) => {
|
|
36
|
+
this.isSensorAvailable = true;
|
|
37
|
+
if (!res) {
|
|
38
|
+
observer.error(`Sensors${sensorType} is not available`);
|
|
39
|
+
return;
|
|
40
|
+
} else {
|
|
41
|
+
RNSensors.start(sensorType);
|
|
42
|
+
eventEmitterSubscription.set(
|
|
43
|
+
sensorType,
|
|
44
|
+
DeviceEventEmitter.addListener(
|
|
45
|
+
listenerKeys.get(sensorType),
|
|
46
|
+
(date) => {
|
|
47
|
+
observer.next(date);
|
|
48
|
+
}
|
|
49
|
+
)
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
return this.unsubscribeCallback;
|
|
54
|
+
}).pipe(makeSingleton());
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// As we only have one sensor we need to share it between the different consumers
|
|
58
|
+
function makeSingleton() {
|
|
59
|
+
return (source) => source.pipe(publish(), refCount());
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const accelerometer = createSensorObservable("accelerometer");
|
|
63
|
+
const gyroscope = createSensorObservable("gyroscope");
|
|
64
|
+
const magnetometer = createSensorObservable("magnetometer");
|
|
65
|
+
const barometer = createSensorObservable("barometer");
|
|
66
|
+
const orientation = createSensorObservable("orientation");
|
|
67
|
+
const gravity = createSensorObservable("gravity");
|
|
68
|
+
|
|
69
|
+
export default {
|
|
70
|
+
gyroscope,
|
|
71
|
+
accelerometer,
|
|
72
|
+
magnetometer,
|
|
73
|
+
barometer,
|
|
74
|
+
orientation,
|
|
75
|
+
gravity,
|
|
76
76
|
};
|