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.reload = function() {
43 window.location.href = "box://reload";
46 window.appwidget.changePeriod = function(period) {
47 switch (arguments.length) {
49 window.location.href = "box://change-period";
52 window.location.href = "box://change-period?period=" + period;
55 window.location.href = "box://change-period";
60 window.appwidget.launchBrowser = function(url) {
61 window.location.href = "box://launch-browser?url=" + url;
64 window.appwidget.scrollStart = function() {
65 window.location.href = "box://scroll-start";
68 window.appwidget.scrollStop = function() {
69 window.location.href = "box://scroll-stop";
72 window.appwidget.sendMessageToBox = function(message) {
73 window.location.href = "box://send-message-to-box?message=" + message;
76 window.appwidget.sendMessageToPd = function(message) {
77 window.location.href = "box://send-message-to-pd?message=" + message;
81 // define specific function for registering appwidget event
82 registerAppWidgetEvent: function(event) {
83 return (appWidgetEvents[event] = new AppWidgetEventInfo(event, "null"));
86 // define specific function for firing registered appwidget event
87 fireAppWidgetEvent: function(event, data) {
88 // this is called by web-provider, which is native code
89 if (typeof appWidgetEvents[event] != 'undefined') {
90 setTimeout(function() {
91 appWidgetEvents[event].callback(data);
93 console.log("fire appwidget event: " + event);
95 console.log("unknown appwidget event: " + event);
100 // register custom events for appwidget
101 webprovider.registerAppWidgetEvent("pdmessage");
102 webprovider.registerAppWidgetEvent("boxmessage");
104 // These objects will be deprecated soon
105 window.tizen.appwidget.reload = window.appwidget.reload;
106 window.tizen.appwidget.changePeriod = window.appwidget.changePeriod;
107 window.tizen.appwidget.launchBrowser = window.appwidget.launchBrowser;
108 window.tizen.appwidget.scrollStart = window.appwidget.scrollStart;
109 window.tizen.appwidget.scrollStop = window.appwidget.scrollStop;