@iternio/react-native-auto-play 0.3.6 → 0.3.8
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/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/AndroidAutoService.kt +5 -16
- package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/AndroidAutoSession.kt +21 -33
- package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridAutoPlay.kt +7 -0
- package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridCluster.kt +6 -0
- package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/VirtualRenderer.kt +67 -64
- package/ios/hybrid/HybridAutoPlay.swift +7 -0
- package/ios/hybrid/HybridCluster.swift +22 -8
- package/lib/AutoPlayHeadlessJsTask.d.ts +2 -1
- package/lib/AutoPlayHeadlessJsTask.js +4 -5
- package/lib/components/SafeAreaInsetsContext.d.ts +1 -1
- package/lib/components/SafeAreaInsetsContext.js +1 -1
- package/lib/hooks/useAndroidAutoTelemetry.js +2 -1
- package/lib/hooks/useFocusedEffect.js +1 -1
- package/lib/hooks/useVoiceInput.d.ts +1 -1
- package/lib/hooks/useVoiceInput.js +1 -1
- package/lib/hybrid/HybridAndroidAutoTelemetry.android.d.ts +2 -0
- package/lib/hybrid/HybridAndroidAutoTelemetry.android.js +2 -0
- package/lib/hybrid/HybridAndroidAutoTelemetry.d.ts +2 -0
- package/lib/hybrid/HybridAndroidAutoTelemetry.js +1 -0
- package/lib/hybrid/HybridAutoPlay.d.ts +2 -0
- package/lib/hybrid/HybridAutoPlay.js +2 -0
- package/lib/index.d.ts +4 -4
- package/lib/index.js +5 -5
- package/lib/scenes/CarPlayDashboardScene.d.ts +3 -3
- package/lib/scenes/CarPlayDashboardScene.js +1 -1
- package/lib/templates/MapTemplate.d.ts +1 -1
- package/lib/templates/MapTemplate.js +1 -1
- package/lib/templates/MessageTemplate.d.ts +1 -1
- package/lib/templates/MessageTemplate.js +1 -1
- package/lib/templates/Template.js +1 -1
- package/nitro.json +77 -20
- package/nitrogen/generated/android/ReactNativeAutoPlayOnLoad.cpp +194 -124
- package/nitrogen/generated/android/ReactNativeAutoPlayOnLoad.hpp +13 -4
- package/nitrogen/generated/android/c++/JActiveCarUxRestrictions.hpp +1 -1
- package/nitrogen/generated/android/c++/JAlertActionStyle.hpp +1 -1
- package/nitrogen/generated/android/c++/JAlertDismissalReason.hpp +1 -1
- package/nitrogen/generated/android/c++/JAppFocusState.hpp +1 -1
- package/nitrogen/generated/android/c++/JAssetImage.hpp +1 -1
- package/nitrogen/generated/android/c++/JAutoText.hpp +1 -1
- package/nitrogen/generated/android/c++/JBooleanTelemetryItem.hpp +1 -1
- package/nitrogen/generated/android/c++/JCarUxRestrictions.hpp +1 -1
- package/nitrogen/generated/android/c++/JClusterEventName.hpp +1 -1
- package/nitrogen/generated/android/c++/JColorScheme.hpp +1 -1
- package/nitrogen/generated/android/c++/JDistance.hpp +1 -1
- package/nitrogen/generated/android/c++/JDistanceUnits.hpp +1 -1
- package/nitrogen/generated/android/c++/JDurationWithTimeZone.hpp +1 -1
- package/nitrogen/generated/android/c++/JEventName.hpp +1 -1
- package/nitrogen/generated/android/c++/JForkType.hpp +1 -1
- package/nitrogen/generated/android/c++/JFunc_void.hpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void_ActiveCarUxRestrictions.hpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void_AlertDismissalReason.hpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void_AppFocusState.hpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void_ColorScheme.hpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void_Point.hpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void_Point_double.hpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void_Point_std__optional_Point_.hpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void_SafeAreaInsets.hpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void_VisibilityState.hpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void_bool.hpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void_std__optional_Location__std__optional_std__string_.hpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void_std__optional_Telemetry_.hpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void_std__optional_bool_.hpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void_std__optional_std__string__std__optional_GoogleSignInAccount_.hpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void_std__string.hpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void_std__string_ColorScheme.hpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void_std__string_ZoomEvent.hpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void_std__string_bool.hpp +2 -2
- package/nitrogen/generated/android/c++/JFunc_void_std__string_std__string.hpp +2 -2
- package/nitrogen/generated/android/c++/JGlyphImage.hpp +1 -1
- package/nitrogen/generated/android/c++/JGoogleSignIn.hpp +1 -1
- package/nitrogen/generated/android/c++/JGoogleSignInAccount.hpp +1 -1
- package/nitrogen/generated/android/c++/JGridTemplateConfig.hpp +1 -1
- package/nitrogen/generated/android/c++/JHybridAndroidAutoTelemetrySpec.cpp +20 -26
- package/nitrogen/generated/android/c++/JHybridAndroidAutoTelemetrySpec.hpp +19 -22
- package/nitrogen/generated/android/c++/JHybridAndroidAutomotiveSpec.cpp +23 -29
- package/nitrogen/generated/android/c++/JHybridAndroidAutomotiveSpec.hpp +19 -22
- package/nitrogen/generated/android/c++/JHybridAutoPlaySpec.cpp +29 -35
- package/nitrogen/generated/android/c++/JHybridAutoPlaySpec.hpp +19 -22
- package/nitrogen/generated/android/c++/JHybridClusterSpec.cpp +25 -31
- package/nitrogen/generated/android/c++/JHybridClusterSpec.hpp +19 -22
- package/nitrogen/generated/android/c++/JHybridGridTemplateSpec.cpp +20 -26
- package/nitrogen/generated/android/c++/JHybridGridTemplateSpec.hpp +19 -22
- package/nitrogen/generated/android/c++/JHybridInformationTemplateSpec.cpp +20 -26
- package/nitrogen/generated/android/c++/JHybridInformationTemplateSpec.hpp +19 -22
- package/nitrogen/generated/android/c++/JHybridListTemplateSpec.cpp +20 -26
- package/nitrogen/generated/android/c++/JHybridListTemplateSpec.hpp +19 -22
- package/nitrogen/generated/android/c++/JHybridMapTemplateSpec.cpp +30 -36
- package/nitrogen/generated/android/c++/JHybridMapTemplateSpec.hpp +19 -22
- package/nitrogen/generated/android/c++/JHybridMessageTemplateSpec.cpp +19 -25
- package/nitrogen/generated/android/c++/JHybridMessageTemplateSpec.hpp +19 -22
- package/nitrogen/generated/android/c++/JHybridSearchTemplateSpec.cpp +20 -26
- package/nitrogen/generated/android/c++/JHybridSearchTemplateSpec.hpp +19 -22
- package/nitrogen/generated/android/c++/JHybridSignInTemplateSpec.cpp +20 -26
- package/nitrogen/generated/android/c++/JHybridSignInTemplateSpec.hpp +19 -22
- package/nitrogen/generated/android/c++/JImageLane.hpp +1 -1
- package/nitrogen/generated/android/c++/JInformationTemplateConfig.hpp +1 -1
- package/nitrogen/generated/android/c++/JInputSignIn.hpp +1 -1
- package/nitrogen/generated/android/c++/JKeepType.hpp +1 -1
- package/nitrogen/generated/android/c++/JKeyboardType.hpp +1 -1
- package/nitrogen/generated/android/c++/JLaneGuidance.hpp +1 -1
- package/nitrogen/generated/android/c++/JListTemplateConfig.hpp +1 -1
- package/nitrogen/generated/android/c++/JLocation.hpp +1 -1
- package/nitrogen/generated/android/c++/JManeuverType.hpp +1 -1
- package/nitrogen/generated/android/c++/JMapTemplateConfig.hpp +1 -1
- package/nitrogen/generated/android/c++/JMessageTemplateConfig.hpp +1 -1
- package/nitrogen/generated/android/c++/JNavigationAlertAction.hpp +1 -1
- package/nitrogen/generated/android/c++/JNitroAction.hpp +1 -1
- package/nitrogen/generated/android/c++/JNitroActionType.hpp +1 -1
- package/nitrogen/generated/android/c++/JNitroAlignment.hpp +1 -1
- package/nitrogen/generated/android/c++/JNitroAttributedString.hpp +1 -1
- package/nitrogen/generated/android/c++/JNitroAttributedStringImage.hpp +1 -1
- package/nitrogen/generated/android/c++/JNitroBaseMapTemplateConfig.hpp +1 -1
- package/nitrogen/generated/android/c++/JNitroButtonStyle.hpp +1 -1
- package/nitrogen/generated/android/c++/JNitroColor.hpp +1 -1
- package/nitrogen/generated/android/c++/JNitroGridButton.hpp +1 -1
- package/nitrogen/generated/android/c++/JNitroImage.hpp +3 -3
- package/nitrogen/generated/android/c++/JNitroLoadingManeuver.hpp +1 -1
- package/nitrogen/generated/android/c++/JNitroManeuver.hpp +4 -4
- package/nitrogen/generated/android/c++/JNitroMapButton.hpp +1 -1
- package/nitrogen/generated/android/c++/JNitroMapButtonType.hpp +1 -1
- package/nitrogen/generated/android/c++/JNitroMessageManeuver.hpp +1 -1
- package/nitrogen/generated/android/c++/JNitroNavigationAlert.hpp +1 -1
- package/nitrogen/generated/android/c++/JNitroRoutingManeuver.hpp +1 -1
- package/nitrogen/generated/android/c++/JNitroRow.hpp +1 -1
- package/nitrogen/generated/android/c++/JNitroSection.hpp +1 -1
- package/nitrogen/generated/android/c++/JNitroSectionType.hpp +1 -1
- package/nitrogen/generated/android/c++/JNumericTelemetryItem.hpp +1 -1
- package/nitrogen/generated/android/c++/JOffRampType.hpp +1 -1
- package/nitrogen/generated/android/c++/JOnRampType.hpp +1 -1
- package/nitrogen/generated/android/c++/JPermissionRequestResult.hpp +1 -1
- package/nitrogen/generated/android/c++/JPinSignIn.hpp +1 -1
- package/nitrogen/generated/android/c++/JPoint.hpp +1 -1
- package/nitrogen/generated/android/c++/JPreferredImageLane.hpp +1 -1
- package/nitrogen/generated/android/c++/JQrSignIn.hpp +1 -1
- package/nitrogen/generated/android/c++/JRouteChoice.hpp +1 -1
- package/nitrogen/generated/android/c++/JSafeAreaInsets.hpp +1 -1
- package/nitrogen/generated/android/c++/JSearchTemplateConfig.hpp +1 -1
- package/nitrogen/generated/android/c++/JSignInMethods.hpp +1 -1
- package/nitrogen/generated/android/c++/JSignInTemplateConfig.hpp +1 -1
- package/nitrogen/generated/android/c++/JStringTelemetryItem.hpp +1 -1
- package/nitrogen/generated/android/c++/JTelemetry.hpp +1 -1
- package/nitrogen/generated/android/c++/JTextInputType.hpp +1 -1
- package/nitrogen/generated/android/c++/JTrafficSide.hpp +1 -1
- package/nitrogen/generated/android/c++/JTravelEstimates.hpp +1 -1
- package/nitrogen/generated/android/c++/JTripConfig.hpp +1 -1
- package/nitrogen/generated/android/c++/JTripPoint.hpp +1 -1
- package/nitrogen/generated/android/c++/JTripPreviewTextConfiguration.hpp +1 -1
- package/nitrogen/generated/android/c++/JTripSelectorCallback.hpp +1 -1
- package/nitrogen/generated/android/c++/JTripsConfig.hpp +1 -1
- package/nitrogen/generated/android/c++/JTurnType.hpp +1 -1
- package/nitrogen/generated/android/c++/JVariant_GlyphImage_AssetImage.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_PreferredImageLane_ImageLane.hpp +3 -3
- package/nitrogen/generated/android/c++/JVariant_QrSignIn_PinSignIn_InputSignIn_GoogleSignIn.hpp +5 -5
- package/nitrogen/generated/android/c++/JVehicleTelemetryItem.hpp +1 -1
- package/nitrogen/generated/android/c++/JVisibilityState.hpp +1 -1
- package/nitrogen/generated/android/c++/JVisibleTravelEstimate.hpp +1 -1
- package/nitrogen/generated/android/c++/JZoomEvent.hpp +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridAndroidAutoTelemetrySpec.kt +15 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridAndroidAutomotiveSpec.kt +15 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridAutoPlaySpec.kt +15 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridClusterSpec.kt +15 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridGridTemplateSpec.kt +15 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridInformationTemplateSpec.kt +15 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridListTemplateSpec.kt +15 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridMapTemplateSpec.kt +15 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridMessageTemplateSpec.kt +14 -17
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridSearchTemplateSpec.kt +15 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridSignInTemplateSpec.kt +15 -18
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroImage.kt +0 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroManeuver.kt +0 -7
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Variant_GlyphImage_AssetImage.kt +0 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Variant_PreferredImageLane_ImageLane.kt +0 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Variant_QrSignIn_PinSignIn_InputSignIn_GoogleSignIn.kt +0 -8
- package/nitrogen/generated/ios/ReactNativeAutoPlay-Swift-Cxx-Bridge.hpp +36 -36
- package/nitrogen/generated/ios/swift/AutoText.swift +8 -1
- package/nitrogen/generated/ios/swift/GlyphImage.swift +8 -1
- package/nitrogen/generated/ios/swift/GridTemplateConfig.swift +8 -1
- package/nitrogen/generated/ios/swift/InformationTemplateConfig.swift +8 -1
- package/nitrogen/generated/ios/swift/ListTemplateConfig.swift +8 -1
- package/nitrogen/generated/ios/swift/MapTemplateConfig.swift +16 -2
- package/nitrogen/generated/ios/swift/MessageTemplateConfig.swift +8 -1
- package/nitrogen/generated/ios/swift/NitroAction.swift +8 -1
- package/nitrogen/generated/ios/swift/NitroBaseMapTemplateConfig.swift +8 -1
- package/nitrogen/generated/ios/swift/NitroRoutingManeuver.swift +16 -2
- package/nitrogen/generated/ios/swift/SearchTemplateConfig.swift +8 -1
- package/package.json +7 -5
- package/src/AutoPlayHeadlessJsTask.ts +12 -9
- package/src/components/SafeAreaInsetsContext.tsx +2 -1
- package/src/hooks/useAndroidAutoTelemetry.ts +2 -1
- package/src/hooks/useFocusedEffect.ts +1 -1
- package/src/hooks/useVoiceInput.ts +2 -1
- package/src/hybrid/HybridAndroidAutoTelemetry.android.ts +5 -0
- package/src/hybrid/HybridAndroidAutoTelemetry.ts +3 -0
- package/src/hybrid/HybridAutoPlay.ts +4 -0
- package/src/index.ts +5 -9
- package/src/scenes/CarPlayDashboardScene.ts +1 -1
- package/src/templates/MapTemplate.ts +2 -1
- package/src/templates/MessageTemplate.ts +7 -7
- package/src/templates/Template.ts +1 -1
- package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/utils/ReactContextResolver.kt +0 -36
package/src/index.ts
CHANGED
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
import { Platform } from 'react-native';
|
|
2
2
|
import { NitroModules } from 'react-native-nitro-modules';
|
|
3
3
|
import AutoPlayHeadlessJsTask from './AutoPlayHeadlessJsTask';
|
|
4
|
+
import { HybridAndroidAutoTelemetry } from './hybrid/HybridAndroidAutoTelemetry';
|
|
5
|
+
import { HybridAutoPlay } from './hybrid/HybridAutoPlay';
|
|
4
6
|
import type { AndroidAutomotive } from './specs/AndroidAutomotive.nitro';
|
|
5
|
-
import type { AndroidAutoTelemetry as NitroAndroidAutoTelemetry } from './specs/AndroidAutoTelemetry.nitro';
|
|
6
|
-
import type { AutoPlay as NitroAutoPlay } from './specs/AutoPlay.nitro';
|
|
7
7
|
|
|
8
|
-
AutoPlayHeadlessJsTask.registerHeadlessTask();
|
|
8
|
+
AutoPlayHeadlessJsTask.registerHeadlessTask(HybridAutoPlay);
|
|
9
9
|
|
|
10
|
-
export
|
|
11
|
-
|
|
12
|
-
export const HybridAndroidAutoTelemetry =
|
|
13
|
-
Platform.OS === 'android'
|
|
14
|
-
? NitroModules.createHybridObject<NitroAndroidAutoTelemetry>('AndroidAutoTelemetry')
|
|
15
|
-
: null;
|
|
10
|
+
export { HybridAutoPlay };
|
|
11
|
+
export { HybridAndroidAutoTelemetry };
|
|
16
12
|
|
|
17
13
|
export const HybridAndroidAutomotive =
|
|
18
14
|
Platform.OS === 'android'
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { AppRegistry, Platform } from 'react-native';
|
|
3
3
|
import { NitroModules } from 'react-native-nitro-modules';
|
|
4
|
-
import { HybridAutoPlay } from '..';
|
|
5
4
|
import { SafeAreaInsetsProvider } from '../components/SafeAreaInsetsContext';
|
|
5
|
+
import { HybridAutoPlay } from '../hybrid/HybridAutoPlay';
|
|
6
6
|
import type {
|
|
7
7
|
BaseCarPlayDashboardButton,
|
|
8
8
|
CarPlayDashboard as NitroCarPlayDashboard,
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { AppRegistry, Platform } from 'react-native';
|
|
3
3
|
import { NitroModules } from 'react-native-nitro-modules';
|
|
4
|
-
import {
|
|
4
|
+
import type { AutoText } from '..';
|
|
5
5
|
import { MapTemplateProvider } from '../components/MapTemplateContext';
|
|
6
6
|
import { SafeAreaInsetsProvider } from '../components/SafeAreaInsetsContext';
|
|
7
|
+
import { HybridAutoPlay } from '../hybrid/HybridAutoPlay';
|
|
7
8
|
import type { MapTemplate as NitroMapTemplate } from '../specs/MapTemplate.nitro';
|
|
8
9
|
import type { ActionButtonAndroid, MapButton, MapPanButton } from '../types/Button';
|
|
9
10
|
import type { AutoManeuver } from '../types/Maneuver';
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { Platform } from 'react-native';
|
|
2
2
|
import { NitroModules } from 'react-native-nitro-modules';
|
|
3
3
|
import uuid from 'react-native-uuid';
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
type TextButton,
|
|
4
|
+
import type {
|
|
5
|
+
AutoImage,
|
|
6
|
+
BaseMapTemplateConfig,
|
|
7
|
+
CustomActionButtonAndroid,
|
|
8
|
+
HeaderActionsAndroid,
|
|
9
|
+
TextButton,
|
|
11
10
|
} from '..';
|
|
11
|
+
import { HybridAutoPlay } from '../hybrid/HybridAutoPlay';
|
|
12
12
|
import type { MessageTemplate as NitroMessageTemplate } from '../specs/MessageTemplate.nitro';
|
|
13
13
|
import type { AutoText } from '../types/Text';
|
|
14
14
|
import { type NitroAction, NitroActionUtil } from '../utils/NitroAction';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import uuid from 'react-native-uuid';
|
|
2
|
-
import { HybridAutoPlay } from '
|
|
2
|
+
import { HybridAutoPlay } from '../hybrid/HybridAutoPlay';
|
|
3
3
|
import type { ActionButtonAndroid, ActionButtonIos, AppButton, BackButton } from '../types/Button';
|
|
4
4
|
import { type NitroAction, NitroActionUtil } from '../utils/NitroAction';
|
|
5
5
|
import type { NitroMapButton } from '../utils/NitroMapButton';
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
package com.margelo.nitro.swe.iternio.reactnativeautoplay.utils
|
|
2
|
-
|
|
3
|
-
import com.facebook.react.ReactApplication
|
|
4
|
-
import com.facebook.react.ReactInstanceEventListener
|
|
5
|
-
import com.facebook.react.bridge.ReactContext
|
|
6
|
-
import kotlinx.coroutines.suspendCancellableCoroutine
|
|
7
|
-
import kotlin.coroutines.resume
|
|
8
|
-
|
|
9
|
-
object ReactContextResolver {
|
|
10
|
-
suspend fun getReactContext(application: ReactApplication): ReactContext {
|
|
11
|
-
val host =
|
|
12
|
-
application.reactHost ?: throw IllegalArgumentException("application host null")
|
|
13
|
-
|
|
14
|
-
return suspendCancellableCoroutine { continuation ->
|
|
15
|
-
host.currentReactContext?.let {
|
|
16
|
-
continuation.resume(it)
|
|
17
|
-
return@suspendCancellableCoroutine
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
val listener = object : ReactInstanceEventListener {
|
|
21
|
-
override fun onReactContextInitialized(context: ReactContext) {
|
|
22
|
-
host.removeReactInstanceEventListener(this)
|
|
23
|
-
continuation.resume(context)
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
host.addReactInstanceEventListener(listener)
|
|
27
|
-
|
|
28
|
-
continuation.invokeOnCancellation {
|
|
29
|
-
host.removeReactInstanceEventListener(listener)
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
host.start()
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
}
|