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.
Files changed (265) hide show
  1. package/README.md +261 -4
  2. package/android/build/.transforms/10a4d332fad050fdaf4ee2d7badc1ee4/transformed/classes/classes_dex/classes.dex +0 -0
  3. package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoIVSRemoteStreamView.dex +0 -0
  4. package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoIVSStagePreviewView$attachStreamWithRetry$4.dex +0 -0
  5. package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoIVSStagePreviewView.dex +0 -0
  6. package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$1$16$1.dex +0 -0
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$16.dex +0 -0
  17. package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$17.dex +0 -0
  18. package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$18.dex +0 -0
  19. 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
  20. 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
  21. 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
  22. 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
  23. 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
  24. 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
  25. package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$8.dex +0 -0
  26. 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
  27. 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
  28. 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
  29. 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
  30. package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunctionWithoutArgs$4.dex +0 -0
  31. package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunctionWithoutArgs$5.dex +0 -0
  32. package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunctionWithoutArgs$6.dex +0 -0
  33. package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunctionWithoutArgs$7.dex +0 -0
  34. package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunctionWithoutArgs$8.dex +0 -0
  35. 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
  36. 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
  37. 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
  38. package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$lambda$22$$inlined$Prop$1.dex +0 -0
  39. 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
  40. package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$lambda$23$$inlined$Prop$1.dex +0 -0
  41. package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule.dex +0 -0
  42. package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/IVSStageManager.dex +0 -0
  43. package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/PiPOptions$PiPSourceView.dex +0 -0
  44. package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/PiPOptions.dex +0 -0
  45. package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/PiPStateListener.dex +0 -0
  46. package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/PictureInPictureDelegate.dex +0 -0
  47. package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/PictureInPictureManager$Companion.dex +0 -0
  48. package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/PictureInPictureManager.dex +0 -0
  49. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +5 -0
  50. package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  51. package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +12 -1
  52. package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +5 -0
  53. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoIVSRemoteStreamView.class +0 -0
  54. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoIVSStagePreviewView$attachStreamWithRetry$4.class +0 -0
  55. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoIVSStagePreviewView.class +0 -0
  56. 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
  57. 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
  58. 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
  59. 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
  60. 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
  61. 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
  62. 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
  63. 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
  64. 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
  65. 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
  66. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$16.class +0 -0
  67. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$17.class +0 -0
  68. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$18.class +0 -0
  69. 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
  70. 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
  71. 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
  72. 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
  73. 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
  74. 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
  75. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$8.class +0 -0
  76. 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
  77. 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
  78. 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
  79. 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
  80. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunctionWithoutArgs$4.class +0 -0
  81. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunctionWithoutArgs$5.class +0 -0
  82. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunctionWithoutArgs$6.class +0 -0
  83. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunctionWithoutArgs$7.class +0 -0
  84. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunctionWithoutArgs$8.class +0 -0
  85. 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
  86. 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
  87. 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
  88. 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
  89. 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
  90. 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
  91. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule.class +0 -0
  92. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/IVSStageManager.class +0 -0
  93. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/PiPOptions$PiPSourceView.class +0 -0
  94. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/PiPOptions.class +0 -0
  95. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/PiPStateListener.class +0 -0
  96. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/PictureInPictureDelegate.class +0 -0
  97. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/PictureInPictureManager$Companion.class +0 -0
  98. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/PictureInPictureManager.class +0 -0
  99. package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
  100. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
  101. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
  102. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
  103. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
  104. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values +0 -0
  105. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
  106. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.s +1 -0
  107. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
  108. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
  109. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
  110. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
  111. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
  112. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
  113. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
  114. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
  115. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
  116. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
  117. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
  118. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
  119. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
  120. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
  121. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
  122. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
  123. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
  124. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
  125. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
  126. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
  127. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
  128. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
  129. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
  130. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values +0 -0
  131. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
  132. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.s +1 -0
  133. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
  134. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
  135. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
  136. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
  137. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
  138. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
  139. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
  140. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
  141. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
  142. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
  143. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
  144. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
  145. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
  146. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
  147. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
  148. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
  149. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
  150. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
  151. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
  152. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +1 -1
  153. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
  154. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
  155. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
  156. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
  157. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
  158. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
  159. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
  160. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
  161. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
  162. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
  163. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
  164. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
  165. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
  166. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
  167. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
  168. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
  169. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values +0 -0
  170. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
  171. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.s +1 -0
  172. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
  173. package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
  174. package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
  175. package/android/build/kotlin/compileDebugKotlin/local-state/build-history.bin +0 -0
  176. package/android/build/outputs/logs/manifest-merger-debug-report.txt +14 -2
  177. package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoIVSRemoteStreamView.class +0 -0
  178. package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoIVSStagePreviewView$attachStreamWithRetry$4.class +0 -0
  179. package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoIVSStagePreviewView.class +0 -0
  180. package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/{ExpoRealtimeIvsBroadcastModule$definition$1$10$1.class → ExpoRealtimeIvsBroadcastModule$definition$1$16$1.class} +0 -0
  181. 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
  182. package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/{ExpoRealtimeIvsBroadcastModule$definition$1$11$1.class → ExpoRealtimeIvsBroadcastModule$definition$1$17$1.class} +0 -0
  183. package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$1.class +0 -0
  184. 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
  185. 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
  186. 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
  187. 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
  188. 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
  189. 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
  190. package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$16.class +0 -0
  191. package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$17.class +0 -0
  192. package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$18.class +0 -0
  193. package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$2.class +0 -0
  194. 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
  195. package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$4.class +0 -0
  196. package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$5.class +0 -0
  197. 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
  198. 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
  199. package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunction$8.class +0 -0
  200. 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
  201. 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
  202. 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
  203. 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
  204. package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunctionWithoutArgs$4.class +0 -0
  205. package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunctionWithoutArgs$5.class +0 -0
  206. package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunctionWithoutArgs$6.class +0 -0
  207. package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunctionWithoutArgs$7.class +0 -0
  208. package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$$inlined$AsyncFunctionWithoutArgs$8.class +0 -0
  209. 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
  210. 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
  211. 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
  212. package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$24$lambda$22$$inlined$Prop$1.class +0 -0
  213. 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
  214. 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
  215. package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule.class +0 -0
  216. package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/IVSStageManager.class +0 -0
  217. package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/PiPOptions$PiPSourceView.class +0 -0
  218. package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/PiPOptions.class +0 -0
  219. package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/PiPStateListener.class +0 -0
  220. package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/PictureInPictureDelegate.class +0 -0
  221. package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/PictureInPictureManager$Companion.class +0 -0
  222. package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/PictureInPictureManager.class +0 -0
  223. package/android/src/main/AndroidManifest.xml +5 -0
  224. package/android/src/main/java/expo/modules/realtimeivsbroadcast/ExpoIVSRemoteStreamView.kt +172 -23
  225. package/android/src/main/java/expo/modules/realtimeivsbroadcast/ExpoIVSStagePreviewView.kt +33 -0
  226. package/android/src/main/java/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule.kt +92 -2
  227. package/android/src/main/java/expo/modules/realtimeivsbroadcast/IVSStageManager.kt +5 -2
  228. package/android/src/main/java/expo/modules/realtimeivsbroadcast/PictureInPictureManager.kt +431 -0
  229. package/build/ExpoRealtimeIvsBroadcast.types.d.ts +45 -0
  230. package/build/ExpoRealtimeIvsBroadcast.types.d.ts.map +1 -1
  231. package/build/ExpoRealtimeIvsBroadcast.types.js.map +1 -1
  232. package/build/ExpoRealtimeIvsBroadcastModule.d.ts +7 -1
  233. package/build/ExpoRealtimeIvsBroadcastModule.d.ts.map +1 -1
  234. package/build/ExpoRealtimeIvsBroadcastModule.js.map +1 -1
  235. package/build/ExpoRealtimeIvsBroadcastModule.web.d.ts +7 -1
  236. package/build/ExpoRealtimeIvsBroadcastModule.web.d.ts.map +1 -1
  237. package/build/ExpoRealtimeIvsBroadcastModule.web.js +20 -0
  238. package/build/ExpoRealtimeIvsBroadcastModule.web.js.map +1 -1
  239. package/build/index.d.ts +60 -1
  240. package/build/index.d.ts.map +1 -1
  241. package/build/index.js +77 -0
  242. package/build/index.js.map +1 -1
  243. package/ios/ExpoIVSRemoteStreamView.swift +17 -0
  244. package/ios/ExpoIVSStagePreviewView.swift +39 -5
  245. package/ios/ExpoRealtimeIvsBroadcast.podspec +2 -1
  246. package/ios/ExpoRealtimeIvsBroadcastModule.swift +46 -1
  247. package/ios/IVSPictureInPictureController.swift +1196 -0
  248. package/ios/IVSStageManager.swift +419 -1
  249. package/package.json +1 -1
  250. package/src/ExpoRealtimeIvsBroadcast.types.ts +53 -0
  251. package/src/ExpoRealtimeIvsBroadcastModule.ts +9 -1
  252. package/src/ExpoRealtimeIvsBroadcastModule.web.ts +26 -8
  253. package/src/index.ts +94 -0
  254. package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$1$10$1.dex +0 -0
  255. package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$8.dex +0 -0
  256. package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$lambda$9$$inlined$Prop$1.dex +0 -0
  257. package/android/build/.transforms/9f2f591934de19590757f5a4b0b59398/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$lambda$9$$inlined$Prop$2.dex +0 -0
  258. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$8.class +0 -0
  259. 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
  260. package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$1.class +0 -0
  261. package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$2.class +0 -0
  262. package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$4.class +0 -0
  263. package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$5.class +0 -0
  264. package/android/build/tmp/kotlin-classes/debug/expo/modules/realtimeivsbroadcast/ExpoRealtimeIvsBroadcastModule$definition$lambda$11$$inlined$AsyncFunction$8.class +0 -0
  265. 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":"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"}
