expo-realtime-ivs-broadcast 0.1.10 → 0.2.1
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 +261 -4
- package/android/build/.transforms/10a4d332fad050fdaf4ee2d7badc1ee4/transformed/classes/classes_dex/classes.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/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$1$16$1.dex +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/{ExpoRealtimeIvsBroadcastModule$definition$1$10$2.dex → ExpoRealtimeIvsBroadcastModule$definition$1$16$2.dex} +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/{ExpoRealtimeIvsBroadcastModule$definition$1$11$1.dex → ExpoRealtimeIvsBroadcastModule$definition$1$17$1.dex} +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/{ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$2.dex → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$1.dex} +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/{ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$10.dex → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$10.dex} +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/{ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$14.dex → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$11.dex} +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/{ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$12.dex → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$12.dex} +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/{ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$13.dex → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$13.dex} +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/{ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$11.dex → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$14.dex} +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/{ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$15.dex → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$15.dex} +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$16.dex +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$17.dex +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$18.dex +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/{ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$4.dex → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$2.dex} +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/{ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$3.dex → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$3.dex} +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/{ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$5.dex → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$4.dex} +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/{ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$1.dex → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$5.dex} +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/{ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$6.dex → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$6.dex} +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/{ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$7.dex → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$7.dex} +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$8.dex +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/{ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$9.dex → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$9.dex} +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/{ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunctionWithoutArgs$1.dex → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunctionWithoutArgs$1.dex} +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/{ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunctionWithoutArgs$2.dex → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunctionWithoutArgs$2.dex} +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/{ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunctionWithoutArgs$3.dex → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunctionWithoutArgs$3.dex} +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunctionWithoutArgs$4.dex +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunctionWithoutArgs$5.dex +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunctionWithoutArgs$6.dex +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunctionWithoutArgs$7.dex +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunctionWithoutArgs$8.dex +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/{ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$OnCreate$1.dex → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$OnCreate$1.dex} +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/{ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$View$1.dex → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$View$1.dex} +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/{ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$View$2.dex → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$View$2.dex} +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$lambda$22$$inlined$Prop$1.dex +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/{ExpoRealtimeIvsBroadcastModule$definition$lambda$11$lambda$10$$inlined$Prop$1.dex → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$lambda$22$$inlined$Prop$2.dex} +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$lambda$23$$inlined$Prop$1.dex +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule.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/PiPOptions$PiPSourceView.dex +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/PiPOptions.dex +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/PiPStateListener.dex +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/PictureInPictureDelegate.dex +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/PictureInPictureManager$Companion.dex +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/PictureInPictureManager.dex +0 -0
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +5 -0
- package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
- package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +12 -1
- package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +5 -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 → ExpoRealtimeIvsBroadcastModule$definition$1$16$1.class} +0 -0
- package/android/build/{tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$1$10$2.class → intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$1$16$2.class} +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/{ExpoRealtimeIvsBroadcastModule$definition$1$11$1.class → ExpoRealtimeIvsBroadcastModule$definition$1$17$1.class} +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/{ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$4.class → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$1.class} +0 -0
- package/android/build/{tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$10.class → intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$10.class} +0 -0
- package/android/build/{tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$14.class → intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$11.class} +0 -0
- package/android/build/{tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$12.class → intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$12.class} +0 -0
- package/android/build/{tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$13.class → intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$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$11.class → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$14.class} +0 -0
- package/android/build/{tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$15.class → intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$15.class} +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$16.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$17.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$18.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/{ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$5.class → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$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 → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$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$2.class → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$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$1.class → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$5.class} +0 -0
- package/android/build/{tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$6.class → intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$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 → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$7.class} +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$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 → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$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 → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunctionWithoutArgs$1.class} +0 -0
- package/android/build/{tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunctionWithoutArgs$2.class → intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunctionWithoutArgs$2.class} +0 -0
- package/android/build/{tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunctionWithoutArgs$3.class → intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunctionWithoutArgs$3.class} +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunctionWithoutArgs$4.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunctionWithoutArgs$5.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunctionWithoutArgs$6.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunctionWithoutArgs$7.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunctionWithoutArgs$8.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/{ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$OnCreate$1.class → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$OnCreate$1.class} +0 -0
- package/android/build/{tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$View$1.class → intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$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 → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$View$2.class} +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$lambda$22$$inlined$Prop$1.class +0 -0
- package/android/build/{tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$lambda$10$$inlined$Prop$1.class → intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$lambda$22$$inlined$Prop$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 → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$lambda$23$$inlined$Prop$1.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/IVSStageManager.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/PiPOptions$PiPSourceView.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/PiPOptions.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/PiPStateListener.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/PictureInPictureDelegate.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/PictureInPictureManager$Companion.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/PictureInPictureManager.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.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +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.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.s +1 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +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.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +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-attributes.tab_i +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.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +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/class-fq-name-to-source.tab_i +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.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
- 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.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.s +1 -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.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +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/source-to-classes.tab_i +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.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +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/subtypes.tab_i +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.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +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/jvm/kotlin/supertypes.tab_i +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.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +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/file-to-id.tab_i +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 +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.values.s +1 -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/outputs/logs/manifest-merger-debug-report.txt +14 -2
- 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 → ExpoRealtimeIvsBroadcastModule$definition$1$16$1.class} +0 -0
- package/android/build/{intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$1$10$2.class → tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$1$16$2.class} +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/{ExpoRealtimeIvsBroadcastModule$definition$1$11$1.class → ExpoRealtimeIvsBroadcastModule$definition$1$17$1.class} +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$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 → tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$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$14.class → tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$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 → tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$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 → tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$13.class} +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/{ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$11.class → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$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 → tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$15.class} +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$16.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$17.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$18.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$2.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/{ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$3.class → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$3.class} +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$4.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$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 → tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$6.class} +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/{ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$7.class → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$7.class} +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$8.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/{ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$9.class → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$9.class} +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/{ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunctionWithoutArgs$1.class → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$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 → tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$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 → tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunctionWithoutArgs$3.class} +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunctionWithoutArgs$4.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunctionWithoutArgs$5.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunctionWithoutArgs$6.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunctionWithoutArgs$7.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunctionWithoutArgs$8.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/{ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$OnCreate$1.class → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$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 → tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$View$1.class} +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/{ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$View$2.class → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$View$2.class} +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$lambda$22$$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 → tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$lambda$22$$inlined$Prop$2.class} +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/{ExpoRealtimeIvsBroadcastModule$definition$lambda$11$lambda$9$$inlined$Prop$2.class → ExpoRealtimeIvsBroadcastModule$definition$lambda$24$lambda$23$$inlined$Prop$1.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/IVSStageManager.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/PiPOptions$PiPSourceView.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/PiPOptions.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/PiPStateListener.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/PictureInPictureDelegate.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/PictureInPictureManager$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/PictureInPictureManager.class +0 -0
- package/android/src/main/AndroidManifest.xml +5 -0
- package/android/src/main/java/expo/modules/realtimeivsbroadcast/ExpoIVSRemoteStreamView.kt +172 -23
- package/android/src/main/java/expo/modules/realtimeivsbroadcast/ExpoIVSStagePreviewView.kt +33 -0
- package/android/src/main/java/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule.kt +92 -2
- package/android/src/main/java/expo/modules/realtimeivsbroadcast/IVSStageManager.kt +5 -2
- package/android/src/main/java/expo/modules/realtimeivsbroadcast/PictureInPictureManager.kt +431 -0
- package/build/ExpoRealtimeIvsBroadcast.types.d.ts +45 -0
- package/build/ExpoRealtimeIvsBroadcast.types.d.ts.map +1 -1
- package/build/ExpoRealtimeIvsBroadcast.types.js.map +1 -1
- package/build/ExpoRealtimeIvsBroadcastModule.d.ts +7 -1
- package/build/ExpoRealtimeIvsBroadcastModule.d.ts.map +1 -1
- package/build/ExpoRealtimeIvsBroadcastModule.js.map +1 -1
- package/build/ExpoRealtimeIvsBroadcastModule.web.d.ts +7 -1
- package/build/ExpoRealtimeIvsBroadcastModule.web.d.ts.map +1 -1
- package/build/ExpoRealtimeIvsBroadcastModule.web.js +20 -0
- package/build/ExpoRealtimeIvsBroadcastModule.web.js.map +1 -1
- package/build/index.d.ts +60 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +77 -0
- package/build/index.js.map +1 -1
- package/ios/ExpoIVSRemoteStreamView.swift +17 -0
- package/ios/ExpoIVSStagePreviewView.swift +39 -5
- package/ios/ExpoRealtimeIvsBroadcast.podspec +2 -1
- package/ios/ExpoRealtimeIvsBroadcastModule.swift +46 -1
- package/ios/IVSPictureInPictureController.swift +1196 -0
- package/ios/IVSStageManager.swift +419 -1
- package/package.json +1 -1
- package/src/ExpoRealtimeIvsBroadcast.types.ts +53 -0
- package/src/ExpoRealtimeIvsBroadcastModule.ts +9 -1
- package/src/ExpoRealtimeIvsBroadcastModule.web.ts +26 -8
- package/src/index.ts +94 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$1$10$1.dex +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$8.dex +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$lambda$9$$inlined$Prop$1.dex +0 -0
- package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$lambda$9$$inlined$Prop$2.dex +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$lambda$9$$inlined$Prop$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$2.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$8.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
|
@@ -0,0 +1,431 @@
|
|
|
1
|
+
package expo.modules.realtimeivsbroadcast
|
|
2
|
+
|
|
3
|
+
import android.app.Activity
|
|
4
|
+
import android.app.Application
|
|
5
|
+
import android.app.PictureInPictureParams
|
|
6
|
+
import android.content.pm.PackageManager
|
|
7
|
+
import android.content.res.Configuration
|
|
8
|
+
import android.graphics.Rect
|
|
9
|
+
import android.os.Build
|
|
10
|
+
import android.os.Bundle
|
|
11
|
+
import android.os.Handler
|
|
12
|
+
import android.os.Looper
|
|
13
|
+
import android.util.Log
|
|
14
|
+
import android.util.Rational
|
|
15
|
+
import android.view.View
|
|
16
|
+
import androidx.annotation.RequiresApi
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Options for configuring PiP behavior
|
|
20
|
+
*/
|
|
21
|
+
data class PiPOptions(
|
|
22
|
+
var autoEnterOnBackground: Boolean = true,
|
|
23
|
+
var sourceView: PiPSourceView = PiPSourceView.REMOTE,
|
|
24
|
+
var preferredAspectRatio: Rational = Rational(9, 16)
|
|
25
|
+
) {
|
|
26
|
+
enum class PiPSourceView {
|
|
27
|
+
LOCAL,
|
|
28
|
+
REMOTE
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Delegate for PiP state changes
|
|
34
|
+
*/
|
|
35
|
+
interface PictureInPictureDelegate {
|
|
36
|
+
fun onPiPStateChanged(state: String)
|
|
37
|
+
fun onPiPError(error: String)
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Listener for views that need to know about PiP state
|
|
42
|
+
*/
|
|
43
|
+
interface PiPStateListener {
|
|
44
|
+
fun onEnterPiP()
|
|
45
|
+
fun onExitPiP()
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Manager for Picture-in-Picture functionality on Android
|
|
50
|
+
*
|
|
51
|
+
* Note: Android PiP is Activity-level, meaning the entire Activity enters PiP mode,
|
|
52
|
+
* not just a specific view. The consuming app must configure their Activity with:
|
|
53
|
+
* - android:supportsPictureInPicture="true"
|
|
54
|
+
* - android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"
|
|
55
|
+
*/
|
|
56
|
+
@RequiresApi(Build.VERSION_CODES.O)
|
|
57
|
+
class PictureInPictureManager private constructor() : Application.ActivityLifecycleCallbacks {
|
|
58
|
+
|
|
59
|
+
companion object {
|
|
60
|
+
private const val TAG = "PiPManager"
|
|
61
|
+
|
|
62
|
+
@Volatile
|
|
63
|
+
private var instance: PictureInPictureManager? = null
|
|
64
|
+
|
|
65
|
+
fun getInstance(): PictureInPictureManager {
|
|
66
|
+
return instance ?: synchronized(this) {
|
|
67
|
+
instance ?: PictureInPictureManager().also { instance = it }
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// Configuration
|
|
73
|
+
private var options: PiPOptions = PiPOptions()
|
|
74
|
+
|
|
75
|
+
// State
|
|
76
|
+
private var isEnabled: Boolean = false
|
|
77
|
+
private var isActive: Boolean = false
|
|
78
|
+
private var currentActivity: Activity? = null
|
|
79
|
+
private var isRegisteredForLifecycle: Boolean = false
|
|
80
|
+
|
|
81
|
+
// Source view for PiP (used for source rect hint)
|
|
82
|
+
private var sourceView: View? = null
|
|
83
|
+
|
|
84
|
+
// State listeners (views that need to know about PiP)
|
|
85
|
+
private val stateListeners = mutableListOf<PiPStateListener>()
|
|
86
|
+
|
|
87
|
+
// Delegate
|
|
88
|
+
var delegate: PictureInPictureDelegate? = null
|
|
89
|
+
|
|
90
|
+
// Handler for main thread operations
|
|
91
|
+
private val mainHandler = Handler(Looper.getMainLooper())
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Enable PiP with the given options
|
|
95
|
+
* @param activity The current activity (needed for PiP support)
|
|
96
|
+
* @param options Configuration options for PiP
|
|
97
|
+
* @return true if PiP was enabled successfully
|
|
98
|
+
*/
|
|
99
|
+
fun enable(activity: Activity, options: PiPOptions): Boolean {
|
|
100
|
+
// Check if PiP is supported
|
|
101
|
+
if (!isPiPSupported(activity)) {
|
|
102
|
+
Log.e(TAG, "PiP is not supported on this device or Activity")
|
|
103
|
+
delegate?.onPiPError("PiP not supported on this device")
|
|
104
|
+
return false
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
this.options = options
|
|
108
|
+
this.currentActivity = activity
|
|
109
|
+
this.isEnabled = true
|
|
110
|
+
|
|
111
|
+
// Register for activity lifecycle callbacks for auto-enter
|
|
112
|
+
if (!isRegisteredForLifecycle && options.autoEnterOnBackground) {
|
|
113
|
+
activity.application.registerActivityLifecycleCallbacks(this)
|
|
114
|
+
isRegisteredForLifecycle = true
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
Log.i(TAG, "PiP enabled with options: autoEnter=${options.autoEnterOnBackground}, source=${options.sourceView}")
|
|
118
|
+
return true
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Disable PiP
|
|
123
|
+
*/
|
|
124
|
+
fun disable() {
|
|
125
|
+
if (isActive) {
|
|
126
|
+
stop()
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
currentActivity?.application?.let {
|
|
130
|
+
if (isRegisteredForLifecycle) {
|
|
131
|
+
it.unregisterActivityLifecycleCallbacks(this)
|
|
132
|
+
isRegisteredForLifecycle = false
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
isEnabled = false
|
|
137
|
+
currentActivity = null
|
|
138
|
+
|
|
139
|
+
Log.i(TAG, "PiP disabled")
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* Start PiP mode manually
|
|
144
|
+
*/
|
|
145
|
+
fun start() {
|
|
146
|
+
if (!isEnabled) {
|
|
147
|
+
Log.e(TAG, "Cannot start PiP - not enabled")
|
|
148
|
+
delegate?.onPiPError("PiP is not enabled")
|
|
149
|
+
return
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
val activity = currentActivity
|
|
153
|
+
if (activity == null) {
|
|
154
|
+
Log.e(TAG, "Cannot start PiP - no activity reference")
|
|
155
|
+
delegate?.onPiPError("No activity available")
|
|
156
|
+
return
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
if (!isPiPSupported(activity)) {
|
|
160
|
+
Log.e(TAG, "Cannot start PiP - not supported")
|
|
161
|
+
delegate?.onPiPError("PiP not supported on this device")
|
|
162
|
+
return
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
try {
|
|
166
|
+
val params = buildPiPParams()
|
|
167
|
+
activity.enterPictureInPictureMode(params)
|
|
168
|
+
Log.i(TAG, "PiP start requested")
|
|
169
|
+
} catch (e: Exception) {
|
|
170
|
+
Log.e(TAG, "Failed to enter PiP mode: ${e.message}")
|
|
171
|
+
delegate?.onPiPError("Failed to enter PiP: ${e.message}")
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
/**
|
|
176
|
+
* Stop PiP mode manually
|
|
177
|
+
* Note: On Android, PiP is stopped by the system when the user taps to expand
|
|
178
|
+
* or by moving the app back to foreground. We can't programmatically exit PiP.
|
|
179
|
+
*/
|
|
180
|
+
fun stop() {
|
|
181
|
+
// On Android, we can't programmatically exit PiP
|
|
182
|
+
// The user must tap the PiP window to expand it
|
|
183
|
+
// or the app will exit PiP when brought back to foreground
|
|
184
|
+
Log.i(TAG, "Stop requested - user must tap PiP window to exit")
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* Check if PiP is currently active
|
|
189
|
+
*/
|
|
190
|
+
fun isActive(): Boolean {
|
|
191
|
+
return currentActivity?.isInPictureInPictureMode == true
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
/**
|
|
195
|
+
* Check if PiP is supported on this device
|
|
196
|
+
*/
|
|
197
|
+
fun isPiPSupported(activity: Activity): Boolean {
|
|
198
|
+
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
|
|
199
|
+
return false
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
// Check if the activity has declared PiP support
|
|
203
|
+
val hasFeature = activity.packageManager.hasSystemFeature(PackageManager.FEATURE_PICTURE_IN_PICTURE)
|
|
204
|
+
|
|
205
|
+
// Also check activity info for supportsPictureInPicture
|
|
206
|
+
try {
|
|
207
|
+
val activityInfo = activity.packageManager.getActivityInfo(
|
|
208
|
+
activity.componentName,
|
|
209
|
+
PackageManager.GET_META_DATA
|
|
210
|
+
)
|
|
211
|
+
// Note: We can't directly check supportsPictureInPicture flag,
|
|
212
|
+
// but if PiP fails, the error will be caught
|
|
213
|
+
} catch (e: Exception) {
|
|
214
|
+
Log.w(TAG, "Could not get activity info: ${e.message}")
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
return hasFeature
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
/**
|
|
221
|
+
* Update the current activity reference
|
|
222
|
+
* Call this when the activity changes
|
|
223
|
+
*/
|
|
224
|
+
fun setCurrentActivity(activity: Activity?) {
|
|
225
|
+
this.currentActivity = activity
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
/**
|
|
229
|
+
* Set the source view for PiP
|
|
230
|
+
* This view's bounds will be used as the source rect hint for smooth PiP transitions
|
|
231
|
+
*/
|
|
232
|
+
fun setSourceView(view: View?) {
|
|
233
|
+
this.sourceView = view
|
|
234
|
+
Log.i(TAG, "Source view set: ${view?.javaClass?.simpleName ?: "null"}")
|
|
235
|
+
// Update PiP params if already enabled
|
|
236
|
+
if (isEnabled) {
|
|
237
|
+
updatePiPParams()
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
/**
|
|
242
|
+
* Get the source rect for the current source view
|
|
243
|
+
*/
|
|
244
|
+
private fun getSourceRect(): Rect? {
|
|
245
|
+
val view = sourceView ?: return null
|
|
246
|
+
|
|
247
|
+
// Get view location on screen
|
|
248
|
+
val location = IntArray(2)
|
|
249
|
+
view.getLocationOnScreen(location)
|
|
250
|
+
|
|
251
|
+
return Rect(
|
|
252
|
+
location[0],
|
|
253
|
+
location[1],
|
|
254
|
+
location[0] + view.width,
|
|
255
|
+
location[1] + view.height
|
|
256
|
+
)
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* Add a PiP state listener
|
|
261
|
+
*/
|
|
262
|
+
fun addStateListener(listener: PiPStateListener) {
|
|
263
|
+
if (!stateListeners.contains(listener)) {
|
|
264
|
+
stateListeners.add(listener)
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
/**
|
|
269
|
+
* Remove a PiP state listener
|
|
270
|
+
*/
|
|
271
|
+
fun removeStateListener(listener: PiPStateListener) {
|
|
272
|
+
stateListeners.remove(listener)
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
/**
|
|
276
|
+
* Notify all listeners about entering PiP
|
|
277
|
+
*/
|
|
278
|
+
private fun notifyEnterPiP() {
|
|
279
|
+
mainHandler.post {
|
|
280
|
+
stateListeners.forEach { it.onEnterPiP() }
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
/**
|
|
285
|
+
* Notify all listeners about exiting PiP
|
|
286
|
+
*/
|
|
287
|
+
private fun notifyExitPiP() {
|
|
288
|
+
mainHandler.post {
|
|
289
|
+
stateListeners.forEach { it.onExitPiP() }
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
/**
|
|
294
|
+
* Handle PiP mode changes
|
|
295
|
+
* The activity should call this in onPictureInPictureModeChanged
|
|
296
|
+
*/
|
|
297
|
+
fun onPictureInPictureModeChanged(isInPiPMode: Boolean, newConfig: Configuration?) {
|
|
298
|
+
val wasActive = isActive
|
|
299
|
+
isActive = isInPiPMode
|
|
300
|
+
|
|
301
|
+
if (isInPiPMode && !wasActive) {
|
|
302
|
+
Log.i(TAG, "Entered PiP mode")
|
|
303
|
+
notifyEnterPiP()
|
|
304
|
+
delegate?.onPiPStateChanged("started")
|
|
305
|
+
|
|
306
|
+
// Ensure the source view stays visible in PiP
|
|
307
|
+
sourceView?.let { view ->
|
|
308
|
+
view.visibility = View.VISIBLE
|
|
309
|
+
view.keepScreenOn = true
|
|
310
|
+
Log.d(TAG, "Set source view to VISIBLE and keepScreenOn")
|
|
311
|
+
}
|
|
312
|
+
} else if (!isInPiPMode && wasActive) {
|
|
313
|
+
Log.i(TAG, "Exited PiP mode")
|
|
314
|
+
notifyExitPiP()
|
|
315
|
+
delegate?.onPiPStateChanged("stopped")
|
|
316
|
+
|
|
317
|
+
// Reset keepScreenOn when exiting PiP
|
|
318
|
+
sourceView?.keepScreenOn = false
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
/**
|
|
323
|
+
* Handle user leaving hint (pressing home button)
|
|
324
|
+
* The activity should call this in onUserLeaveHint
|
|
325
|
+
*/
|
|
326
|
+
fun onUserLeaveHint() {
|
|
327
|
+
if (isEnabled && options.autoEnterOnBackground && !isActive) {
|
|
328
|
+
Log.i(TAG, "Auto-entering PiP (user leaving hint)")
|
|
329
|
+
start()
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
// MARK: - Private Helpers
|
|
334
|
+
|
|
335
|
+
private fun buildPiPParams(): PictureInPictureParams {
|
|
336
|
+
val builder = PictureInPictureParams.Builder()
|
|
337
|
+
.setAspectRatio(options.preferredAspectRatio)
|
|
338
|
+
|
|
339
|
+
// Set source rect hint for smooth transition animation
|
|
340
|
+
getSourceRect()?.let { rect ->
|
|
341
|
+
builder.setSourceRectHint(rect)
|
|
342
|
+
Log.d(TAG, "Set source rect hint: $rect")
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
|
|
346
|
+
builder.setAutoEnterEnabled(options.autoEnterOnBackground)
|
|
347
|
+
builder.setSeamlessResizeEnabled(true)
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
return builder.build()
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
/**
|
|
354
|
+
* Update PiP params (e.g., when aspect ratio changes)
|
|
355
|
+
*/
|
|
356
|
+
fun updatePiPParams() {
|
|
357
|
+
if (!isEnabled) return
|
|
358
|
+
|
|
359
|
+
currentActivity?.let { activity ->
|
|
360
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
|
361
|
+
try {
|
|
362
|
+
activity.setPictureInPictureParams(buildPiPParams())
|
|
363
|
+
} catch (e: Exception) {
|
|
364
|
+
Log.w(TAG, "Failed to update PiP params: ${e.message}")
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
/**
|
|
371
|
+
* Set the preferred aspect ratio for PiP
|
|
372
|
+
*/
|
|
373
|
+
fun setAspectRatio(width: Int, height: Int) {
|
|
374
|
+
options.preferredAspectRatio = Rational(width, height)
|
|
375
|
+
updatePiPParams()
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
// MARK: - Application.ActivityLifecycleCallbacks
|
|
379
|
+
|
|
380
|
+
override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle?) {}
|
|
381
|
+
|
|
382
|
+
override fun onActivityStarted(activity: Activity) {
|
|
383
|
+
if (activity == currentActivity) {
|
|
384
|
+
// Check PiP mode when activity starts
|
|
385
|
+
checkPiPModeChange(activity)
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
override fun onActivityResumed(activity: Activity) {
|
|
390
|
+
if (activity == currentActivity) {
|
|
391
|
+
// Check if we exited PiP mode
|
|
392
|
+
val isInPiP = activity.isInPictureInPictureMode
|
|
393
|
+
if (!isInPiP && isActive) {
|
|
394
|
+
// User returned from PiP to full screen
|
|
395
|
+
Log.i(TAG, "User returned from PiP (restored)")
|
|
396
|
+
onPictureInPictureModeChanged(false, null)
|
|
397
|
+
delegate?.onPiPStateChanged("restored")
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
override fun onActivityPaused(activity: Activity) {
|
|
403
|
+
if (activity == currentActivity) {
|
|
404
|
+
// Check if we entered PiP mode
|
|
405
|
+
mainHandler.postDelayed({
|
|
406
|
+
checkPiPModeChange(activity)
|
|
407
|
+
}, 100) // Small delay to allow system to update PiP state
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
override fun onActivityStopped(activity: Activity) {}
|
|
412
|
+
|
|
413
|
+
override fun onActivitySaveInstanceState(activity: Activity, outState: Bundle) {}
|
|
414
|
+
|
|
415
|
+
override fun onActivityDestroyed(activity: Activity) {
|
|
416
|
+
if (activity == currentActivity) {
|
|
417
|
+
currentActivity = null
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
/**
|
|
422
|
+
* Check if PiP mode changed and trigger appropriate callbacks
|
|
423
|
+
*/
|
|
424
|
+
private fun checkPiPModeChange(activity: Activity) {
|
|
425
|
+
val isInPiP = activity.isInPictureInPictureMode
|
|
426
|
+
if (isInPiP != isActive) {
|
|
427
|
+
Log.d(TAG, "PiP mode changed: wasActive=$isActive, isNowInPiP=$isInPiP")
|
|
428
|
+
onPictureInPictureModeChanged(isInPiP, null)
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
}
|
|
@@ -50,6 +50,49 @@ export interface ParticipantStreamsRemovedPayload {
|
|
|
50
50
|
deviceUrn: string;
|
|
51
51
|
}[];
|
|
52
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* Options for configuring Picture-in-Picture behavior
|
|
55
|
+
*/
|
|
56
|
+
export interface PiPOptions {
|
|
57
|
+
/**
|
|
58
|
+
* Whether to automatically enter PiP when the app goes to background
|
|
59
|
+
* @default true
|
|
60
|
+
*/
|
|
61
|
+
autoEnterOnBackground?: boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Which video stream to show in PiP
|
|
64
|
+
* - 'local': Shows the local camera preview (for broadcasters)
|
|
65
|
+
* - 'remote': Shows the remote participant stream (for viewers)
|
|
66
|
+
* @default 'remote'
|
|
67
|
+
*/
|
|
68
|
+
sourceView?: 'local' | 'remote';
|
|
69
|
+
/**
|
|
70
|
+
* Preferred aspect ratio for the PiP window
|
|
71
|
+
* @default { width: 9, height: 16 } (portrait)
|
|
72
|
+
*/
|
|
73
|
+
preferredAspectRatio?: {
|
|
74
|
+
width: number;
|
|
75
|
+
height: number;
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* PiP state change event payload
|
|
80
|
+
*/
|
|
81
|
+
export interface PiPStateChangedPayload {
|
|
82
|
+
/**
|
|
83
|
+
* Current PiP state:
|
|
84
|
+
* - 'started': PiP mode has started
|
|
85
|
+
* - 'stopped': PiP mode has stopped
|
|
86
|
+
* - 'restored': User tapped to return from PiP to full screen
|
|
87
|
+
*/
|
|
88
|
+
state: 'started' | 'stopped' | 'restored';
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* PiP error event payload
|
|
92
|
+
*/
|
|
93
|
+
export interface PiPErrorPayload {
|
|
94
|
+
error: string;
|
|
95
|
+
}
|
|
53
96
|
export type ExpoRealtimeIvsBroadcastModuleEvents = {
|
|
54
97
|
onStageConnectionStateChanged: (payload: StageConnectionStatePayload) => void;
|
|
55
98
|
onPublishStateChanged: (payload: PublishStatePayload) => void;
|
|
@@ -60,6 +103,8 @@ export type ExpoRealtimeIvsBroadcastModuleEvents = {
|
|
|
60
103
|
onParticipantStreamsRemoved: (payload: ParticipantStreamsRemovedPayload) => void;
|
|
61
104
|
onCameraSwapped: (payload: CameraSwappedPayload) => void;
|
|
62
105
|
onCameraSwapError: (payload: CameraSwapErrorPayload) => void;
|
|
106
|
+
onPiPStateChanged: (payload: PiPStateChangedPayload) => void;
|
|
107
|
+
onPiPError: (payload: PiPErrorPayload) => void;
|
|
63
108
|
};
|
|
64
109
|
export type ExpoIVSStagePreviewViewProps = {
|
|
65
110
|
style?: StyleProp<ViewStyle>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpoRealtimeIvsBroadcast.types.d.ts","sourceRoot":"","sources":["../src/ExpoRealtimeIvsBroadcast.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzD,MAAM,WAAW,gBAAgB;CAEhC;AAED,MAAM,WAAW,gBAAgB;CAEhC;AAGD,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,QAAQ,GAAG,gBAAgB,GAAG,aAAa,CAAC;AACvF,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,gBAAgB,CAAC;IACzB,UAAU,EAAE,gBAAgB,CAAC;CAC9B;AAGD,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,YAAY,GAAG,WAAW,GAAG,cAAc,CAAC;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,eAAe,GAAG,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;CAC1C;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAGD,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,yBAAyB;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,gCAAgC;IAC/C,aAAa,EAAE,MAAM,CAAC;IAEtB,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAClC;AAGD,MAAM,MAAM,oCAAoC,GAAG;IACjD,6BAA6B,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,IAAI,CAAC;IAC9E,qBAAqB,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC9D,YAAY,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACnD,mBAAmB,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC3D,iBAAiB,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACzD,yBAAyB,EAAE,CAAC,OAAO,EAAE,yBAAyB,KAAK,IAAI,CAAC;IACxE,2BAA2B,EAAE,CAAC,OAAO,EAAE,gCAAgC,KAAK,IAAI,CAAC;IACjF,eAAe,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACzD,iBAAiB,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"ExpoRealtimeIvsBroadcast.types.d.ts","sourceRoot":"","sources":["../src/ExpoRealtimeIvsBroadcast.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzD,MAAM,WAAW,gBAAgB;CAEhC;AAED,MAAM,WAAW,gBAAgB;CAEhC;AAGD,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,QAAQ,GAAG,gBAAgB,GAAG,aAAa,CAAC;AACvF,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,gBAAgB,CAAC;IACzB,UAAU,EAAE,gBAAgB,CAAC;CAC9B;AAGD,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,YAAY,GAAG,WAAW,GAAG,cAAc,CAAC;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,eAAe,GAAG,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;CAC1C;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAGD,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,yBAAyB;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,gCAAgC;IAC/C,aAAa,EAAE,MAAM,CAAC;IAEtB,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAClC;AAID;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAEhC;;;OAGG;IACH,oBAAoB,CAAC,EAAE;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;OAKG;IACH,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;CACf;AAGD,MAAM,MAAM,oCAAoC,GAAG;IACjD,6BAA6B,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,IAAI,CAAC;IAC9E,qBAAqB,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC9D,YAAY,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACnD,mBAAmB,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC3D,iBAAiB,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACzD,yBAAyB,EAAE,CAAC,OAAO,EAAE,yBAAyB,KAAK,IAAI,CAAC;IACxE,2BAA2B,EAAE,CAAC,OAAO,EAAE,gCAAgC,KAAK,IAAI,CAAC;IACjF,eAAe,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACzD,iBAAiB,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAE7D,iBAAiB,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAC7D,UAAU,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;CAChD,CAAC;AAGF,MAAM,MAAM,4BAA4B,GAAG;IACzC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CAC5B,CAAC;AAGF,MAAM,MAAM,4BAA4B,GAAG;IACzC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CAC5B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpoRealtimeIvsBroadcast.types.js","sourceRoot":"","sources":["../src/ExpoRealtimeIvsBroadcast.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { StyleProp, ViewStyle } from 'react-native';\n\n// Configuration types for the initialize method\nexport interface LocalAudioConfig {\n // Future properties: e.g., bitrate?: number;\n}\n\nexport interface LocalVideoConfig {\n // Future properties: e.g., width?: number; height?: number; targetFramerate?: number; maxBitrate?: number;\n}\n\n// Permission status types for requestPermissions method\nexport type PermissionStatus = 'granted' | 'denied' | 'not-determined' | 'unavailable';\nexport interface PermissionStatusMap {\n camera: PermissionStatus;\n microphone: PermissionStatus;\n}\n\n// --- Event Payloads for Native Module Emitter ---\nexport interface StageConnectionStatePayload {\n state: 'connecting' | 'connected' | 'disconnected';\n error?: string;\n}\n\nexport interface PublishStatePayload {\n state: 'not_published' | 'attempting' | 'published' | 'failed'; // Added 'failed' as a common case\n error?: string;\n}\n\nexport interface StageErrorPayload {\n code: number;\n description: string;\n source: string;\n isFatal: boolean;\n}\n\nexport interface CameraSwappedPayload {\n newCameraURN: string;\n newCameraName: string;\n}\n\nexport interface CameraSwapErrorPayload {\n reason: string;\n}\n\n// As per plan\nexport interface StageStream {\n deviceUrn: string;\n mediaType: 'video' | 'audio' | 'unknown';\n}\n\nexport interface Participant {\n id: string;\n streams: StageStream[];\n}\n\n// Payloads for participant events\nexport interface ParticipantPayload {\n participantId: string;\n}\n\nexport interface ParticipantStreamsPayload {\n participantId: string;\n streams: StageStream[];\n}\n\nexport interface ParticipantStreamsRemovedPayload {\n participantId: string;\n // On removal, we only get the URNs back from the native side\n streams: { deviceUrn: string }[];\n}\n\n// Defines the events that the native module can emit\nexport type ExpoRealtimeIvsBroadcastModuleEvents = {\n onStageConnectionStateChanged: (payload: StageConnectionStatePayload) => void;\n onPublishStateChanged: (payload: PublishStatePayload) => void;\n onStageError: (payload: StageErrorPayload) => void;\n onParticipantJoined: (payload: ParticipantPayload) => void;\n onParticipantLeft: (payload: ParticipantPayload) => void;\n onParticipantStreamsAdded: (payload: ParticipantStreamsPayload) => void;\n onParticipantStreamsRemoved: (payload: ParticipantStreamsRemovedPayload) => void;\n onCameraSwapped: (payload: CameraSwappedPayload) => void;\n onCameraSwapError: (payload: CameraSwapErrorPayload) => void;\n};\n\n// Props for the ExpoIVSStagePreviewView component\nexport type ExpoIVSStagePreviewViewProps = {\n style?: StyleProp<ViewStyle>;\n mirror?: boolean;\n scaleMode?: 'fit' | 'fill'; // As per plan\n};\n\n// Props for the new remote stream view\nexport type ExpoIVSRemoteStreamViewProps = {\n style?: StyleProp<ViewStyle>;\n participantId?: string;\n deviceUrn?: string;\n scaleMode?: 'fit' | 'fill';\n};\n"]}
|
|
1
|
+
{"version":3,"file":"ExpoRealtimeIvsBroadcast.types.js","sourceRoot":"","sources":["../src/ExpoRealtimeIvsBroadcast.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { StyleProp, ViewStyle } from 'react-native';\n\n// Configuration types for the initialize method\nexport interface LocalAudioConfig {\n // Future properties: e.g., bitrate?: number;\n}\n\nexport interface LocalVideoConfig {\n // Future properties: e.g., width?: number; height?: number; targetFramerate?: number; maxBitrate?: number;\n}\n\n// Permission status types for requestPermissions method\nexport type PermissionStatus = 'granted' | 'denied' | 'not-determined' | 'unavailable';\nexport interface PermissionStatusMap {\n camera: PermissionStatus;\n microphone: PermissionStatus;\n}\n\n// --- Event Payloads for Native Module Emitter ---\nexport interface StageConnectionStatePayload {\n state: 'connecting' | 'connected' | 'disconnected';\n error?: string;\n}\n\nexport interface PublishStatePayload {\n state: 'not_published' | 'attempting' | 'published' | 'failed'; // Added 'failed' as a common case\n error?: string;\n}\n\nexport interface StageErrorPayload {\n code: number;\n description: string;\n source: string;\n isFatal: boolean;\n}\n\nexport interface CameraSwappedPayload {\n newCameraURN: string;\n newCameraName: string;\n}\n\nexport interface CameraSwapErrorPayload {\n reason: string;\n}\n\n// As per plan\nexport interface StageStream {\n deviceUrn: string;\n mediaType: 'video' | 'audio' | 'unknown';\n}\n\nexport interface Participant {\n id: string;\n streams: StageStream[];\n}\n\n// Payloads for participant events\nexport interface ParticipantPayload {\n participantId: string;\n}\n\nexport interface ParticipantStreamsPayload {\n participantId: string;\n streams: StageStream[];\n}\n\nexport interface ParticipantStreamsRemovedPayload {\n participantId: string;\n // On removal, we only get the URNs back from the native side\n streams: { deviceUrn: string }[];\n}\n\n// --- Picture-in-Picture Types ---\n\n/**\n * Options for configuring Picture-in-Picture behavior\n */\nexport interface PiPOptions {\n /**\n * Whether to automatically enter PiP when the app goes to background\n * @default true\n */\n autoEnterOnBackground?: boolean;\n \n /**\n * Which video stream to show in PiP\n * - 'local': Shows the local camera preview (for broadcasters)\n * - 'remote': Shows the remote participant stream (for viewers)\n * @default 'remote'\n */\n sourceView?: 'local' | 'remote';\n \n /**\n * Preferred aspect ratio for the PiP window\n * @default { width: 9, height: 16 } (portrait)\n */\n preferredAspectRatio?: {\n width: number;\n height: number;\n };\n}\n\n/**\n * PiP state change event payload\n */\nexport interface PiPStateChangedPayload {\n /**\n * Current PiP state:\n * - 'started': PiP mode has started\n * - 'stopped': PiP mode has stopped\n * - 'restored': User tapped to return from PiP to full screen\n */\n state: 'started' | 'stopped' | 'restored';\n}\n\n/**\n * PiP error event payload\n */\nexport interface PiPErrorPayload {\n error: string;\n}\n\n// Defines the events that the native module can emit\nexport type ExpoRealtimeIvsBroadcastModuleEvents = {\n onStageConnectionStateChanged: (payload: StageConnectionStatePayload) => void;\n onPublishStateChanged: (payload: PublishStatePayload) => void;\n onStageError: (payload: StageErrorPayload) => void;\n onParticipantJoined: (payload: ParticipantPayload) => void;\n onParticipantLeft: (payload: ParticipantPayload) => void;\n onParticipantStreamsAdded: (payload: ParticipantStreamsPayload) => void;\n onParticipantStreamsRemoved: (payload: ParticipantStreamsRemovedPayload) => void;\n onCameraSwapped: (payload: CameraSwappedPayload) => void;\n onCameraSwapError: (payload: CameraSwapErrorPayload) => void;\n // PiP events\n onPiPStateChanged: (payload: PiPStateChangedPayload) => void;\n onPiPError: (payload: PiPErrorPayload) => void;\n};\n\n// Props for the ExpoIVSStagePreviewView component\nexport type ExpoIVSStagePreviewViewProps = {\n style?: StyleProp<ViewStyle>;\n mirror?: boolean;\n scaleMode?: 'fit' | 'fill'; // As per plan\n};\n\n// Props for the new remote stream view\nexport type ExpoIVSRemoteStreamViewProps = {\n style?: StyleProp<ViewStyle>;\n participantId?: string;\n deviceUrn?: string;\n scaleMode?: 'fit' | 'fill';\n};\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EventSubscription } from 'expo-modules-core';
|
|
2
|
-
import { LocalAudioConfig, LocalVideoConfig, PermissionStatusMap, ExpoRealtimeIvsBroadcastModuleEvents } from './ExpoRealtimeIvsBroadcast.types';
|
|
2
|
+
import { LocalAudioConfig, LocalVideoConfig, PermissionStatusMap, ExpoRealtimeIvsBroadcastModuleEvents, PiPOptions } from './ExpoRealtimeIvsBroadcast.types';
|
|
3
3
|
export type ExpoRealtimeIvsBroadcastModuleType = {
|
|
4
4
|
initializeStage(audioConfig?: LocalAudioConfig, videoConfig?: LocalVideoConfig): Promise<void>;
|
|
5
5
|
initializeLocalStreams(audioConfig?: LocalAudioConfig, videoConfig?: LocalVideoConfig): Promise<void>;
|
|
@@ -11,6 +11,12 @@ export type ExpoRealtimeIvsBroadcastModuleType = {
|
|
|
11
11
|
swapCamera(): Promise<void>;
|
|
12
12
|
setMicrophoneMuted(muted: boolean): Promise<void>;
|
|
13
13
|
requestPermissions(): Promise<PermissionStatusMap>;
|
|
14
|
+
enablePictureInPicture(options?: PiPOptions): Promise<boolean>;
|
|
15
|
+
disablePictureInPicture(): Promise<void>;
|
|
16
|
+
startPictureInPicture(): Promise<void>;
|
|
17
|
+
stopPictureInPicture(): Promise<void>;
|
|
18
|
+
isPictureInPictureActive(): Promise<boolean>;
|
|
19
|
+
isPictureInPictureSupported(): Promise<boolean>;
|
|
14
20
|
addListener<EventName extends keyof ExpoRealtimeIvsBroadcastModuleEvents>(eventName: EventName, listener: (event: Parameters<ExpoRealtimeIvsBroadcastModuleEvents[EventName]>[0]) => void): EventSubscription;
|
|
15
21
|
removeListeners(count: number): void;
|
|
16
22
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpoRealtimeIvsBroadcastModule.d.ts","sourceRoot":"","sources":["../src/ExpoRealtimeIvsBroadcastModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,oCAAoC,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"ExpoRealtimeIvsBroadcastModule.d.ts","sourceRoot":"","sources":["../src/ExpoRealtimeIvsBroadcastModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,oCAAoC,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAK7J,MAAM,MAAM,kCAAkC,GAAG;IAC/C,eAAe,CAAC,WAAW,CAAC,EAAE,gBAAgB,EAAE,WAAW,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/F,sBAAsB,CAAC,WAAW,CAAC,EAAE,gBAAgB,EAAE,WAAW,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtG,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,mBAAmB,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpF,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,mBAAmB,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,kBAAkB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAGnD,sBAAsB,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/D,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,2BAA2B,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAEhD,WAAW,CAAC,SAAS,SAAS,MAAM,oCAAoC,EACtE,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,oCAAoC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,GACxF,iBAAiB,CAAC;IACrB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC,CAAC;AAEF,QAAA,MAAM,UAAU,EAAE,kCAAoF,CAAC;AAEvG,eAAe,UAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpoRealtimeIvsBroadcastModule.js","sourceRoot":"","sources":["../src/ExpoRealtimeIvsBroadcastModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAqB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"ExpoRealtimeIvsBroadcastModule.js","sourceRoot":"","sources":["../src/ExpoRealtimeIvsBroadcastModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAqB,MAAM,mBAAmB,CAAC;AA+B3E,MAAM,UAAU,GAAuC,mBAAmB,CAAC,0BAA0B,CAAC,CAAC;AAEvG,eAAe,UAAU,CAAC","sourcesContent":["import { requireNativeModule, EventSubscription } from 'expo-modules-core';\nimport { LocalAudioConfig, LocalVideoConfig, PermissionStatusMap, ExpoRealtimeIvsBroadcastModuleEvents, PiPOptions } from './ExpoRealtimeIvsBroadcast.types';\n\n// This combines the module's method signatures with the event emitter's signatures.\n// By defining `addListener` and `removeListeners` explicitly, we get strong type-checking\n// for our event names and payloads, resolving the 'never' type error.\nexport type ExpoRealtimeIvsBroadcastModuleType = {\n initializeStage(audioConfig?: LocalAudioConfig, videoConfig?: LocalVideoConfig): Promise<void>;\n initializeLocalStreams(audioConfig?: LocalAudioConfig, videoConfig?: LocalVideoConfig): Promise<void>;\n joinStage(token: string, options?: { targetParticipantId?: string }): Promise<void>;\n leaveStage(): Promise<void>;\n setStreamsPublished(published: boolean): Promise<void>;\n swapCamera(): Promise<void>;\n setMicrophoneMuted(muted: boolean): Promise<void>;\n requestPermissions(): Promise<PermissionStatusMap>;\n \n // Picture-in-Picture methods\n enablePictureInPicture(options?: PiPOptions): Promise<boolean>;\n disablePictureInPicture(): Promise<void>;\n startPictureInPicture(): Promise<void>;\n stopPictureInPicture(): Promise<void>;\n isPictureInPictureActive(): Promise<boolean>;\n isPictureInPictureSupported(): Promise<boolean>;\n\n addListener<EventName extends keyof ExpoRealtimeIvsBroadcastModuleEvents>(\n eventName: EventName,\n listener: (event: Parameters<ExpoRealtimeIvsBroadcastModuleEvents[EventName]>[0]) => void\n ): EventSubscription;\n removeListeners(count: number): void;\n};\n\nconst ExpoModule: ExpoRealtimeIvsBroadcastModuleType = requireNativeModule('ExpoRealtimeIvsBroadcast');\n\nexport default ExpoModule;\n"]}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { NativeModule } from 'expo';
|
|
2
|
-
import { ExpoRealtimeIvsBroadcastModuleEvents } from './ExpoRealtimeIvsBroadcast.types';
|
|
2
|
+
import { ExpoRealtimeIvsBroadcastModuleEvents, PiPOptions } from './ExpoRealtimeIvsBroadcast.types';
|
|
3
3
|
declare class ExpoRealtimeIvsBroadcastModule extends NativeModule<ExpoRealtimeIvsBroadcastModuleEvents> {
|
|
4
|
+
enablePictureInPicture(_options?: PiPOptions): Promise<boolean>;
|
|
5
|
+
disablePictureInPicture(): Promise<void>;
|
|
6
|
+
startPictureInPicture(): Promise<void>;
|
|
7
|
+
stopPictureInPicture(): Promise<void>;
|
|
8
|
+
isPictureInPictureActive(): Promise<boolean>;
|
|
9
|
+
isPictureInPictureSupported(): Promise<boolean>;
|
|
4
10
|
}
|
|
5
11
|
declare const _default: typeof ExpoRealtimeIvsBroadcastModule;
|
|
6
12
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpoRealtimeIvsBroadcastModule.web.d.ts","sourceRoot":"","sources":["../src/ExpoRealtimeIvsBroadcastModule.web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,YAAY,EAAE,MAAM,MAAM,CAAC;AAEvD,OAAO,EAAE,oCAAoC,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"ExpoRealtimeIvsBroadcastModule.web.d.ts","sourceRoot":"","sources":["../src/ExpoRealtimeIvsBroadcastModule.web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,YAAY,EAAE,MAAM,MAAM,CAAC;AAEvD,OAAO,EAAE,oCAAoC,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAEpG,cAAM,8BAA+B,SAAQ,YAAY,CAAC,oCAAoC,CAAC;IAEvF,sBAAsB,CAAC,QAAQ,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAK/D,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxC,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAItC,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC;IAI5C,2BAA2B,IAAI,OAAO,CAAC,OAAO,CAAC;CAGtD;;AAED,wBAAmG"}
|
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
import { registerWebModule, NativeModule } from 'expo';
|
|
2
2
|
class ExpoRealtimeIvsBroadcastModule extends NativeModule {
|
|
3
|
+
// Stub implementations for web (PiP not supported on web)
|
|
4
|
+
async enablePictureInPicture(_options) {
|
|
5
|
+
console.warn('Picture-in-Picture is not supported on web');
|
|
6
|
+
return false;
|
|
7
|
+
}
|
|
8
|
+
async disablePictureInPicture() {
|
|
9
|
+
// No-op on web
|
|
10
|
+
}
|
|
11
|
+
async startPictureInPicture() {
|
|
12
|
+
console.warn('Picture-in-Picture is not supported on web');
|
|
13
|
+
}
|
|
14
|
+
async stopPictureInPicture() {
|
|
15
|
+
// No-op on web
|
|
16
|
+
}
|
|
17
|
+
async isPictureInPictureActive() {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
async isPictureInPictureSupported() {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
3
23
|
}
|
|
4
24
|
export default registerWebModule(ExpoRealtimeIvsBroadcastModule, 'ExpoRealtimeIvsBroadcastModule');
|
|
5
25
|
//# sourceMappingURL=ExpoRealtimeIvsBroadcastModule.web.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpoRealtimeIvsBroadcastModule.web.js","sourceRoot":"","sources":["../src/ExpoRealtimeIvsBroadcastModule.web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAIvD,MAAM,8BAA+B,SAAQ,YAAkD;
|
|
1
|
+
{"version":3,"file":"ExpoRealtimeIvsBroadcastModule.web.js","sourceRoot":"","sources":["../src/ExpoRealtimeIvsBroadcastModule.web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAIvD,MAAM,8BAA+B,SAAQ,YAAkD;IAC7F,0DAA0D;IAC1D,KAAK,CAAC,sBAAsB,CAAC,QAAqB;QAChD,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QAC3D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,uBAAuB;QAC3B,eAAe;IACjB,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,eAAe;IACjB,CAAC;IAED,KAAK,CAAC,wBAAwB;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,2BAA2B;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED,eAAe,iBAAiB,CAAC,8BAA8B,EAAE,gCAAgC,CAAC,CAAC","sourcesContent":["import { registerWebModule, NativeModule } from 'expo';\n\nimport { ExpoRealtimeIvsBroadcastModuleEvents, PiPOptions } from './ExpoRealtimeIvsBroadcast.types';\n\nclass ExpoRealtimeIvsBroadcastModule extends NativeModule<ExpoRealtimeIvsBroadcastModuleEvents> {\n // Stub implementations for web (PiP not supported on web)\n async enablePictureInPicture(_options?: PiPOptions): Promise<boolean> {\n console.warn('Picture-in-Picture is not supported on web');\n return false;\n }\n\n async disablePictureInPicture(): Promise<void> {\n // No-op on web\n }\n\n async startPictureInPicture(): Promise<void> {\n console.warn('Picture-in-Picture is not supported on web');\n }\n\n async stopPictureInPicture(): Promise<void> {\n // No-op on web\n }\n\n async isPictureInPictureActive(): Promise<boolean> {\n return false;\n }\n\n async isPictureInPictureSupported(): Promise<boolean> {\n return false;\n }\n}\n\nexport default registerWebModule(ExpoRealtimeIvsBroadcastModule, 'ExpoRealtimeIvsBroadcastModule');\n"]}
|