1 // set javascript objects for Web APIs of Tizen appwidget
2 if (typeof window.tizen == 'undefined') {
3 console.log("window.tizen object not exists");
4 window.tizen = new Object();
5 window.tizen.appwidget = new Object();
8 // For future, only window.appwidget will be used
9 window.appwidget = new Object();
11 // these are functions for overriding standard javascript functions regarding event
12 var original_addEventListener = window.addEventListener;
13 var original_removeEventListener = window.removeEventListener;
15 // this variable is responsible to keep information of appwidget evetns
16 var appWidgetEvents = {};
18 // define event structure for appwidget
19 window.AppWidgetEventInfo = function(event, callback) {
21 this.callback = callback;
24 window.addEventListener = function(event, callback, capture) {
25 var e = event.toLowerCase();
26 if (typeof appWidgetEvents[e] != 'undefined') {
27 appWidgetEvents[e].callback = callback;
29 original_addEventListener.call(window, event, callback, capture);
33 window.removeEventListener = function(event, callback, capture) {
34 var e = event.toLowerCase();
35 if (typeof appWidgetEvents[e] != "undefined") {
36 appWidgetEvents[e].callback = "null";
38 original_removeEventListener.call(window, event, callback, capture);
42 window.appwidget.sendMessageToBox = function(message) {
43 window.location.href = "box://send-message-to-box?message=" + message;
46 window.appwidget.sendMessageToPd = function(message) {
47 window.location.href = "box://send-message-to-pd?message=" + message;
51 // define specific function for registering appwidget event
52 registerAppWidgetEvent: function(event) {
53 return (appWidgetEvents[event] = new AppWidgetEventInfo(event, "null"));
56 // define specific function for firing registered appwidget event
57 fireAppWidgetEvent: function(event, data) {
58 // this is called by web-provider, which is native code
59 if (typeof appWidgetEvents[event] != 'undefined') {
60 setTimeout(function() {
61 appWidgetEvents[event].callback(data);
63 console.log("fire appwidget event: " + event);
65 console.log("unknown appwidget event: " + event);
70 // register custom events for appwidget
71 webprovider.registerAppWidgetEvent("pdmessage");
72 webprovider.registerAppWidgetEvent("boxmessage");
74 // Define appwidget APIs
75 // window.tizen.appwidget should be changed to window.appwidget
78 window.tizen.appwidget.reload = function() {
79 window.location.href = "box://reload";
82 window.tizen.appwidget.changePeriod = function(period) {
83 switch (arguments.length) {
85 window.location.href = "box://change-period";
88 window.location.href = "box://change-period?period=" + period;
91 window.location.href = "box://change-period";
96 window.tizen.appwidget.launchBrowser = function(url) {
97 window.location.href = "box://launch-browser?url=" + url;
100 window.tizen.appwidget.scrollStart = function() {
101 window.location.href = "box://scroll-start";
104 window.tizen.appwidget.scrollStop = function() {
105 window.location.href = "box://scroll-stop";