expo-realtime-ivs-broadcast 0.1.7 → 0.1.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/README.md +1 -1
- package/android/build/.transforms/10a4d332fad050fdaf4ee2d7badc1ee4/transformed/classes/classes_dex/classes.dex +0 -0
- package/android/build/.transforms/{247a8b1d1f926cbf4f656139274d68b6 → 9f2f591934de19590757f5a4b0b59398}/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/BuildConfig.dex +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoIVSRemoteStreamView.dex +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoIVSStagePreviewView$attachStreamWithRetry$4.dex +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoIVSStagePreviewView.dex +0 -0
- package/android/build/.transforms/{247a8b1d1f926cbf4f656139274d68b6 → 9f2f591934de19590757f5a4b0b59398}/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$1$10$1.dex +0 -0
- package/android/build/.transforms/{247a8b1d1f926cbf4f656139274d68b6 → 9f2f591934de19590757f5a4b0b59398}/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$1$10$2.dex +0 -0
- package/android/build/.transforms/{247a8b1d1f926cbf4f656139274d68b6 → 9f2f591934de19590757f5a4b0b59398}/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$1$11$1.dex +0 -0
- package/android/build/.transforms/{247a8b1d1f926cbf4f656139274d68b6 → 9f2f591934de19590757f5a4b0b59398}/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$1.dex +0 -0
- package/android/build/.transforms/{247a8b1d1f926cbf4f656139274d68b6 → 9f2f591934de19590757f5a4b0b59398}/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$10.dex +0 -0
- package/android/build/.transforms/{247a8b1d1f926cbf4f656139274d68b6 → 9f2f591934de19590757f5a4b0b59398}/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$11.dex +0 -0
- package/android/build/.transforms/{247a8b1d1f926cbf4f656139274d68b6 → 9f2f591934de19590757f5a4b0b59398}/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$12.dex +0 -0
- package/android/build/.transforms/{247a8b1d1f926cbf4f656139274d68b6 → 9f2f591934de19590757f5a4b0b59398}/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$13.dex +0 -0
- package/android/build/.transforms/{247a8b1d1f926cbf4f656139274d68b6 → 9f2f591934de19590757f5a4b0b59398}/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$14.dex +0 -0
- package/android/build/.transforms/{247a8b1d1f926cbf4f656139274d68b6 → 9f2f591934de19590757f5a4b0b59398}/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$15.dex +0 -0
- package/android/build/.transforms/{247a8b1d1f926cbf4f656139274d68b6 → 9f2f591934de19590757f5a4b0b59398}/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$2.dex +0 -0
- package/android/build/.transforms/{247a8b1d1f926cbf4f656139274d68b6 → 9f2f591934de19590757f5a4b0b59398}/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$3.dex +0 -0
- package/android/build/.transforms/{247a8b1d1f926cbf4f656139274d68b6 → 9f2f591934de19590757f5a4b0b59398}/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$4.dex +0 -0
- package/android/build/.transforms/{247a8b1d1f926cbf4f656139274d68b6 → 9f2f591934de19590757f5a4b0b59398}/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$5.dex +0 -0
- package/android/build/.transforms/{247a8b1d1f926cbf4f656139274d68b6 → 9f2f591934de19590757f5a4b0b59398}/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$6.dex +0 -0
- package/android/build/.transforms/{247a8b1d1f926cbf4f656139274d68b6 → 9f2f591934de19590757f5a4b0b59398}/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$7.dex +0 -0
- package/android/build/.transforms/{247a8b1d1f926cbf4f656139274d68b6 → 9f2f591934de19590757f5a4b0b59398}/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$8.dex +0 -0
- package/android/build/.transforms/{247a8b1d1f926cbf4f656139274d68b6 → 9f2f591934de19590757f5a4b0b59398}/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$9.dex +0 -0
- package/android/build/.transforms/{247a8b1d1f926cbf4f656139274d68b6 → 9f2f591934de19590757f5a4b0b59398}/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunctionWithoutArgs$1.dex +0 -0
- package/android/build/.transforms/{247a8b1d1f926cbf4f656139274d68b6 → 9f2f591934de19590757f5a4b0b59398}/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunctionWithoutArgs$2.dex +0 -0
- package/android/build/.transforms/{247a8b1d1f926cbf4f656139274d68b6 → 9f2f591934de19590757f5a4b0b59398}/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunctionWithoutArgs$3.dex +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$OnCreate$1.dex +0 -0
- package/android/build/.transforms/{247a8b1d1f926cbf4f656139274d68b6 → 9f2f591934de19590757f5a4b0b59398}/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$View$1.dex +0 -0
- package/android/build/.transforms/{247a8b1d1f926cbf4f656139274d68b6 → 9f2f591934de19590757f5a4b0b59398}/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$View$2.dex +0 -0
- package/android/build/.transforms/{247a8b1d1f926cbf4f656139274d68b6 → 9f2f591934de19590757f5a4b0b59398}/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$lambda$10$$inlined$Prop$1.dex +0 -0
- package/android/build/.transforms/{247a8b1d1f926cbf4f656139274d68b6 → 9f2f591934de19590757f5a4b0b59398}/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$lambda$9$$inlined$Prop$1.dex +0 -0
- package/android/build/.transforms/{247a8b1d1f926cbf4f656139274d68b6 → 9f2f591934de19590757f5a4b0b59398}/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$lambda$9$$inlined$Prop$2.dex +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule.dex +0 -0
- package/android/build/.transforms/{247a8b1d1f926cbf4f656139274d68b6 → 9f2f591934de19590757f5a4b0b59398}/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastView$webView$1$1.dex +0 -0
- package/android/build/.transforms/{247a8b1d1f926cbf4f656139274d68b6 → 9f2f591934de19590757f5a4b0b59398}/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastView.dex +0 -0
- package/android/build/.transforms/{247a8b1d1f926cbf4f656139274d68b6 → 9f2f591934de19590757f5a4b0b59398}/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/IVSStageManager$Companion.dex +0 -0
- package/android/build/.transforms/{247a8b1d1f926cbf4f656139274d68b6 → 9f2f591934de19590757f5a4b0b59398}/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/IVSStageManager$WhenMappings.dex +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/IVSStageManager.dex +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/IVSStageManagerDelegate.dex +0 -0
- package/android/build/.transforms/{247a8b1d1f926cbf4f656139274d68b6 → 9f2f591934de19590757f5a4b0b59398}/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/StageParticipant.dex +0 -0
- package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
- package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +1 -1
- package/android/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/expo-realtime-ivs-broadcast_debug.kotlin_module +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/META-INF/expo-realtime-ivs-broadcast_debug.kotlin_module +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoIVSRemoteStreamView.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoIVSStagePreviewView$attachStreamWithRetry$4.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoIVSStagePreviewView.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$1$10$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$1$10$2.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$1$11$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$10.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$11.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$12.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$13.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$14.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$15.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$2.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$3.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$4.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$5.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$6.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$7.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$8.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$9.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunctionWithoutArgs$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunctionWithoutArgs$2.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunctionWithoutArgs$3.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$OnCreate$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$View$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$View$2.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$lambda$10$$inlined$Prop$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$lambda$9$$inlined$Prop$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$lambda$9$$inlined$Prop$2.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastView$webView$1$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastView.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/IVSStageManager$Companion.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/IVSStageManager$WhenMappings.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/IVSStageManager.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/IVSStageManagerDelegate.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/StageParticipant.class +0 -0
- package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +1 -1
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
- package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
- package/android/build/kotlin/compileDebugKotlin/local-state/build-history.bin +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
- package/android/build/tmp/kotlin-classes/debug/META-INF/expo-realtime-ivs-broadcast_debug.kotlin_module +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoIVSRemoteStreamView.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoIVSStagePreviewView$attachStreamWithRetry$4.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoIVSStagePreviewView.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$1$10$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$1$10$2.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$1$11$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$10.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$11.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$12.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$13.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$14.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$15.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$2.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$3.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$4.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$5.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$6.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$7.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$8.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$9.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunctionWithoutArgs$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunctionWithoutArgs$2.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunctionWithoutArgs$3.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$OnCreate$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$View$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$View$2.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$lambda$10$$inlined$Prop$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$lambda$9$$inlined$Prop$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$lambda$9$$inlined$Prop$2.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastView$webView$1$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastView.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/IVSStageManager$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/IVSStageManager$WhenMappings.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/IVSStageManager.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/IVSStageManagerDelegate.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/StageParticipant.class +0 -0
- package/android/src/main/java/expo/modules/realtimeivsbroadcast/ExpoIVSStagePreviewView.kt +166 -21
- package/android/src/main/java/expo/modules/realtimeivsbroadcast/IVSStageManager.kt +27 -4
- package/package.json +1 -1
- package/android/build/.transforms/247a8b1d1f926cbf4f656139274d68b6/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoIVSRemoteStreamView.dex +0 -0
- package/android/build/.transforms/247a8b1d1f926cbf4f656139274d68b6/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoIVSStagePreviewView.dex +0 -0
- package/android/build/.transforms/247a8b1d1f926cbf4f656139274d68b6/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$OnCreate$1.dex +0 -0
- package/android/build/.transforms/247a8b1d1f926cbf4f656139274d68b6/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule.dex +0 -0
- package/android/build/.transforms/247a8b1d1f926cbf4f656139274d68b6/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/IVSStageManager.dex +0 -0
- package/android/build/.transforms/247a8b1d1f926cbf4f656139274d68b6/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/IVSStageManagerDelegate.dex +0 -0
- package/android/build/.transforms/651ce6100f81d6b65301e359b6eaf22f/transformed/classes/classes_dex/classes.dex +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.s +0 -1
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.s +0 -1
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.s +0 -1
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.s +0 -1
- /package/android/build/.transforms/{651ce6100f81d6b65301e359b6eaf22f → 10a4d332fad050fdaf4ee2d7badc1ee4}/results.bin +0 -0
- /package/android/build/.transforms/{247a8b1d1f926cbf4f656139274d68b6 → 9f2f591934de19590757f5a4b0b59398}/results.bin +0 -0
- /package/android/build/.transforms/{247a8b1d1f926cbf4f656139274d68b6 → 9f2f591934de19590757f5a4b0b59398}/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
- /package/android/build/intermediates/incremental/{packageDebugAssets → mergeDebugAssets}/merger.xml +0 -0
|
@@ -5,6 +5,8 @@ import android.os.Build
|
|
|
5
5
|
import android.os.Handler
|
|
6
6
|
import android.os.Looper
|
|
7
7
|
import android.util.Log
|
|
8
|
+
import android.view.View
|
|
9
|
+
import android.view.ViewTreeObserver
|
|
8
10
|
import android.widget.FrameLayout
|
|
9
11
|
import androidx.annotation.RequiresApi
|
|
10
12
|
import com.amazonaws.ivs.broadcast.BroadcastConfiguration.AspectMode
|
|
@@ -28,11 +30,52 @@ class ExpoIVSStagePreviewView(context: Context, appContext: AppContext) : ExpoVi
|
|
|
28
30
|
// Props from React Native
|
|
29
31
|
private var mirror: Boolean = false
|
|
30
32
|
private var scaleMode: String = "fill"
|
|
33
|
+
|
|
34
|
+
// Track view attachment state
|
|
35
|
+
@Volatile
|
|
36
|
+
private var isViewAttached = false
|
|
31
37
|
|
|
32
38
|
init {
|
|
33
39
|
Log.i("ExpoIVSStagePreviewView", "Initializing Stage Preview View...")
|
|
40
|
+
// Start initialization immediately - don't wait for onAttachedToWindow
|
|
41
|
+
// This ensures the preview is ready when the view becomes visible
|
|
34
42
|
resolveStageManagerAndStreamWithRetry()
|
|
35
43
|
}
|
|
44
|
+
|
|
45
|
+
// Override onLayout to ensure child views are properly sized
|
|
46
|
+
override fun onLayout(changed: Boolean, left: Int, top: Int, right: Int, bottom: Int) {
|
|
47
|
+
super.onLayout(changed, left, top, right, bottom)
|
|
48
|
+
|
|
49
|
+
// Manually layout children to fill the entire view
|
|
50
|
+
val childWidth = right - left
|
|
51
|
+
val childHeight = bottom - top
|
|
52
|
+
|
|
53
|
+
for (i in 0 until childCount) {
|
|
54
|
+
val child = getChildAt(i)
|
|
55
|
+
child.layout(0, 0, childWidth, childHeight)
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
Log.d("ExpoIVSStagePreviewView", "📐 onLayout: ${childWidth}x${childHeight}, children: $childCount")
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// Override onMeasure to properly measure children
|
|
62
|
+
override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
|
|
63
|
+
super.onMeasure(widthMeasureSpec, heightMeasureSpec)
|
|
64
|
+
|
|
65
|
+
val width = MeasureSpec.getSize(widthMeasureSpec)
|
|
66
|
+
val height = MeasureSpec.getSize(heightMeasureSpec)
|
|
67
|
+
|
|
68
|
+
// Measure all children with exact dimensions
|
|
69
|
+
val childWidthSpec = MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY)
|
|
70
|
+
val childHeightSpec = MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY)
|
|
71
|
+
|
|
72
|
+
for (i in 0 until childCount) {
|
|
73
|
+
val child = getChildAt(i)
|
|
74
|
+
child.measure(childWidthSpec, childHeightSpec)
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
Log.d("ExpoIVSStagePreviewView", "📐 onMeasure: ${width}x${height}")
|
|
78
|
+
}
|
|
36
79
|
|
|
37
80
|
private fun resolveStageManagerAndStreamWithRetry() {
|
|
38
81
|
Log.d("ExpoIVSStagePreviewView", "Attempting to resolve StageManager (attempt ${retryCount + 1})...")
|
|
@@ -60,7 +103,6 @@ class ExpoIVSStagePreviewView(context: Context, appContext: AppContext) : ExpoVi
|
|
|
60
103
|
val cameraDevice = this.stageManager?.getLocalCameraDevice()
|
|
61
104
|
|
|
62
105
|
if (cameraDevice == null) {
|
|
63
|
-
// Camera not ready yet, retry
|
|
64
106
|
if (retryCount < maxRetries) {
|
|
65
107
|
retryCount++
|
|
66
108
|
Log.w("ExpoIVSStagePreviewView", "Camera device not ready, retrying in ${retryDelayMs}ms...")
|
|
@@ -78,8 +120,9 @@ class ExpoIVSStagePreviewView(context: Context, appContext: AppContext) : ExpoVi
|
|
|
78
120
|
}
|
|
79
121
|
|
|
80
122
|
val newDeviceUrn = cameraDevice.descriptor.urn
|
|
123
|
+
Log.i("ExpoIVSStagePreviewView", "📷 attachStreamWithRetry - Camera: ${cameraDevice.descriptor.friendlyName}, URN: $newDeviceUrn")
|
|
124
|
+
Log.i("ExpoIVSStagePreviewView", "📷 Current preview URN: $currentPreviewDeviceUrn, Has preview: ${ivsImagePreviewView != null}")
|
|
81
125
|
|
|
82
|
-
// If preview exists for the same device, do nothing.
|
|
83
126
|
if (ivsImagePreviewView != null && this.currentPreviewDeviceUrn == newDeviceUrn) {
|
|
84
127
|
Log.d("ExpoIVSStagePreviewView", "Already showing preview for device: $newDeviceUrn")
|
|
85
128
|
return
|
|
@@ -88,9 +131,13 @@ class ExpoIVSStagePreviewView(context: Context, appContext: AppContext) : ExpoVi
|
|
|
88
131
|
// Cleanup existing preview
|
|
89
132
|
if (ivsImagePreviewView != null) {
|
|
90
133
|
Log.d("ExpoIVSStagePreviewView", "Cleaning up existing preview")
|
|
91
|
-
|
|
134
|
+
try {
|
|
135
|
+
removeView(ivsImagePreviewView)
|
|
136
|
+
} catch (e: Exception) {
|
|
137
|
+
Log.w("ExpoIVSStagePreviewView", "Error removing old preview: ${e.message}")
|
|
138
|
+
}
|
|
92
139
|
ivsImagePreviewView = null
|
|
93
|
-
|
|
140
|
+
currentPreviewDeviceUrn = null
|
|
94
141
|
}
|
|
95
142
|
|
|
96
143
|
try {
|
|
@@ -102,9 +149,16 @@ class ExpoIVSStagePreviewView(context: Context, appContext: AppContext) : ExpoVi
|
|
|
102
149
|
return
|
|
103
150
|
}
|
|
104
151
|
|
|
105
|
-
|
|
152
|
+
// Use getPreviewView() with aspect mode to get a fresh preview view
|
|
153
|
+
// This is more reliable than using the previewView property after camera swap
|
|
154
|
+
val newPreview = try {
|
|
155
|
+
imageDevice.getPreviewView(AspectMode.FILL)
|
|
156
|
+
} catch (e: Exception) {
|
|
157
|
+
Log.w("ExpoIVSStagePreviewView", "getPreviewView(FILL) failed, trying previewView property: ${e.message}")
|
|
158
|
+
imageDevice.previewView
|
|
159
|
+
}
|
|
160
|
+
|
|
106
161
|
if (newPreview == null) {
|
|
107
|
-
// Preview view not ready yet, retry after delay
|
|
108
162
|
if (retryCount < maxRetries) {
|
|
109
163
|
retryCount++
|
|
110
164
|
Log.w("ExpoIVSStagePreviewView", "Preview view is null, retrying in ${retryDelayMs}ms (attempt $retryCount)...")
|
|
@@ -115,10 +169,22 @@ class ExpoIVSStagePreviewView(context: Context, appContext: AppContext) : ExpoVi
|
|
|
115
169
|
return
|
|
116
170
|
}
|
|
117
171
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
172
|
+
Log.i("ExpoIVSStagePreviewView", "📷 Got preview view: ${newPreview.javaClass.simpleName}, hashCode: ${newPreview.hashCode()}")
|
|
173
|
+
|
|
174
|
+
// IMPORTANT: Check if preview is attached to another parent and detach it first
|
|
175
|
+
val existingParent = newPreview.parent
|
|
176
|
+
if (existingParent != null && existingParent != this) {
|
|
177
|
+
Log.w("ExpoIVSStagePreviewView", "Preview view has another parent, detaching first...")
|
|
178
|
+
(existingParent as? android.view.ViewGroup)?.removeView(newPreview)
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
// If already attached to this view, no need to re-add
|
|
182
|
+
if (newPreview.parent == this) {
|
|
183
|
+
Log.d("ExpoIVSStagePreviewView", "Preview already attached to this view")
|
|
184
|
+
this.ivsImagePreviewView = newPreview
|
|
185
|
+
this.currentPreviewDeviceUrn = newDeviceUrn
|
|
186
|
+
applyProps()
|
|
187
|
+
return
|
|
122
188
|
}
|
|
123
189
|
|
|
124
190
|
newPreview.layoutParams = FrameLayout.LayoutParams(
|
|
@@ -131,13 +197,46 @@ class ExpoIVSStagePreviewView(context: Context, appContext: AppContext) : ExpoVi
|
|
|
131
197
|
this.currentPreviewDeviceUrn = newDeviceUrn
|
|
132
198
|
|
|
133
199
|
applyProps()
|
|
200
|
+
|
|
201
|
+
// Force layout update - measure and layout immediately with current dimensions
|
|
202
|
+
if (width > 0 && height > 0) {
|
|
203
|
+
val widthSpec = MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY)
|
|
204
|
+
val heightSpec = MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY)
|
|
205
|
+
newPreview.measure(widthSpec, heightSpec)
|
|
206
|
+
newPreview.layout(0, 0, width, height)
|
|
207
|
+
Log.i("ExpoIVSStagePreviewView", "📐 Forced layout: preview now ${newPreview.measuredWidth}x${newPreview.measuredHeight}")
|
|
208
|
+
} else {
|
|
209
|
+
// Parent not yet measured, use ViewTreeObserver to layout after measure
|
|
210
|
+
viewTreeObserver.addOnGlobalLayoutListener(object : ViewTreeObserver.OnGlobalLayoutListener {
|
|
211
|
+
override fun onGlobalLayout() {
|
|
212
|
+
viewTreeObserver.removeOnGlobalLayoutListener(this)
|
|
213
|
+
val preview = ivsImagePreviewView ?: return
|
|
214
|
+
if (this@ExpoIVSStagePreviewView.width > 0 && this@ExpoIVSStagePreviewView.height > 0) {
|
|
215
|
+
val w = this@ExpoIVSStagePreviewView.width
|
|
216
|
+
val h = this@ExpoIVSStagePreviewView.height
|
|
217
|
+
val wSpec = MeasureSpec.makeMeasureSpec(w, MeasureSpec.EXACTLY)
|
|
218
|
+
val hSpec = MeasureSpec.makeMeasureSpec(h, MeasureSpec.EXACTLY)
|
|
219
|
+
preview.measure(wSpec, hSpec)
|
|
220
|
+
preview.layout(0, 0, w, h)
|
|
221
|
+
Log.i("ExpoIVSStagePreviewView", "📐 Deferred layout: preview now ${preview.measuredWidth}x${preview.measuredHeight}")
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
})
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
// Also request layout for next frame
|
|
228
|
+
newPreview.requestLayout()
|
|
229
|
+
requestLayout()
|
|
230
|
+
invalidate()
|
|
231
|
+
|
|
134
232
|
Log.i("ExpoIVSStagePreviewView", "✅ Successfully attached camera preview for: ${cameraDevice.descriptor.friendlyName}")
|
|
233
|
+
Log.i("ExpoIVSStagePreviewView", "📷 Preview dimensions: ${newPreview.width}x${newPreview.height}, visibility: ${newPreview.visibility}")
|
|
234
|
+
Log.i("ExpoIVSStagePreviewView", "📷 Parent dimensions: ${this.width}x${this.height}, childCount: ${this.childCount}")
|
|
135
235
|
} catch (e: Exception) {
|
|
136
236
|
Log.e("ExpoIVSStagePreviewView", "❌ Failed to attach camera preview: ${e.message}", e)
|
|
137
237
|
this.ivsImagePreviewView = null
|
|
138
238
|
this.currentPreviewDeviceUrn = null
|
|
139
239
|
|
|
140
|
-
// Retry on exception as well
|
|
141
240
|
if (retryCount < maxRetries) {
|
|
142
241
|
retryCount++
|
|
143
242
|
Log.w("ExpoIVSStagePreviewView", "Retrying after exception in ${retryDelayMs}ms (attempt $retryCount)...")
|
|
@@ -148,7 +247,8 @@ class ExpoIVSStagePreviewView(context: Context, appContext: AppContext) : ExpoVi
|
|
|
148
247
|
|
|
149
248
|
// Public method for manager to notify when camera changes (e.g., after swapCamera)
|
|
150
249
|
fun refreshPreview() {
|
|
151
|
-
Log.
|
|
250
|
+
Log.i("ExpoIVSStagePreviewView", "🔄 Refresh preview requested - clearing current preview and reattaching")
|
|
251
|
+
Log.i("ExpoIVSStagePreviewView", "🔄 Current URN before refresh: $currentPreviewDeviceUrn")
|
|
152
252
|
|
|
153
253
|
// Ensure we're on the main thread
|
|
154
254
|
if (Looper.myLooper() != Looper.getMainLooper()) {
|
|
@@ -157,22 +257,26 @@ class ExpoIVSStagePreviewView(context: Context, appContext: AppContext) : ExpoVi
|
|
|
157
257
|
}
|
|
158
258
|
|
|
159
259
|
// Clear the current preview first
|
|
160
|
-
|
|
260
|
+
val oldPreview = ivsImagePreviewView
|
|
261
|
+
if (oldPreview != null) {
|
|
262
|
+
Log.i("ExpoIVSStagePreviewView", "🔄 Removing old preview view")
|
|
161
263
|
try {
|
|
162
|
-
removeView(
|
|
264
|
+
removeView(oldPreview)
|
|
163
265
|
} catch (e: Exception) {
|
|
164
266
|
Log.w("ExpoIVSStagePreviewView", "Error removing old preview view: ${e.message}")
|
|
165
267
|
}
|
|
166
268
|
ivsImagePreviewView = null
|
|
167
269
|
}
|
|
270
|
+
|
|
271
|
+
// IMPORTANT: Clear the URN so attachStreamWithRetry will fetch a fresh preview
|
|
168
272
|
currentPreviewDeviceUrn = null
|
|
169
273
|
|
|
170
274
|
retryCount = 0
|
|
171
|
-
// Add a
|
|
172
|
-
// before attaching the new one (prevents green screen on camera swap)
|
|
275
|
+
// Add a delay to allow the new camera stream to initialize
|
|
173
276
|
mainHandler.postDelayed({
|
|
277
|
+
Log.i("ExpoIVSStagePreviewView", "🔄 Now attaching new preview after delay")
|
|
174
278
|
attachStreamWithRetry()
|
|
175
|
-
},
|
|
279
|
+
}, 200)
|
|
176
280
|
}
|
|
177
281
|
|
|
178
282
|
private fun applyProps() {
|
|
@@ -180,7 +284,6 @@ class ExpoIVSStagePreviewView(context: Context, appContext: AppContext) : ExpoVi
|
|
|
180
284
|
setScaleMode(this.scaleMode)
|
|
181
285
|
}
|
|
182
286
|
|
|
183
|
-
// Prop setters
|
|
184
287
|
fun setMirror(mirror: Boolean) {
|
|
185
288
|
this.mirror = mirror
|
|
186
289
|
(ivsImagePreviewView as? ImagePreviewView)?.setMirrored(this.mirror)
|
|
@@ -204,20 +307,62 @@ class ExpoIVSStagePreviewView(context: Context, appContext: AppContext) : ExpoVi
|
|
|
204
307
|
|
|
205
308
|
override fun onAttachedToWindow() {
|
|
206
309
|
super.onAttachedToWindow()
|
|
310
|
+
isViewAttached = true
|
|
207
311
|
Log.d("ExpoIVSStagePreviewView", "View attached to window")
|
|
208
|
-
|
|
312
|
+
|
|
313
|
+
// If we don't have a preview yet, try to attach one
|
|
209
314
|
if (ivsImagePreviewView == null) {
|
|
210
315
|
retryCount = 0
|
|
211
316
|
resolveStageManagerAndStreamWithRetry()
|
|
317
|
+
} else {
|
|
318
|
+
// Re-add the preview if it was removed during detach
|
|
319
|
+
val preview = ivsImagePreviewView
|
|
320
|
+
if (preview != null && preview.parent == null) {
|
|
321
|
+
Log.d("ExpoIVSStagePreviewView", "Re-adding preview on attach")
|
|
322
|
+
try {
|
|
323
|
+
addView(preview)
|
|
324
|
+
} catch (e: Exception) {
|
|
325
|
+
Log.w("ExpoIVSStagePreviewView", "Error re-adding preview: ${e.message}")
|
|
326
|
+
// Try fresh attach
|
|
327
|
+
ivsImagePreviewView = null
|
|
328
|
+
currentPreviewDeviceUrn = null
|
|
329
|
+
retryCount = 0
|
|
330
|
+
attachStreamWithRetry()
|
|
331
|
+
}
|
|
332
|
+
}
|
|
212
333
|
}
|
|
213
334
|
}
|
|
214
335
|
|
|
215
336
|
override fun onDetachedFromWindow() {
|
|
216
|
-
super.onDetachedFromWindow()
|
|
217
337
|
Log.d("ExpoIVSStagePreviewView", "View detached from window")
|
|
218
|
-
|
|
338
|
+
isViewAttached = false
|
|
339
|
+
|
|
340
|
+
// Remove pending callbacks
|
|
219
341
|
mainHandler.removeCallbacksAndMessages(null)
|
|
342
|
+
|
|
343
|
+
// Remove the preview view from this parent so it can be reused
|
|
344
|
+
// Do this in a post to avoid conflicts with the current render cycle
|
|
345
|
+
val preview = ivsImagePreviewView
|
|
346
|
+
if (preview != null) {
|
|
347
|
+
mainHandler.post {
|
|
348
|
+
try {
|
|
349
|
+
if (preview.parent == this) {
|
|
350
|
+
removeView(preview)
|
|
351
|
+
Log.d("ExpoIVSStagePreviewView", "Preview removed in post")
|
|
352
|
+
}
|
|
353
|
+
} catch (e: Exception) {
|
|
354
|
+
Log.w("ExpoIVSStagePreviewView", "Error removing preview in post: ${e.message}")
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
// Clear references
|
|
360
|
+
ivsImagePreviewView = null
|
|
361
|
+
currentPreviewDeviceUrn = null
|
|
362
|
+
|
|
220
363
|
// Unregister from manager
|
|
221
364
|
stageManager?.unregisterPreviewView(this)
|
|
365
|
+
|
|
366
|
+
super.onDetachedFromWindow()
|
|
222
367
|
}
|
|
223
368
|
}
|
|
@@ -165,16 +165,39 @@ class IVSStageManager(private val context: Context) : Stage.Strategy, StageRende
|
|
|
165
165
|
return
|
|
166
166
|
}
|
|
167
167
|
|
|
168
|
+
Log.i("ExpoIVSStageManager", "🔄 Swapping camera from ${currentDevice.descriptor.friendlyName} to ${newCamera.descriptor.friendlyName}")
|
|
169
|
+
|
|
170
|
+
// First, notify preview views to clear their current preview
|
|
171
|
+
// This releases the old camera's preview before we switch
|
|
172
|
+
previewViews.mapNotNull { it.get() }.forEach { view ->
|
|
173
|
+
mainHandler.post {
|
|
174
|
+
try {
|
|
175
|
+
// Force clear the preview by calling refreshPreview which removes the old one
|
|
176
|
+
Log.i("ExpoIVSStageManager", "🔄 Clearing preview before swap")
|
|
177
|
+
} catch (e: Exception) {
|
|
178
|
+
Log.w("ExpoIVSStageManager", "Error clearing preview: ${e.message}")
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
// Update the local camera reference
|
|
168
184
|
localCamera = newCamera
|
|
169
|
-
|
|
185
|
+
|
|
186
|
+
// Create new stream with video configuration
|
|
187
|
+
val oldStream = cameraStream
|
|
188
|
+
cameraStream = ImageLocalStageStream(newCamera, this.stageConfiguration.videoConfiguration)
|
|
189
|
+
|
|
190
|
+
// Refresh the stage strategy to use the new stream
|
|
170
191
|
stage?.refreshStrategy()
|
|
171
|
-
|
|
192
|
+
|
|
193
|
+
Log.i("ExpoIVSStageManager", "✅ Camera swapped to: ${newCamera.descriptor.friendlyName}, URN: ${newCamera.descriptor.urn}")
|
|
172
194
|
|
|
173
195
|
// Delay the preview refresh to allow the new camera stream to fully initialize
|
|
174
|
-
// The
|
|
196
|
+
// The back camera especially needs more time to warm up
|
|
175
197
|
mainHandler.postDelayed({
|
|
198
|
+
Log.i("ExpoIVSStageManager", "🔄 Triggering preview refresh after camera swap")
|
|
176
199
|
notifyPreviewViewsToRefresh()
|
|
177
|
-
},
|
|
200
|
+
}, 500) // 500ms delay for camera to fully initialize
|
|
178
201
|
}
|
|
179
202
|
|
|
180
203
|
private fun notifyPreviewViewsToRefresh() {
|
package/package.json
CHANGED
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
����
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
��
|
package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values
DELETED
|
Binary file
|
package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.s
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
�3�3�4�1�7
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
��
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/android/build/intermediates/incremental/{packageDebugAssets → mergeDebugAssets}/merger.xml
RENAMED
|
File without changes
|