1
+ {"version":3,"file":"ExpoRealtimeIvsBroadcast.types.d.ts","sourceRoot":"","sources":["../src/ExpoRealtimeIvsBroadcast.types.ts"],"names":[],"mappings":"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"}
@@ -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;AAKjJ,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;IAEnD,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
+ {"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;AAuB3E,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 } 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 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
+ {"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;AAExF,cAAM,8BAA+B,SAAQ,YAAY,CAAC,oCAAoC,CAAC;CAQ9F;;AAED,wBAAmG"}
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;CAQ9F;AAED,eAAe,iBAAiB,CAAC,8BAA8B,EAAE,gCAAgC,CAAC,CAAC","sourcesContent":["import { registerWebModule, NativeModule } from 'expo';\n\nimport { ExpoRealtimeIvsBroadcastModuleEvents } from './ExpoRealtimeIvsBroadcast.types';\n\nclass ExpoRealtimeIvsBroadcastModule extends NativeModule<ExpoRealtimeIvsBroadcastModuleEvents> {\n // PI = Math.PI;\n // async setValueAsync(value: string): Promise<void> {\n // this.emit('onChange', { value });\n // }\n // hello() {\n // return 'Hello world! 👋';\n // }\n}\n\nexport default registerWebModule(ExpoRealtimeIvsBroadcastModule, 'ExpoRealtimeIvsBroadcastModule');\n"]}
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"]}