@capgo/capacitor-stream-call 0.0.64 → 0.0.65
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.
|
@@ -23,6 +23,37 @@ class CallOverlayViewFactory: ViewFactory {
|
|
|
23
23
|
call: call
|
|
24
24
|
)
|
|
25
25
|
}
|
|
26
|
+
|
|
27
|
+
public func makeVideoCallParticipantModifier(
|
|
28
|
+
participant: CallParticipant,
|
|
29
|
+
call: Call?,
|
|
30
|
+
availableFrame: CGRect,
|
|
31
|
+
ratio: CGFloat,
|
|
32
|
+
showAllInfo: Bool
|
|
33
|
+
) -> some ViewModifier {
|
|
34
|
+
VideoCallParticipantModifier(
|
|
35
|
+
participant: participant,
|
|
36
|
+
call: call,
|
|
37
|
+
availableFrame: availableFrame,
|
|
38
|
+
ratio: ratio,
|
|
39
|
+
showAllInfo: showAllInfo,
|
|
40
|
+
decorations: [.speaking] // Here we only want the speaking decoration
|
|
41
|
+
)
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
public func makeLocalParticipantViewModifier(
|
|
45
|
+
localParticipant: CallParticipant,
|
|
46
|
+
callSettings: Binding<CallSettings>,
|
|
47
|
+
call: Call?
|
|
48
|
+
) -> some ViewModifier {
|
|
49
|
+
LocalParticipantViewModifier(
|
|
50
|
+
localParticipant: localParticipant,
|
|
51
|
+
call: call,
|
|
52
|
+
callSettings: callSettings,
|
|
53
|
+
showAllInfo: true,
|
|
54
|
+
decorations: [.speaking] // Here we only need the speaking decoration
|
|
55
|
+
)
|
|
56
|
+
}
|
|
26
57
|
}
|
|
27
58
|
|
|
28
59
|
struct CallOverlayView: View {
|
|
@@ -19,7 +19,7 @@ class TouchInterceptView: UIView {
|
|
|
19
19
|
// Ensure this view is transparent and doesn't interfere with display
|
|
20
20
|
self.backgroundColor = .clear
|
|
21
21
|
self.isOpaque = false
|
|
22
|
-
os_log(.debug, "TouchInterceptView: setupWithWebView - webView: %{public}s, overlayView: %{public}s", String(describing: webView), String(describing: overlayView))
|
|
22
|
+
// os_log(.debug, "TouchInterceptView: setupWithWebView - webView: %{public}s, overlayView: %{public}s", String(describing: webView), String(describing: overlayView))
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
func setActiveCallCheck(_ check: @escaping () -> Bool) {
|
|
@@ -28,7 +28,7 @@ class TouchInterceptView: UIView {
|
|
|
28
28
|
|
|
29
29
|
func setCallActive(_ active: Bool) {
|
|
30
30
|
self.isCallActive = active
|
|
31
|
-
os_log(.debug, "TouchInterceptView: setCallActive - %{public}s", String(describing: active))
|
|
31
|
+
// os_log(.debug, "TouchInterceptView: setCallActive - %{public}s", String(describing: active))
|
|
32
32
|
|
|
33
33
|
// Cancel any pending timer when call becomes inactive
|
|
34
34
|
if !active {
|
|
@@ -44,7 +44,7 @@ class TouchInterceptView: UIView {
|
|
|
44
44
|
let shouldIntercept = isCallActive && hasActiveCall
|
|
45
45
|
|
|
46
46
|
if isCallActive != hasActiveCall {
|
|
47
|
-
os_log(.debug, "TouchInterceptView: State mismatch - isCallActive: %{public}s, hasActiveCall: %{public}s", String(describing: isCallActive), String(describing: hasActiveCall))
|
|
47
|
+
// os_log(.debug, "TouchInterceptView: State mismatch - isCallActive: %{public}s, hasActiveCall: %{public}s", String(describing: isCallActive), String(describing: hasActiveCall))
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
return shouldIntercept
|
|
@@ -99,12 +99,12 @@ class TouchInterceptView: UIView {
|
|
|
99
99
|
return el.tagName;
|
|
100
100
|
})();
|
|
101
101
|
"""
|
|
102
|
-
os_log(.debug, "TouchInterceptView: forwardClickToWeb - (%{public}d,%{public}d)", x, y)
|
|
102
|
+
// os_log(.debug, "TouchInterceptView: forwardClickToWeb - (%{public}d,%{public}d)", x, y)
|
|
103
103
|
wk.evaluateJavaScript(js) { result, error in
|
|
104
104
|
if let error = error {
|
|
105
|
-
os_log(.error, "TouchInterceptView: JS error %{public}s", String(describing: error))
|
|
105
|
+
// os_log(.error, "TouchInterceptView: JS error %{public}s", String(describing: error))
|
|
106
106
|
} else {
|
|
107
|
-
os_log(.debug, "TouchInterceptView: JS returned %{public}s", String(describing: result))
|
|
107
|
+
// os_log(.debug, "TouchInterceptView: JS returned %{public}s", String(describing: result))
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
110
|
}
|
|
@@ -116,13 +116,13 @@ class TouchInterceptView: UIView {
|
|
|
116
116
|
if let webView = self.webView {
|
|
117
117
|
let webPoint = self.convert(point, to: webView)
|
|
118
118
|
let result = webView.hitTest(webPoint, with: event)
|
|
119
|
-
os_log(.debug, "TouchInterceptView: hitTest - Not intercepting, direct WebView result %{public}s at %{public}s", String(describing: result), String(describing: webPoint))
|
|
119
|
+
// os_log(.debug, "TouchInterceptView: hitTest - Not intercepting, direct WebView result %{public}s at %{public}s", String(describing: result), String(describing: webPoint))
|
|
120
120
|
return result
|
|
121
121
|
}
|
|
122
122
|
return nil
|
|
123
123
|
}
|
|
124
124
|
|
|
125
|
-
os_log(.debug, "TouchInterceptView: hitTest entry at %{public}s, callActive: %{public}s", String(describing: point), String(describing: isCallActive))
|
|
125
|
+
// os_log(.debug, "TouchInterceptView: hitTest entry at %{public}s, callActive: %{public}s", String(describing: point), String(describing: isCallActive))
|
|
126
126
|
|
|
127
127
|
// Check if this is same touch location continuing
|
|
128
128
|
if let lastPoint = lastTouchPoint {
|
|
@@ -130,7 +130,7 @@ class TouchInterceptView: UIView {
|
|
|
130
130
|
if distance <= touchThreshold {
|
|
131
131
|
// Same touch continuing, cancel existing timer
|
|
132
132
|
forwardTimer?.invalidate()
|
|
133
|
-
os_log(.debug, "TouchInterceptView: Touch continuing at %{public}s, cancelling timer", String(describing: point))
|
|
133
|
+
// os_log(.debug, "TouchInterceptView: Touch continuing at %{public}s, cancelling timer", String(describing: point))
|
|
134
134
|
}
|
|
135
135
|
}
|
|
136
136
|
|
|
@@ -139,10 +139,10 @@ class TouchInterceptView: UIView {
|
|
|
139
139
|
forwardTimer?.invalidate()
|
|
140
140
|
forwardTimer = Timer.scheduledTimer(withTimeInterval: timerDelay, repeats: false) { [weak self] _ in
|
|
141
141
|
guard let self = self, self.shouldInterceptTouches() else {
|
|
142
|
-
os_log(.debug, "TouchInterceptView: Timer fired but no longer in call, skipping web forward")
|
|
142
|
+
// os_log(.debug, "TouchInterceptView: Timer fired but no longer in call, skipping web forward")
|
|
143
143
|
return
|
|
144
144
|
}
|
|
145
|
-
os_log(.debug, "TouchInterceptView: Timer fired, forwarding click to web at %{public}s", String(describing: point))
|
|
145
|
+
// os_log(.debug, "TouchInterceptView: Timer fired, forwarding click to web at %{public}s", String(describing: point))
|
|
146
146
|
self.forwardClickToWeb(at: point)
|
|
147
147
|
}
|
|
148
148
|
|
|
@@ -150,7 +150,7 @@ class TouchInterceptView: UIView {
|
|
|
150
150
|
if let overlayView = self.overlayView, !overlayView.isHidden {
|
|
151
151
|
let overlayPoint = self.convert(point, to: overlayView)
|
|
152
152
|
if let overlayHit = nonGreedyInteractiveHitTest(in: overlayView, point: overlayPoint, with: event) {
|
|
153
|
-
os_log(.debug, "TouchInterceptView: hitTest - Overlay view %{public}s at %{public}s", String(describing: overlayHit), String(describing: overlayPoint))
|
|
153
|
+
// os_log(.debug, "TouchInterceptView: hitTest - Overlay view %{public}s at %{public}s", String(describing: overlayHit), String(describing: overlayPoint))
|
|
154
154
|
return overlayHit
|
|
155
155
|
}
|
|
156
156
|
}
|
|
@@ -158,10 +158,10 @@ class TouchInterceptView: UIView {
|
|
|
158
158
|
if let webView = self.webView {
|
|
159
159
|
let webPoint = self.convert(point, to: webView)
|
|
160
160
|
let result = webView.hitTest(webPoint, with: event)
|
|
161
|
-
os_log(.debug, "TouchInterceptView: hitTest - WebView result %{public}s at %{public}s", String(describing: result), String(describing: webPoint))
|
|
161
|
+
// os_log(.debug, "TouchInterceptView: hitTest - WebView result %{public}s at %{public}s", String(describing: result), String(describing: webPoint))
|
|
162
162
|
return result
|
|
163
163
|
}
|
|
164
|
-
os_log(.debug, "TouchInterceptView: hitTest - No view found for %{public}s", String(describing: point))
|
|
164
|
+
// os_log(.debug, "TouchInterceptView: hitTest - No view found for %{public}s", String(describing: point))
|
|
165
165
|
return nil
|
|
166
166
|
}
|
|
167
167
|
|
|
@@ -173,16 +173,16 @@ class TouchInterceptView: UIView {
|
|
|
173
173
|
}
|
|
174
174
|
let webViewPoint = self.convert(point, to: webView)
|
|
175
175
|
let result = webView.point(inside: webViewPoint, with: event)
|
|
176
|
-
os_log(.debug, "TouchInterceptView: point(inside) - Not intercepting, WebView only (%{public}s at %{public}s) for original point %{public}s = %s", String(describing: result), String(describing: webViewPoint), String(describing: point), String(describing: result))
|
|
176
|
+
// os_log(.debug, "TouchInterceptView: point(inside) - Not intercepting, WebView only (%{public}s at %{public}s) for original point %{public}s = %s", String(describing: result), String(describing: webViewPoint), String(describing: point), String(describing: result))
|
|
177
177
|
return result
|
|
178
178
|
}
|
|
179
179
|
|
|
180
180
|
guard let webView = self.webView else {
|
|
181
|
-
os_log(.debug, "TouchInterceptView: point(inside) - webView is nil for point %{public}s. Checking overlay or deferring to super.", String(describing: point))
|
|
181
|
+
// os_log(.debug, "TouchInterceptView: point(inside) - webView is nil for point %{public}s. Checking overlay or deferring to super.", String(describing: point))
|
|
182
182
|
if let overlayView = self.overlayView, !overlayView.isHidden {
|
|
183
183
|
let overlayPoint = self.convert(point, to: overlayView)
|
|
184
184
|
let overlayViewConsidersPointInside = overlayView.point(inside: overlayPoint, with: event)
|
|
185
|
-
os_log(.debug, "TouchInterceptView: point(inside) - webView nil. Overlay (%{public}s) for converted point %{public}s = %s", String(describing: overlayViewConsidersPointInside), String(describing: overlayPoint), String(describing: overlayViewConsidersPointInside))
|
|
185
|
+
//os_log(.debug, "TouchInterceptView: point(inside) - webView nil. Overlay (%{public}s) for converted point %{public}s = %s", String(describing: overlayViewConsidersPointInside), String(describing: overlayPoint), String(describing: overlayViewConsidersPointInside))
|
|
186
186
|
return overlayViewConsidersPointInside
|
|
187
187
|
}
|
|
188
188
|
return super.point(inside: point, with: event)
|
|
@@ -195,13 +195,13 @@ class TouchInterceptView: UIView {
|
|
|
195
195
|
let overlayPoint = self.convert(point, to: overlayView)
|
|
196
196
|
let overlayViewConsidersPointInside = overlayView.point(inside: overlayPoint, with: event)
|
|
197
197
|
let result = webViewConsidersPointInside || overlayViewConsidersPointInside
|
|
198
|
-
os_log(.debug, "TouchInterceptView: point(inside) - WebView (%{public}s at %{public}s) OR Visible Overlay (%{public}s at %{public}s) for original point %{public}s = %s", String(describing: webViewConsidersPointInside), String(describing: webViewPoint), String(describing: overlayViewConsidersPointInside), String(describing: overlayPoint), String(describing: point), String(describing: result))
|
|
198
|
+
// os_log(.debug, "TouchInterceptView: point(inside) - WebView (%{public}s at %{public}s) OR Visible Overlay (%{public}s at %{public}s) for original point %{public}s = %s", String(describing: webViewConsidersPointInside), String(describing: webViewPoint), String(describing: overlayViewConsidersPointInside), String(describing: overlayPoint), String(describing: point), String(describing: result))
|
|
199
199
|
return result
|
|
200
200
|
} else {
|
|
201
201
|
if self.overlayView == nil {
|
|
202
|
-
os_log(.debug, "TouchInterceptView: point(inside) - Overlay nil. WebView (%{public}s at %{public}s) for original point %{public}s = %s", String(describing: webViewConsidersPointInside), String(describing: webViewPoint), String(describing: point), String(describing: webViewConsidersPointInside))
|
|
202
|
+
// os_log(.debug, "TouchInterceptView: point(inside) - Overlay nil. WebView (%{public}s at %{public}s) for original point %{public}s = %s", String(describing: webViewConsidersPointInside), String(describing: webViewPoint), String(describing: point), String(describing: webViewConsidersPointInside))
|
|
203
203
|
} else {
|
|
204
|
-
os_log(.debug, "TouchInterceptView: point(inside) - Overlay hidden. WebView (%{public}s at %{public}s) for original point %{public}s = %s", String(describing: webViewConsidersPointInside), String(describing: webViewPoint), String(describing: point), String(describing: webViewConsidersPointInside))
|
|
204
|
+
// os_log(.debug, "TouchInterceptView: point(inside) - Overlay hidden. WebView (%{public}s at %{public}s) for original point %{public}s = %s", String(describing: webViewConsidersPointInside), String(describing: webViewPoint), String(describing: point), String(describing: webViewConsidersPointInside))
|
|
205
205
|
}
|
|
206
206
|
return webViewConsidersPointInside
|
|
207
207
|
}
|
package/package.json
CHANGED