react-native-orientation-director 2.6.4 → 3.0.0
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 +11 -33
- package/android/build.gradle +19 -79
- package/android/src/main/AndroidManifest.xml +1 -2
- package/android/src/{newarch → main/java/com/orientationdirector}/OrientationDirectorModule.kt +20 -11
- package/android/src/main/java/com/orientationdirector/OrientationDirectorPackage.kt +15 -20
- package/android/src/main/java/com/orientationdirector/implementation/EventManager.kt +4 -17
- package/android/src/main/java/com/orientationdirector/implementation/EventManagerDelegate.kt +9 -0
- package/android/src/main/java/com/orientationdirector/implementation/OrientationDirectorModuleImpl.kt +23 -24
- package/android/src/main/java/com/orientationdirector/implementation/OrientationSensorsEventListener.kt +73 -80
- package/android/src/main/java/com/orientationdirector/implementation/Utils.kt +0 -54
- package/app.plugin.js +1 -1
- package/ios/OrientationDirector.h +1 -18
- package/ios/OrientationDirector.mm +35 -35
- package/ios/SharedOrientationDirectorImpl.swift +12 -0
- package/ios/implementation/EventManager.swift +12 -37
- package/ios/implementation/OrientationDirectorImpl.swift +6 -6
- package/lib/module/EventEmitter.js +15 -9
- package/lib/module/EventEmitter.js.map +1 -1
- package/lib/module/NativeOrientationDirector.js.map +1 -1
- package/lib/module/module.js +1 -2
- package/lib/module/module.js.map +1 -1
- package/lib/plugin/index.d.ts +3 -0
- package/lib/plugin/index.js +10 -0
- package/lib/plugin/withAndroidConfiguration.d.ts +3 -0
- package/{plugin/build/withRNOrientationMainActivity.js → lib/plugin/withAndroidConfiguration.js} +3 -3
- package/lib/plugin/withIosConfiguration.d.ts +3 -0
- package/lib/plugin/withIosConfiguration.js +62 -0
- package/lib/typescript/{commonjs/src → src}/EventEmitter.d.ts +5 -4
- package/lib/typescript/src/EventEmitter.d.ts.map +1 -0
- package/lib/typescript/{commonjs/src → src}/NativeOrientationDirector.d.ts +10 -3
- package/lib/typescript/src/NativeOrientationDirector.d.ts.map +1 -0
- package/lib/typescript/{module/src → src}/RNOrientationDirector.d.ts +3 -3
- package/lib/typescript/src/RNOrientationDirector.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useDeviceOrientation.hook.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useInterfaceOrientation.hook.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useIsInterfaceOrientationLocked.hook.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/module.d.ts +4 -0
- package/lib/typescript/src/module.d.ts.map +1 -0
- package/lib/typescript/src/types/AutoRotation.enum.d.ts.map +1 -0
- package/lib/typescript/src/types/Event.enum.d.ts.map +1 -0
- package/lib/typescript/src/types/HumanReadableAutoRotationsResource.type.d.ts.map +1 -0
- package/lib/typescript/src/types/HumanReadableOrientationsResource.type.d.ts.map +1 -0
- package/lib/typescript/src/types/LockableOrientation.type.d.ts.map +1 -0
- package/lib/typescript/src/types/LockedEvent.interface.d.ts.map +1 -0
- package/lib/typescript/src/types/Orientation.enum.d.ts.map +1 -0
- package/lib/typescript/src/types/OrientationEvent.interface.d.ts.map +1 -0
- package/lib/typescript/src/types/OrientationType.enum.d.ts.map +1 -0
- package/package.json +72 -77
- package/react-native-orientation-director.podspec +4 -24
- package/src/EventEmitter.ts +21 -24
- package/src/NativeOrientationDirector.ts +8 -3
- package/src/module.ts +1 -3
- package/android/gradle.properties +0 -17
- package/android/src/main/AndroidManifestNew.xml +0 -2
- package/android/src/oldarch/OrientationDirectorModule.kt +0 -66
- package/android/src/test/java/com/orientationdirector/implementation/OrientationDirectorModuleImplTest.kt +0 -199
- package/android/src/test/java/com/orientationdirector/implementation/UtilsTest.kt +0 -314
- package/ios/react-native-orientation-director-Bridging-Header.h +0 -6
- package/lib/commonjs/EventEmitter.js +0 -48
- package/lib/commonjs/NativeOrientationDirector.js +0 -8
- package/lib/commonjs/RNOrientationDirector.js +0 -126
- package/lib/commonjs/hooks/useDeviceOrientation.hook.js +0 -37
- package/lib/commonjs/hooks/useInterfaceOrientation.hook.js +0 -37
- package/lib/commonjs/hooks/useIsInterfaceOrientationLocked.hook.js +0 -27
- package/lib/commonjs/index.js +0 -51
- package/lib/commonjs/module.js +0 -22
- package/lib/commonjs/package.json +0 -1
- package/lib/commonjs/types/AutoRotation.enum.js +0 -12
- package/lib/commonjs/types/Event.enum.js +0 -13
- package/lib/commonjs/types/HumanReadableAutoRotationsResource.type.js +0 -5
- package/lib/commonjs/types/HumanReadableOrientationsResource.type.js +0 -5
- package/lib/commonjs/types/LockableOrientation.type.js +0 -5
- package/lib/commonjs/types/LockedEvent.interface.js +0 -1
- package/lib/commonjs/types/Orientation.enum.js +0 -17
- package/lib/commonjs/types/OrientationEvent.interface.js +0 -5
- package/lib/commonjs/types/OrientationType.enum.js +0 -11
- package/lib/typescript/commonjs/example/src/App.d.ts +0 -2
- package/lib/typescript/commonjs/example/src/App.d.ts.map +0 -1
- package/lib/typescript/commonjs/example/src/AppNavigationContainer.d.ts +0 -3
- package/lib/typescript/commonjs/example/src/AppNavigationContainer.d.ts.map +0 -1
- package/lib/typescript/commonjs/example/src/screens/Explore.d.ts +0 -3
- package/lib/typescript/commonjs/example/src/screens/Explore.d.ts.map +0 -1
- package/lib/typescript/commonjs/example/src/screens/Home.d.ts +0 -3
- package/lib/typescript/commonjs/example/src/screens/Home.d.ts.map +0 -1
- package/lib/typescript/commonjs/example/src/screens/InnerExplore.d.ts +0 -3
- package/lib/typescript/commonjs/example/src/screens/InnerExplore.d.ts.map +0 -1
- package/lib/typescript/commonjs/example/src/screens/styles.d.ts +0 -51
- package/lib/typescript/commonjs/example/src/screens/styles.d.ts.map +0 -1
- package/lib/typescript/commonjs/package.json +0 -1
- package/lib/typescript/commonjs/src/EventEmitter.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/NativeOrientationDirector.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/RNOrientationDirector.d.ts +0 -62
- package/lib/typescript/commonjs/src/RNOrientationDirector.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/hooks/useDeviceOrientation.hook.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/hooks/useInterfaceOrientation.hook.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/hooks/useIsInterfaceOrientationLocked.hook.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/index.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/module.d.ts +0 -6
- package/lib/typescript/commonjs/src/module.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/types/AutoRotation.enum.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/types/Event.enum.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/types/HumanReadableAutoRotationsResource.type.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/types/HumanReadableOrientationsResource.type.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/types/LockableOrientation.type.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/types/LockedEvent.interface.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/types/Orientation.enum.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/types/OrientationEvent.interface.d.ts.map +0 -1
- package/lib/typescript/commonjs/src/types/OrientationType.enum.d.ts.map +0 -1
- package/lib/typescript/module/example/src/App.d.ts +0 -2
- package/lib/typescript/module/example/src/App.d.ts.map +0 -1
- package/lib/typescript/module/example/src/AppNavigationContainer.d.ts +0 -3
- package/lib/typescript/module/example/src/AppNavigationContainer.d.ts.map +0 -1
- package/lib/typescript/module/example/src/screens/Explore.d.ts +0 -3
- package/lib/typescript/module/example/src/screens/Explore.d.ts.map +0 -1
- package/lib/typescript/module/example/src/screens/Home.d.ts +0 -3
- package/lib/typescript/module/example/src/screens/Home.d.ts.map +0 -1
- package/lib/typescript/module/example/src/screens/InnerExplore.d.ts +0 -3
- package/lib/typescript/module/example/src/screens/InnerExplore.d.ts.map +0 -1
- package/lib/typescript/module/example/src/screens/styles.d.ts +0 -51
- package/lib/typescript/module/example/src/screens/styles.d.ts.map +0 -1
- package/lib/typescript/module/src/EventEmitter.d.ts +0 -11
- package/lib/typescript/module/src/EventEmitter.d.ts.map +0 -1
- package/lib/typescript/module/src/NativeOrientationDirector.d.ts +0 -17
- package/lib/typescript/module/src/NativeOrientationDirector.d.ts.map +0 -1
- package/lib/typescript/module/src/RNOrientationDirector.d.ts.map +0 -1
- package/lib/typescript/module/src/hooks/useDeviceOrientation.hook.d.ts +0 -8
- package/lib/typescript/module/src/hooks/useDeviceOrientation.hook.d.ts.map +0 -1
- package/lib/typescript/module/src/hooks/useInterfaceOrientation.hook.d.ts +0 -8
- package/lib/typescript/module/src/hooks/useInterfaceOrientation.hook.d.ts.map +0 -1
- package/lib/typescript/module/src/hooks/useIsInterfaceOrientationLocked.hook.d.ts +0 -7
- package/lib/typescript/module/src/hooks/useIsInterfaceOrientationLocked.hook.d.ts.map +0 -1
- package/lib/typescript/module/src/index.d.ts +0 -12
- package/lib/typescript/module/src/index.d.ts.map +0 -1
- package/lib/typescript/module/src/module.d.ts +0 -6
- package/lib/typescript/module/src/module.d.ts.map +0 -1
- package/lib/typescript/module/src/types/AutoRotation.enum.d.ts +0 -6
- package/lib/typescript/module/src/types/AutoRotation.enum.d.ts.map +0 -1
- package/lib/typescript/module/src/types/Event.enum.d.ts +0 -7
- package/lib/typescript/module/src/types/Event.enum.d.ts.map +0 -1
- package/lib/typescript/module/src/types/HumanReadableAutoRotationsResource.type.d.ts +0 -3
- package/lib/typescript/module/src/types/HumanReadableAutoRotationsResource.type.d.ts.map +0 -1
- package/lib/typescript/module/src/types/HumanReadableOrientationsResource.type.d.ts +0 -3
- package/lib/typescript/module/src/types/HumanReadableOrientationsResource.type.d.ts.map +0 -1
- package/lib/typescript/module/src/types/LockableOrientation.type.d.ts +0 -3
- package/lib/typescript/module/src/types/LockableOrientation.type.d.ts.map +0 -1
- package/lib/typescript/module/src/types/LockedEvent.interface.d.ts +0 -4
- package/lib/typescript/module/src/types/LockedEvent.interface.d.ts.map +0 -1
- package/lib/typescript/module/src/types/Orientation.enum.d.ts +0 -11
- package/lib/typescript/module/src/types/Orientation.enum.d.ts.map +0 -1
- package/lib/typescript/module/src/types/OrientationEvent.interface.d.ts +0 -5
- package/lib/typescript/module/src/types/OrientationEvent.interface.d.ts.map +0 -1
- package/lib/typescript/module/src/types/OrientationType.enum.d.ts +0 -5
- package/lib/typescript/module/src/types/OrientationType.enum.d.ts.map +0 -1
- package/plugin/build/custom-mod/withBridgingHeader.d.ts +0 -12
- package/plugin/build/custom-mod/withBridgingHeader.js +0 -107
- package/plugin/build/index.d.ts +0 -3
- package/plugin/build/index.js +0 -27
- package/plugin/build/withRNOrientationAppDelegate.d.ts +0 -4
- package/plugin/build/withRNOrientationAppDelegate.js +0 -102
- package/plugin/build/withRNOrientationBridgingHeader.d.ts +0 -3
- package/plugin/build/withRNOrientationBridgingHeader.js +0 -27
- package/plugin/build/withRNOrientationMainActivity.d.ts +0 -3
- package/plugin/tsconfig.json +0 -9
- /package/lib/typescript/{module/package.json → package.json} +0 -0
- /package/lib/typescript/{commonjs/src → src}/hooks/useDeviceOrientation.hook.d.ts +0 -0
- /package/lib/typescript/{commonjs/src → src}/hooks/useInterfaceOrientation.hook.d.ts +0 -0
- /package/lib/typescript/{commonjs/src → src}/hooks/useIsInterfaceOrientationLocked.hook.d.ts +0 -0
- /package/lib/typescript/{commonjs/src → src}/index.d.ts +0 -0
- /package/lib/typescript/{commonjs/src → src}/types/AutoRotation.enum.d.ts +0 -0
- /package/lib/typescript/{commonjs/src → src}/types/Event.enum.d.ts +0 -0
- /package/lib/typescript/{commonjs/src → src}/types/HumanReadableAutoRotationsResource.type.d.ts +0 -0
- /package/lib/typescript/{commonjs/src → src}/types/HumanReadableOrientationsResource.type.d.ts +0 -0
- /package/lib/typescript/{commonjs/src → src}/types/LockableOrientation.type.d.ts +0 -0
- /package/lib/typescript/{commonjs/src → src}/types/LockedEvent.interface.d.ts +0 -0
- /package/lib/typescript/{commonjs/src → src}/types/Orientation.enum.d.ts +0 -0
- /package/lib/typescript/{commonjs/src → src}/types/OrientationEvent.interface.d.ts +0 -0
- /package/lib/typescript/{commonjs/src → src}/types/OrientationType.enum.d.ts +0 -0
|
@@ -5,52 +5,32 @@ import android.hardware.Sensor
|
|
|
5
5
|
import android.hardware.SensorEvent
|
|
6
6
|
import android.hardware.SensorEventListener
|
|
7
7
|
import android.hardware.SensorManager
|
|
8
|
+
import android.view.OrientationEventListener
|
|
8
9
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
9
10
|
|
|
10
11
|
class OrientationSensorsEventListener(
|
|
11
12
|
context: ReactApplicationContext,
|
|
12
|
-
) : SensorEventListener {
|
|
13
|
+
) : SensorEventListener, OrientationEventListener(context, SensorManager.SENSOR_DELAY_UI) {
|
|
14
|
+
private val rotationMatrix = FloatArray(9)
|
|
15
|
+
|
|
13
16
|
private var mSensorManager: SensorManager =
|
|
14
17
|
context.getSystemService(SENSOR_SERVICE) as SensorManager
|
|
15
|
-
|
|
16
18
|
private var mRotationSensor: Sensor? =
|
|
17
19
|
mSensorManager.getDefaultSensor(Sensor.TYPE_ROTATION_VECTOR)
|
|
18
|
-
private var mAccelerometerSensor: Sensor? =
|
|
19
|
-
mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER)
|
|
20
|
-
private var mMagneticFieldSensor: Sensor? =
|
|
21
|
-
mSensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD)
|
|
22
|
-
|
|
23
20
|
private var hasRotationSensor: Boolean =
|
|
24
|
-
|
|
25
|
-
private var hasAccelerometerAndMagneticFieldSensors: Boolean =
|
|
26
|
-
mAccelerometerSensor != null && mMagneticFieldSensor != null
|
|
21
|
+
mRotationSensor != null
|
|
27
22
|
|
|
28
|
-
private
|
|
29
|
-
private
|
|
30
|
-
|
|
31
|
-
private var lastComputedOrientationAngles = FloatArray(3)
|
|
32
|
-
private var onOrientationAnglesChangedCallback: ((orientationAngles: FloatArray) -> Unit)? = null
|
|
33
|
-
|
|
34
|
-
fun setOnOrientationAnglesChangedCallback(callback: (orientation: FloatArray) -> Unit) {
|
|
35
|
-
onOrientationAnglesChangedCallback = callback
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
override fun onSensorChanged(event: SensorEvent?) {
|
|
39
|
-
if (event == null) {
|
|
40
|
-
return
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
if (event.sensor.type == Sensor.TYPE_ROTATION_VECTOR) {
|
|
44
|
-
computeOrientationFromRotationSensor(event.values);
|
|
45
|
-
return
|
|
46
|
-
}
|
|
23
|
+
private var lastComputedDeviceOrientation = Orientation.UNKNOWN
|
|
24
|
+
private var lastComputedFaceOrientation = Orientation.UNKNOWN
|
|
47
25
|
|
|
48
|
-
|
|
26
|
+
private var onDeviceOrientationChangedCallback: ((deviceOrientation: Orientation) -> Unit)? = null
|
|
27
|
+
fun setOnDeviceOrientationChangedCallback(callback: (deviceOrientation: Orientation) -> Unit) {
|
|
28
|
+
onDeviceOrientationChangedCallback = callback
|
|
49
29
|
}
|
|
50
30
|
|
|
51
|
-
override fun
|
|
31
|
+
override fun enable() {
|
|
32
|
+
super.enable()
|
|
52
33
|
|
|
53
|
-
fun enable() {
|
|
54
34
|
if (hasRotationSensor) {
|
|
55
35
|
mSensorManager.registerListener(
|
|
56
36
|
this,
|
|
@@ -58,72 +38,85 @@ class OrientationSensorsEventListener(
|
|
|
58
38
|
SensorManager.SENSOR_DELAY_NORMAL,
|
|
59
39
|
SensorManager.SENSOR_DELAY_UI
|
|
60
40
|
)
|
|
61
|
-
return
|
|
62
41
|
}
|
|
63
42
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
this,
|
|
67
|
-
mAccelerometerSensor,
|
|
68
|
-
SensorManager.SENSOR_DELAY_NORMAL,
|
|
69
|
-
SensorManager.SENSOR_DELAY_UI
|
|
70
|
-
)
|
|
71
|
-
mSensorManager.registerListener(
|
|
72
|
-
this,
|
|
73
|
-
mMagneticFieldSensor,
|
|
74
|
-
SensorManager.SENSOR_DELAY_NORMAL,
|
|
75
|
-
SensorManager.SENSOR_DELAY_UI
|
|
76
|
-
)
|
|
77
|
-
return
|
|
78
|
-
}
|
|
43
|
+
lastComputedDeviceOrientation = Orientation.UNKNOWN
|
|
44
|
+
lastComputedFaceOrientation = Orientation.UNKNOWN
|
|
79
45
|
}
|
|
80
46
|
|
|
81
|
-
fun disable() {
|
|
82
|
-
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
private fun computeOrientationFromRotationSensor(values: FloatArray) {
|
|
86
|
-
val rotationMatrix = FloatArray(9)
|
|
87
|
-
SensorManager.getRotationMatrixFromVector(rotationMatrix, values)
|
|
47
|
+
override fun disable() {
|
|
48
|
+
super.disable()
|
|
88
49
|
|
|
89
|
-
|
|
90
|
-
|
|
50
|
+
if (hasRotationSensor) {
|
|
51
|
+
mSensorManager.unregisterListener(this)
|
|
52
|
+
}
|
|
91
53
|
|
|
92
|
-
|
|
54
|
+
lastComputedDeviceOrientation = Orientation.UNKNOWN
|
|
55
|
+
lastComputedFaceOrientation = Orientation.UNKNOWN
|
|
93
56
|
}
|
|
94
57
|
|
|
95
|
-
|
|
96
|
-
if (
|
|
97
|
-
|
|
58
|
+
override fun onOrientationChanged(angleDegrees: Int) {
|
|
59
|
+
if (angleDegrees == ORIENTATION_UNKNOWN) {
|
|
60
|
+
lastComputedDeviceOrientation = Orientation.UNKNOWN
|
|
61
|
+
return
|
|
98
62
|
}
|
|
99
63
|
|
|
100
|
-
|
|
101
|
-
|
|
64
|
+
val currentDeviceOrientation = when (angleDegrees) {
|
|
65
|
+
in LANDSCAPE_RIGHT_START .. LANDSCAPE_RIGHT_END -> Orientation.LANDSCAPE_RIGHT
|
|
66
|
+
in PORTRAIT_UPSIDE_DOWN_START..PORTRAIT_UPSIDE_DOWN_END -> Orientation.PORTRAIT_UPSIDE_DOWN
|
|
67
|
+
in LANDSCAPE_LEFT_START..LANDSCAPE_LEFT_END -> Orientation.LANDSCAPE_LEFT
|
|
68
|
+
else -> Orientation.PORTRAIT
|
|
102
69
|
}
|
|
103
70
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
)
|
|
111
|
-
|
|
71
|
+
if (currentDeviceOrientation == lastComputedDeviceOrientation) return
|
|
72
|
+
|
|
73
|
+
notifyDeviceOrientationChanged(currentDeviceOrientation)
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
override fun onSensorChanged(event: SensorEvent) {
|
|
77
|
+
if (event.sensor.type != Sensor.TYPE_ROTATION_VECTOR) return
|
|
78
|
+
|
|
79
|
+
if (lastComputedDeviceOrientation != Orientation.UNKNOWN) {
|
|
80
|
+
lastComputedFaceOrientation = Orientation.UNKNOWN
|
|
112
81
|
return
|
|
113
82
|
}
|
|
114
83
|
|
|
115
|
-
|
|
116
|
-
|
|
84
|
+
SensorManager.getRotationMatrixFromVector(rotationMatrix, event.values)
|
|
85
|
+
|
|
86
|
+
val zUp = rotationMatrix[8]
|
|
87
|
+
val currentFaceOrientation = when {
|
|
88
|
+
zUp > FACE_UP_Z_THRESHOLD -> Orientation.FACE_UP
|
|
89
|
+
zUp < -FACE_DOWN_Z_THRESHOLD -> Orientation.FACE_DOWN
|
|
90
|
+
else -> null
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
if (currentFaceOrientation == null) return
|
|
94
|
+
|
|
95
|
+
if (currentFaceOrientation == lastComputedFaceOrientation) return
|
|
117
96
|
|
|
118
|
-
|
|
97
|
+
notifyFaceOrientationChanged(currentFaceOrientation)
|
|
119
98
|
}
|
|
120
99
|
|
|
121
|
-
private fun
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
100
|
+
private fun notifyDeviceOrientationChanged(deviceOrientation: Orientation) {
|
|
101
|
+
lastComputedDeviceOrientation = deviceOrientation
|
|
102
|
+
onDeviceOrientationChangedCallback?.invoke(deviceOrientation)
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
private fun notifyFaceOrientationChanged(faceOrientation: Orientation) {
|
|
106
|
+
lastComputedFaceOrientation = faceOrientation
|
|
107
|
+
onDeviceOrientationChangedCallback?.invoke(faceOrientation)
|
|
108
|
+
}
|
|
125
109
|
|
|
126
|
-
|
|
127
|
-
|
|
110
|
+
override fun onAccuracyChanged(sensor: Sensor?, accuracy: Int) = Unit
|
|
111
|
+
|
|
112
|
+
companion object {
|
|
113
|
+
private const val LANDSCAPE_RIGHT_START = 45
|
|
114
|
+
private const val LANDSCAPE_RIGHT_END = 134
|
|
115
|
+
private const val PORTRAIT_UPSIDE_DOWN_START = 135
|
|
116
|
+
private const val PORTRAIT_UPSIDE_DOWN_END = 224
|
|
117
|
+
private const val LANDSCAPE_LEFT_START = 225
|
|
118
|
+
private const val LANDSCAPE_LEFT_END = 314
|
|
119
|
+
private const val FACE_UP_Z_THRESHOLD = 0.906f
|
|
120
|
+
private const val FACE_DOWN_Z_THRESHOLD = 0.906f
|
|
128
121
|
}
|
|
129
122
|
}
|
|
@@ -19,51 +19,6 @@ class Utils(private val context: ReactContext) {
|
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
fun convertToDeviceOrientationFrom(orientationAngles: FloatArray): Orientation {
|
|
23
|
-
if (orientationAngles.size < 3) {
|
|
24
|
-
return Orientation.PORTRAIT
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
val (_, pitchRadians, rollRadians) = orientationAngles
|
|
28
|
-
|
|
29
|
-
val pitch = Math.toDegrees(pitchRadians.toDouble()).toFloat()
|
|
30
|
-
val roll = Math.toDegrees(rollRadians.toDouble()).toFloat()
|
|
31
|
-
|
|
32
|
-
val faceUpDownPitchTolerance = 30f
|
|
33
|
-
|
|
34
|
-
fun isValueCloseTo(value: Float, target: Float, tolerance: Float): Boolean {
|
|
35
|
-
return value in (target - tolerance)..(target + tolerance)
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
return when {
|
|
39
|
-
// Face up: device is lying flat with screen up
|
|
40
|
-
isValueCloseTo(pitch, 0f, faceUpDownPitchTolerance) &&
|
|
41
|
-
isValueCloseTo(roll, 0f, faceUpDownPitchTolerance) -> Orientation.FACE_UP
|
|
42
|
-
|
|
43
|
-
// Face down: device is lying flat with screen down
|
|
44
|
-
isValueCloseTo(pitch, 0f, faceUpDownPitchTolerance) &&
|
|
45
|
-
(isValueCloseTo(roll, 180f, faceUpDownPitchTolerance) || isValueCloseTo(
|
|
46
|
-
roll,
|
|
47
|
-
-180f,
|
|
48
|
-
faceUpDownPitchTolerance
|
|
49
|
-
)) -> Orientation.FACE_DOWN
|
|
50
|
-
|
|
51
|
-
// Portrait
|
|
52
|
-
isValueCloseTo(pitch, -90f, 45f) -> Orientation.PORTRAIT
|
|
53
|
-
|
|
54
|
-
// Portrait upside down
|
|
55
|
-
isValueCloseTo(pitch, 90f, 45f) -> Orientation.PORTRAIT_UPSIDE_DOWN
|
|
56
|
-
|
|
57
|
-
// Landscape left
|
|
58
|
-
isValueCloseTo(roll, -90f, 45f) -> Orientation.LANDSCAPE_LEFT
|
|
59
|
-
|
|
60
|
-
// Landscape right
|
|
61
|
-
isValueCloseTo(roll, 90f, 45f) -> Orientation.LANDSCAPE_RIGHT
|
|
62
|
-
|
|
63
|
-
else -> Orientation.UNKNOWN
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
22
|
fun convertToActivityOrientationFrom(orientation: Orientation): Int {
|
|
68
23
|
return when (orientation) {
|
|
69
24
|
Orientation.LANDSCAPE_RIGHT -> ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE
|
|
@@ -93,13 +48,4 @@ class Utils(private val context: ReactContext) {
|
|
|
93
48
|
}
|
|
94
49
|
}
|
|
95
50
|
|
|
96
|
-
fun convertToInterfaceOrientationFrom(deviceOrientation: Orientation): Orientation {
|
|
97
|
-
return when (deviceOrientation) {
|
|
98
|
-
Orientation.PORTRAIT -> Orientation.PORTRAIT
|
|
99
|
-
Orientation.LANDSCAPE_RIGHT -> Orientation.LANDSCAPE_LEFT
|
|
100
|
-
Orientation.PORTRAIT_UPSIDE_DOWN -> Orientation.PORTRAIT_UPSIDE_DOWN
|
|
101
|
-
Orientation.LANDSCAPE_LEFT -> Orientation.LANDSCAPE_RIGHT
|
|
102
|
-
else -> Orientation.UNKNOWN
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
51
|
}
|
package/app.plugin.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
module.exports = require('./plugin
|
|
1
|
+
module.exports = require('./lib/plugin');
|
|
@@ -1,22 +1,5 @@
|
|
|
1
|
-
#import <React/RCTEventEmitter.h>
|
|
2
|
-
|
|
3
|
-
#ifdef RCT_NEW_ARCH_ENABLED
|
|
4
1
|
#import <RNOrientationDirectorSpec/RNOrientationDirectorSpec.h>
|
|
5
2
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
@interface OrientationDirector : RCTEventEmitter <NativeOrientationDirectorSpec>
|
|
9
|
-
|
|
10
|
-
NS_ASSUME_NONNULL_END
|
|
11
|
-
|
|
12
|
-
#else
|
|
13
|
-
#import <React/RCTBridgeModule.h>
|
|
14
|
-
|
|
15
|
-
@interface OrientationDirector : RCTEventEmitter <RCTBridgeModule>
|
|
16
|
-
#endif
|
|
17
|
-
|
|
18
|
-
@property (nonatomic, assign) BOOL isJsListening;
|
|
19
|
-
|
|
20
|
-
+(UIInterfaceOrientationMask)getSupportedInterfaceOrientationsForWindow;
|
|
3
|
+
@interface OrientationDirector : NativeOrientationDirectorSpecBase <NativeOrientationDirectorSpec>
|
|
21
4
|
|
|
22
5
|
@end
|
|
@@ -4,13 +4,13 @@
|
|
|
4
4
|
This condition is needed to support use_frameworks.
|
|
5
5
|
https://github.com/callstack/react-native-builder-bob/discussions/412#discussioncomment-6352402
|
|
6
6
|
*/
|
|
7
|
-
#if __has_include("
|
|
8
|
-
#import "
|
|
7
|
+
#if __has_include("OrientationDirector-Swift.h")
|
|
8
|
+
#import "OrientationDirector-Swift.h"
|
|
9
9
|
#else
|
|
10
|
-
#import "
|
|
10
|
+
#import "OrientationDirector/OrientationDirector-Swift.h"
|
|
11
11
|
#endif
|
|
12
12
|
|
|
13
|
-
static OrientationDirectorImpl *_director =
|
|
13
|
+
static OrientationDirectorImpl *_director = SharedOrientationDirectorImpl.shared;
|
|
14
14
|
|
|
15
15
|
///////////////////////////////////////////////////////////////////////////////////////
|
|
16
16
|
/// EVENT EMITTER SETUP
|
|
@@ -21,7 +21,6 @@ static OrientationDirectorImpl *_director = [OrientationDirectorImpl new];
|
|
|
21
21
|
//////////////////////////////////////////////////////////////////////////////////////////
|
|
22
22
|
|
|
23
23
|
@implementation OrientationDirector
|
|
24
|
-
RCT_EXPORT_MODULE()
|
|
25
24
|
|
|
26
25
|
- (instancetype)init
|
|
27
26
|
{
|
|
@@ -41,28 +40,19 @@ RCT_EXPORT_MODULE()
|
|
|
41
40
|
return YES;
|
|
42
41
|
}
|
|
43
42
|
|
|
44
|
-
+ (UIInterfaceOrientationMask)getSupportedInterfaceOrientationsForWindow
|
|
45
|
-
{
|
|
46
|
-
return [_director supportedInterfaceOrientations];
|
|
47
|
-
}
|
|
48
|
-
|
|
49
43
|
///////////////////////////////////////////////////////////////////////////////////////
|
|
50
44
|
/// EVENT EMITTER SETUP
|
|
51
45
|
///
|
|
52
|
-
-(void)
|
|
53
|
-
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
-(void)stopObserving {
|
|
57
|
-
self.isJsListening = NO;
|
|
46
|
+
-(void)emitOnDeviceOrientationDidChangeWithParams:(NSDictionary*)params {
|
|
47
|
+
[self emitOnDeviceOrientationChanged:params];
|
|
58
48
|
}
|
|
59
49
|
|
|
60
|
-
-
|
|
61
|
-
|
|
50
|
+
-(void)emitOnInterfaceOrientationDidChangeWithParams:(NSDictionary*)params {
|
|
51
|
+
[self emitOnInterfaceOrientationChanged:params];
|
|
62
52
|
}
|
|
63
53
|
|
|
64
|
-
-
|
|
65
|
-
|
|
54
|
+
-(void)emitOnLockChangedWithParams:(NSDictionary*)params {
|
|
55
|
+
[self emitOnLockChanged:params];
|
|
66
56
|
}
|
|
67
57
|
///
|
|
68
58
|
///////////////////////////////////////////////////////////////////////////////////////
|
|
@@ -70,28 +60,29 @@ RCT_EXPORT_MODULE()
|
|
|
70
60
|
///////////////////////////////////////////////////////////////////////////////////////
|
|
71
61
|
/// EXPORTED METHODS
|
|
72
62
|
///
|
|
73
|
-
|
|
74
|
-
|
|
63
|
+
|
|
64
|
+
- (void)getInterfaceOrientation:(RCTPromiseResolveBlock)resolve
|
|
65
|
+
reject:(RCTPromiseRejectBlock)reject
|
|
75
66
|
{
|
|
76
67
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
77
68
|
resolve(@([_director getInterfaceOrientation]));
|
|
78
69
|
});
|
|
79
70
|
}
|
|
80
71
|
|
|
81
|
-
|
|
82
|
-
reject:(RCTPromiseRejectBlock)reject
|
|
72
|
+
- (void)getDeviceOrientation:(RCTPromiseResolveBlock)resolve
|
|
73
|
+
reject:(RCTPromiseRejectBlock)reject
|
|
83
74
|
{
|
|
84
75
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
85
76
|
resolve(@([_director getDeviceOrientation]));
|
|
86
77
|
});
|
|
87
78
|
}
|
|
88
79
|
|
|
89
|
-
|
|
80
|
+
- (NSNumber *)isLocked
|
|
90
81
|
{
|
|
91
82
|
return @([_director getIsLocked]);
|
|
92
83
|
}
|
|
93
84
|
|
|
94
|
-
|
|
85
|
+
- (void)lockTo:(double)jsOrientation
|
|
95
86
|
{
|
|
96
87
|
NSNumber *jsOrientationNumber = @(jsOrientation);
|
|
97
88
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
@@ -99,37 +90,46 @@ RCT_EXPORT_METHOD(lockTo:(double)jsOrientation)
|
|
|
99
90
|
});
|
|
100
91
|
}
|
|
101
92
|
|
|
102
|
-
|
|
93
|
+
- (void)unlock
|
|
103
94
|
{
|
|
104
95
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
105
96
|
[_director unlock];
|
|
106
97
|
});
|
|
107
98
|
}
|
|
108
99
|
|
|
109
|
-
|
|
100
|
+
- (void)resetSupportedInterfaceOrientations
|
|
110
101
|
{
|
|
111
102
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
112
103
|
[_director resetSupportedInterfaceOrientations];
|
|
113
104
|
});
|
|
114
105
|
}
|
|
115
106
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
107
|
+
///////////////////////////////////////////////////////////////////////////////////////
|
|
108
|
+
/// STUBS
|
|
109
|
+
///
|
|
110
|
+
|
|
111
|
+
- (NSNumber *)isAutoRotationEnabled
|
|
120
112
|
{
|
|
121
113
|
return @(NO);
|
|
122
114
|
}
|
|
115
|
+
|
|
116
|
+
- (void)disableOrientationSensors {}
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
- (void)enableOrientationSensors {}
|
|
120
|
+
|
|
123
121
|
///
|
|
124
122
|
///////////////////////////////////////////////////////////////////////////////////////
|
|
125
123
|
|
|
126
|
-
// Don't compile this code when we build for the old architecture.
|
|
127
|
-
#ifdef RCT_NEW_ARCH_ENABLED
|
|
128
124
|
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
|
|
129
125
|
(const facebook::react::ObjCTurboModule::InitParams &)params
|
|
130
126
|
{
|
|
131
127
|
return std::make_shared<facebook::react::NativeOrientationDirectorSpecJSI>(params);
|
|
132
128
|
}
|
|
133
|
-
|
|
129
|
+
|
|
130
|
+
+ (NSString *)moduleName
|
|
131
|
+
{
|
|
132
|
+
return @"OrientationDirector";
|
|
133
|
+
}
|
|
134
134
|
|
|
135
135
|
@end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
//
|
|
2
|
+
// SharedOrientationDirectorImpl.swift
|
|
3
|
+
// react-native-orientation-director
|
|
4
|
+
//
|
|
5
|
+
// Created by Mirko Quaglia on 14/03/26.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
import Foundation
|
|
9
|
+
|
|
10
|
+
@objc public class SharedOrientationDirectorImpl: NSObject {
|
|
11
|
+
@objc public static let shared = OrientationDirectorImpl()
|
|
12
|
+
}
|
|
@@ -7,33 +7,25 @@
|
|
|
7
7
|
|
|
8
8
|
import Foundation
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
public class EventManager: NSObject {
|
|
11
|
+
public weak var delegate: OrientationEventEmitterDelegate?
|
|
12
12
|
|
|
13
|
-
func sendDeviceOrientationDidChange(
|
|
13
|
+
func sendDeviceOrientationDidChange(value: Int) {
|
|
14
14
|
guard let delegate = delegate else {
|
|
15
15
|
return
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
let params = Dictionary(dictionaryLiteral: ("orientation", orientationValue))
|
|
23
|
-
delegate.sendEvent(name: Event.DeviceOrientationDidChange.rawValue, params: params as NSDictionary)
|
|
18
|
+
let params = Dictionary(dictionaryLiteral: ("orientation", value))
|
|
19
|
+
delegate.emitOnDeviceOrientationDidChange(params: params as NSDictionary)
|
|
24
20
|
}
|
|
25
21
|
|
|
26
|
-
func sendInterfaceOrientationDidChange(
|
|
22
|
+
func sendInterfaceOrientationDidChange(value: Int) {
|
|
27
23
|
guard let delegate = delegate else {
|
|
28
24
|
return
|
|
29
25
|
}
|
|
30
26
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
let params = Dictionary(dictionaryLiteral: ("orientation", orientationValue))
|
|
36
|
-
delegate.sendEvent(name: Event.InterfaceOrientationDidChange.rawValue, params: params as NSDictionary)
|
|
27
|
+
let params = Dictionary(dictionaryLiteral: ("orientation", value))
|
|
28
|
+
delegate.emitOnInterfaceOrientationDidChange(params: params as NSDictionary)
|
|
37
29
|
}
|
|
38
30
|
|
|
39
31
|
func sendLockDidChange(value: Bool) {
|
|
@@ -41,30 +33,13 @@ import Foundation
|
|
|
41
33
|
return
|
|
42
34
|
}
|
|
43
35
|
|
|
44
|
-
if !delegate.isJsListening {
|
|
45
|
-
return
|
|
46
|
-
}
|
|
47
|
-
|
|
48
36
|
let params = Dictionary(dictionaryLiteral: ("locked", value))
|
|
49
|
-
delegate.
|
|
37
|
+
delegate.emitOnLockChanged(params: params as NSDictionary)
|
|
50
38
|
}
|
|
51
39
|
}
|
|
52
40
|
|
|
53
41
|
@objc public protocol OrientationEventEmitterDelegate {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
func
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
public extension EventManager {
|
|
60
|
-
|
|
61
|
-
enum Event: String, CaseIterable {
|
|
62
|
-
case DeviceOrientationDidChange
|
|
63
|
-
case InterfaceOrientationDidChange
|
|
64
|
-
case LockDidChange
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
@objc static var supportedEvents: [String] {
|
|
68
|
-
return Event.allCases.map(\.rawValue)
|
|
69
|
-
}
|
|
42
|
+
func emitOnLockChanged(params: NSDictionary)
|
|
43
|
+
func emitOnDeviceOrientationDidChange(params: NSDictionary)
|
|
44
|
+
func emitOnInterfaceOrientationDidChange(params: NSDictionary)
|
|
70
45
|
}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import Foundation
|
|
9
9
|
import UIKit
|
|
10
10
|
|
|
11
|
-
@
|
|
11
|
+
@objcMembers public class OrientationDirectorImpl: NSObject {
|
|
12
12
|
private static let TAG = "OrientationDirectorImpl"
|
|
13
13
|
|
|
14
14
|
private let bundleManager: BundleManager = BundleManager()
|
|
@@ -19,7 +19,7 @@ import UIKit
|
|
|
19
19
|
private var lastInterfaceOrientation = Orientation.UNKNOWN
|
|
20
20
|
private var lastDeviceOrientation = Orientation.UNKNOWN
|
|
21
21
|
private var isLocked = false
|
|
22
|
-
|
|
22
|
+
|
|
23
23
|
/// # Only on iOS < 16
|
|
24
24
|
/// This variable is needed to prevent a loop where
|
|
25
25
|
/// we lock the interface to a specific orientation
|
|
@@ -174,11 +174,11 @@ import UIKit
|
|
|
174
174
|
|
|
175
175
|
private func onOrientationChanged(uiDeviceOrientation: UIDeviceOrientation) {
|
|
176
176
|
let deviceOrientation = utils.convertToOrientationFrom(deviceOrientation: uiDeviceOrientation)
|
|
177
|
-
|
|
177
|
+
|
|
178
178
|
if (!self.isLocking) {
|
|
179
|
-
self.eventManager.sendDeviceOrientationDidChange(
|
|
179
|
+
self.eventManager.sendDeviceOrientationDidChange(value: deviceOrientation.rawValue)
|
|
180
180
|
}
|
|
181
|
-
|
|
181
|
+
|
|
182
182
|
lastDeviceOrientation = deviceOrientation
|
|
183
183
|
adaptInterfaceTo(deviceOrientation: deviceOrientation)
|
|
184
184
|
}
|
|
@@ -203,7 +203,7 @@ import UIKit
|
|
|
203
203
|
}
|
|
204
204
|
|
|
205
205
|
private func updateLastInterfaceOrientationTo(value: Orientation) {
|
|
206
|
-
|
|
206
|
+
self.eventManager.sendInterfaceOrientationDidChange(value: value.rawValue)
|
|
207
207
|
lastInterfaceOrientation = value
|
|
208
208
|
}
|
|
209
209
|
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { Platform } from 'react-native';
|
|
4
|
-
import Module
|
|
5
|
-
import Event from "./types/Event.enum.js";
|
|
4
|
+
import Module from "./module.js";
|
|
6
5
|
class EventEmitter {
|
|
6
|
+
static androidListenerCount = 0;
|
|
7
7
|
static addDeviceOrientationDidChangeListener(callback) {
|
|
8
|
-
let listener =
|
|
8
|
+
let listener = Module.onDeviceOrientationChanged(callback);
|
|
9
9
|
if (Platform.OS !== 'android') {
|
|
10
10
|
return listener;
|
|
11
11
|
}
|
|
12
|
-
|
|
13
|
-
if (
|
|
12
|
+
EventEmitter.androidListenerCount++;
|
|
13
|
+
if (EventEmitter.androidListenerCount === 1) {
|
|
14
14
|
Module.enableOrientationSensors();
|
|
15
15
|
}
|
|
16
16
|
return EventEmitter.createDeviceOrientationListenerProxy(listener);
|
|
17
17
|
}
|
|
18
18
|
static addInterfaceOrientationDidChangeListener(callback) {
|
|
19
|
-
return
|
|
19
|
+
return Module.onInterfaceOrientationChanged(callback);
|
|
20
20
|
}
|
|
21
21
|
static addLockDidChangeListener(callback) {
|
|
22
|
-
return
|
|
22
|
+
return Module.onLockChanged(callback);
|
|
23
23
|
}
|
|
24
24
|
static createDeviceOrientationListenerProxy(listener) {
|
|
25
25
|
const handler = {
|
|
@@ -32,10 +32,16 @@ class EventEmitter {
|
|
|
32
32
|
};
|
|
33
33
|
return new Proxy(listener, handler);
|
|
34
34
|
function disableOrientationSensorsIfLastListener() {
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
if (EventEmitter.androidListenerCount === 1) {
|
|
36
|
+
EventEmitter.androidListenerCount = 0;
|
|
37
37
|
Module.disableOrientationSensors();
|
|
38
|
+
return;
|
|
38
39
|
}
|
|
40
|
+
if (EventEmitter.androidListenerCount === 0) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
EventEmitter.androidListenerCount--;
|
|
44
|
+
return;
|
|
39
45
|
}
|
|
40
46
|
}
|
|
41
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","Module","
|
|
1
|
+
{"version":3,"names":["Platform","Module","EventEmitter","androidListenerCount","addDeviceOrientationDidChangeListener","callback","listener","onDeviceOrientationChanged","OS","enableOrientationSensors","createDeviceOrientationListenerProxy","addInterfaceOrientationDidChangeListener","onInterfaceOrientationChanged","addLockDidChangeListener","onLockChanged","handler","get","target","propertyKey","receiver","disableOrientationSensorsIfLastListener","Reflect","Proxy","disableOrientationSensors"],"sourceRoot":"../../src","sources":["EventEmitter.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAgC,cAAc;AAC/D,OAAOC,MAAM,MAAM,aAAU;AAI7B,MAAMC,YAAY,CAAC;EACjB,OAAeC,oBAAoB,GAAG,CAAC;EAEvC,OAAOC,qCAAqCA,CAC1CC,QAAiD,EACjD;IACA,IAAIC,QAAQ,GAAGL,MAAM,CAACM,0BAA0B,CAACF,QAAQ,CAAC;IAE1D,IAAIL,QAAQ,CAACQ,EAAE,KAAK,SAAS,EAAE;MAC7B,OAAOF,QAAQ;IACjB;IAEAJ,YAAY,CAACC,oBAAoB,EAAE;IACnC,IAAID,YAAY,CAACC,oBAAoB,KAAK,CAAC,EAAE;MAC3CF,MAAM,CAACQ,wBAAwB,CAAC,CAAC;IACnC;IAEA,OAAOP,YAAY,CAACQ,oCAAoC,CAACJ,QAAQ,CAAC;EACpE;EAEA,OAAOK,wCAAwCA,CAC7CN,QAAiD,EACjD;IACA,OAAOJ,MAAM,CAACW,6BAA6B,CAACP,QAAQ,CAAC;EACvD;EAEA,OAAOQ,wBAAwBA,CAACR,QAAsC,EAAE;IACtE,OAAOJ,MAAM,CAACa,aAAa,CAACT,QAAQ,CAAC;EACvC;EAEA,OAAeK,oCAAoCA,CACjDJ,QAA2B,EAC3B;IACA,MAAMS,OAAwC,GAAG;MAC/CC,GAAGA,CAACC,MAAM,EAAEC,WAAW,EAAEC,QAAQ,EAAE;QACjC,IAAID,WAAW,KAAK,QAAQ,EAAE;UAC5BE,uCAAuC,CAAC,CAAC;QAC3C;QACA,OAAOC,OAAO,CAACL,GAAG,CAACC,MAAM,EAAEC,WAAW,EAAEC,QAAQ,CAAC;MACnD;IACF,CAAC;IAED,OAAO,IAAIG,KAAK,CAAChB,QAAQ,EAAES,OAAO,CAAC;IAEnC,SAASK,uCAAuCA,CAAA,EAAG;MACjD,IAAIlB,YAAY,CAACC,oBAAoB,KAAK,CAAC,EAAE;QAC3CD,YAAY,CAACC,oBAAoB,GAAG,CAAC;QACrCF,MAAM,CAACsB,yBAAyB,CAAC,CAAC;QAClC;MACF;MAEA,IAAIrB,YAAY,CAACC,oBAAoB,KAAK,CAAC,EAAE;QAC3C;MACF;MAEAD,YAAY,CAACC,oBAAoB,EAAE;MACnC;IACF;EACF;AACF;AAEA,eAAeD,YAAY","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeOrientationDirector.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;
|
|
1
|
+
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeOrientationDirector.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;AA+BlD,eAAeA,mBAAmB,CAACC,YAAY,CAAO,qBAAqB,CAAC","ignoreList":[]}
|