Skip to content

Commit 1828a81

Browse files
author
Jeremy White
committed
Merge branch 'develop'
2 parents 809370b + f0d61a1 commit 1828a81

File tree

6 files changed

+142
-29
lines changed

6 files changed

+142
-29
lines changed

AUTHORS.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
Henry Levak -- [GitHub](https://github.com/henrylevak) | [Twitter](http://www.twitter.com/HenryLevak)
2+
3+
Product Manager, Provider of Bubble Teas
4+
5+
---
6+
7+
Jason Lai -- [GitHub](https://github.com/jlai)
8+
9+
webOS TV second screen APIs, Cordova plugin, Cordova sample apps, Android SDK, documentation
10+
11+
---
12+
13+
Robert Yawn -- [GitHub](https://github.com/reyawn) | [Twitter](http://www.twitter.com/doctor_php)
14+
15+
webOS TV second screen APIs, webOS TV media player
16+
17+
---
18+
19+
Jeremy White -- [GitHub](https://github.com/iheart2code) | [Twitter](https://www.twitter.com/iheart2code)
20+
21+
iOS SDK, JS Bridge, iOS sample apps, Android sampler app, documentation
22+
23+
---
24+
25+
Jeffrey Glenn -- [GitHub](https://github.com/jeffidean)
26+
27+
Android SDK, Android sample apps, documentation
28+
29+
---
30+
31+
Hyun Kook (Chris) Khang -- [GitHub](https://github.com/khk624)
32+
33+
Android SDK, Android sample apps
34+
35+
---
36+
37+
Andrew Longstaff -- [GitHub](https://github.com/longstaff)
38+
39+
iOS SDK, documentation

dist/connect_bridge.js

Lines changed: 48 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,9 @@ var connectsdk = (function () {
6565
var listeners = this._listeners && this._listeners[event];
6666
var args = Array.prototype.slice.call(arguments, 1);
6767

68-
// TODO: upper-case first char
68+
// upper-case first char
69+
// event = event.charAt(0).toUpperCase() + event.slice(1);
70+
6971
if (this["on" + event]) {
7072
this["on" + event].apply(this, args);
7173
}
@@ -130,7 +132,7 @@ var connectsdk = (function () {
130132
this.registerMediaEvents(element);
131133
this.mediaElement = element;
132134
this.mediaElement.autoPlay = true;
133-
this.emit("mediaElementUpdate", element);
135+
this.emit("MediaElementUpdate", element);
134136
this.setMediaStatus("idle");
135137
}
136138
},
@@ -186,7 +188,9 @@ var connectsdk = (function () {
186188

187189
init: nop,
188190

189-
sendMessage: nop
191+
sendMessage: nop,
192+
193+
broadcastMessage: nop
190194
});
191195

192196
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -198,7 +202,8 @@ var connectsdk = (function () {
198202
platforms.Default = {
199203
interactive: false,
200204
init: nop,
201-
sendMessage: nop
205+
sendMessage: nop,
206+
broadcastMessage: nop
202207
};
203208

204209
// webOS
@@ -305,8 +310,12 @@ var connectsdk = (function () {
305310
this.emit("message", message);
306311
},
307312

308-
sendMessage: function (message) {
309-
this.webOSAppChannels.sendMessage(message);
313+
sendMessage: function (to, message) {
314+
this.webOSAppChannels.sendMessage(to, message);
315+
},
316+
317+
broadcastMessage: function (message) {
318+
this.webOSAppChannels.broadcastMessage(message);
310319
}
311320
};
312321

@@ -324,7 +333,7 @@ var connectsdk = (function () {
324333
interactive: false,
325334
init: function () {
326335
this.mediaElement && (window.castMediaManager = new cast.receiver.MediaManager(this.mediaElement));
327-
this.on("mediaElementUpdate", this.onMediaElementUpdate, this);
336+
this.on("MediaElementUpdate", this.onMediaElementUpdate, this);
328337

329338
window.castReceiverManager = cast.receiver.CastReceiverManager.getInstance();
330339

@@ -337,6 +346,8 @@ var connectsdk = (function () {
337346
},
338347

339348
onMediaElementUpdate: function (element) {
349+
console.log('onMediaElementUpdate ' + element);
350+
340351
if (!element) {
341352
return;
342353
}
@@ -359,10 +370,24 @@ var connectsdk = (function () {
359370
message = evt.data;
360371
}
361372

362-
this.emit("message", message);
373+
this.emit("message", { from: evt.senderId, message: message });
363374
},
364375

365-
sendMessage: function (message) {
376+
sendMessage: function (to, message) {
377+
var messageString;
378+
379+
if (typeof message == 'string')
380+
window.castMessageBus.send(to, message);
381+
else
382+
{
383+
var messageString = JSON.stringify(message);
384+
385+
if (messageString)
386+
window.castMessageBus.send(to, messageString);
387+
}
388+
},
389+
390+
broadcastMessage: function (message) {
366391
var messageString;
367392

368393
if (typeof message == 'string')
@@ -465,7 +490,17 @@ var connectsdk = (function () {
465490
console.error("app channel socket not supported");
466491
},
467492

468-
sendMessage: function(message) {
493+
sendMessage: function(to, message) {
494+
var messageData = {
495+
type: "p2p",
496+
to: to, // TODO: do we need to sanitize/check this value?
497+
payload: message
498+
};
499+
500+
this._send(messageData);
501+
},
502+
503+
broadcastMessage: function(message) {
469504
var messageData = {
470505
type: "p2p",
471506
payload: message
@@ -560,7 +595,8 @@ var connectsdk = (function () {
560595
if (playState == null)
561596
return;
562597

563-
this.sendMessage({
598+
// TODO: add to id here
599+
this.broadcastMessage({
564600
contentType: 'connectsdk.mediaEvent',
565601
mediaEvent: {
566602
type: 'playState',
@@ -585,7 +621,7 @@ var connectsdk = (function () {
585621
if (contentType === 'connectsdk.mediaCommand') {
586622
this._handleMediaCommand(message);
587623
} else {
588-
this.emit('message', message.payload);
624+
this.connectManager.emit('message', { from: message.from, message: message.payload });
589625
}
590626
},
591627

dist/connect_bridge.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sample/index.html

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,9 @@
6262
textElement.innerText = "Ready to receive messages";
6363
});
6464

65-
window.connectManager.on('message', function(message) {
65+
window.connectManager.on('message', function(data) {
66+
var from = data.from;
67+
var message = data.message;
6668
var messageString;
6769
var isJSON = false;
6870

@@ -79,9 +81,9 @@
7981
textElement.innerText = messageString;
8082

8183
if (isJSON)
82-
window.connectManager.sendMessage({message:"I got your JSON message :-)"});
84+
window.connectManager.sendMessage(from, {message:"I got your JSON message :-)"});
8385
else
84-
window.connectManager.sendMessage("I got your message :-)");
86+
window.connectManager.sendMessage(from, "I got your message :-)");
8587
});
8688

8789
var cleanupVideo = function() {

sample/scripts/connect_bridge.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/connect_bridge.js

Lines changed: 48 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,9 @@ var connectsdk = (function () {
4747
var listeners = this._listeners && this._listeners[event];
4848
var args = Array.prototype.slice.call(arguments, 1);
4949

50-
// TODO: upper-case first char
50+
// upper-case first char
51+
// event = event.charAt(0).toUpperCase() + event.slice(1);
52+
5153
if (this["on" + event]) {
5254
this["on" + event].apply(this, args);
5355
}
@@ -112,7 +114,7 @@ var connectsdk = (function () {
112114
this.registerMediaEvents(element);
113115
this.mediaElement = element;
114116
this.mediaElement.autoPlay = true;
115-
this.emit("mediaElementUpdate", element);
117+
this.emit("MediaElementUpdate", element);
116118
this.setMediaStatus("idle");
117119
}
118120
},
@@ -168,7 +170,9 @@ var connectsdk = (function () {
168170

169171
init: nop,
170172

171-
sendMessage: nop
173+
sendMessage: nop,
174+
175+
broadcastMessage: nop
172176
});
173177

174178
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -180,7 +184,8 @@ var connectsdk = (function () {
180184
platforms.Default = {
181185
interactive: false,
182186
init: nop,
183-
sendMessage: nop
187+
sendMessage: nop,
188+
broadcastMessage: nop
184189
};
185190

186191
// webOS
@@ -287,8 +292,12 @@ var connectsdk = (function () {
287292
this.emit("message", message);
288293
},
289294

290-
sendMessage: function (message) {
291-
this.webOSAppChannels.sendMessage(message);
295+
sendMessage: function (to, message) {
296+
this.webOSAppChannels.sendMessage(to, message);
297+
},
298+
299+
broadcastMessage: function (message) {
300+
this.webOSAppChannels.broadcastMessage(message);
292301
}
293302
};
294303

@@ -306,7 +315,7 @@ var connectsdk = (function () {
306315
interactive: false,
307316
init: function () {
308317
this.mediaElement && (window.castMediaManager = new cast.receiver.MediaManager(this.mediaElement));
309-
this.on("mediaElementUpdate", this.onMediaElementUpdate, this);
318+
this.on("MediaElementUpdate", this.onMediaElementUpdate, this);
310319

311320
window.castReceiverManager = cast.receiver.CastReceiverManager.getInstance();
312321

@@ -319,6 +328,8 @@ var connectsdk = (function () {
319328
},
320329

321330
onMediaElementUpdate: function (element) {
331+
console.log('onMediaElementUpdate ' + element);
332+
322333
if (!element) {
323334
return;
324335
}
@@ -341,10 +352,24 @@ var connectsdk = (function () {
341352
message = evt.data;
342353
}
343354

344-
this.emit("message", message);
355+
this.emit("message", { from: evt.senderId, message: message });
345356
},
346357

347-
sendMessage: function (message) {
358+
sendMessage: function (to, message) {
359+
var messageString;
360+
361+
if (typeof message == 'string')
362+
window.castMessageBus.send(to, message);
363+
else
364+
{
365+
var messageString = JSON.stringify(message);
366+
367+
if (messageString)
368+
window.castMessageBus.send(to, messageString);
369+
}
370+
},
371+
372+
broadcastMessage: function (message) {
348373
var messageString;
349374

350375
if (typeof message == 'string')
@@ -447,7 +472,17 @@ var connectsdk = (function () {
447472
console.error("app channel socket not supported");
448473
},
449474

450-
sendMessage: function(message) {
475+
sendMessage: function(to, message) {
476+
var messageData = {
477+
type: "p2p",
478+
to: to, // TODO: do we need to sanitize/check this value?
479+
payload: message
480+
};
481+
482+
this._send(messageData);
483+
},
484+
485+
broadcastMessage: function(message) {
451486
var messageData = {
452487
type: "p2p",
453488
payload: message
@@ -542,7 +577,8 @@ var connectsdk = (function () {
542577
if (playState == null)
543578
return;
544579

545-
this.sendMessage({
580+
// TODO: add to id here
581+
this.broadcastMessage({
546582
contentType: 'connectsdk.mediaEvent',
547583
mediaEvent: {
548584
type: 'playState',
@@ -567,7 +603,7 @@ var connectsdk = (function () {
567603
if (contentType === 'connectsdk.mediaCommand') {
568604
this._handleMediaCommand(message);
569605
} else {
570-
this.emit('message', message.payload);
606+
this.connectManager.emit('message', { from: message.from, message: message.payload });
571607
}
572608
},
573609

0 commit comments

Comments
 (0)