[BluetoothChat]update BluetoothChat(tizen_2.1)
authorji.ji <ji.ji@samsung.com>
Fri, 10 May 2013 07:43:44 +0000 (16:43 +0900)
committerji.ji <ji.ji@samsung.com>
Fri, 10 May 2013 07:43:44 +0000 (16:43 +0900)
Change-Id: I805490ba7b5a47d530d8169a468e11cb821a7541

config.xml
css/style.css
js/app.ui.events.js
js/client.js [deleted file]
js/server.js [deleted file]
signature1.xml [deleted file]

index 7d9c432..e1197c1 100644 (file)
@@ -8,7 +8,6 @@
        <icon src="icon.png" />
        <name>BluetoothChat</name>
        <tizen:privilege name="http://tizen.org/privilege/application.launch" />
-       <tizen:privilege name="http://tizen.org/privilege/application.read" />
        <tizen:privilege name="http://tizen.org/privilege/bluetooth.admin" />
        <tizen:privilege name="http://tizen.org/privilege/bluetooth.gap" />
        <tizen:privilege name="http://tizen.org/privilege/bluetooth.spp" />
index 38cf2b4..3d2847a 100644 (file)
@@ -16,7 +16,8 @@
 }
 
 #chat-header .ui-btn-footer-down {
-       width: 58px;
+       width: 45px;
+       right: 0px;
 }
 
 .ui-btn-start {
        top: 17px;
 }
 
-.focus {}
+.focus {}
\ No newline at end of file
index 3fe782b..ef152da 100644 (file)
@@ -67,22 +67,16 @@ function UiEvents(parent) {
                        });
 
                        $('#turnOnButton').on('tap', function (event) {
-                               event.preventDefault();
-                               event.stopPropagation();
                                self.ui.hideStartButtons();
                                app.powerOn();
                        });
 
                        $('#serverButton').on('tap', function (event) {
-                               event.preventDefault();
-                               event.stopPropagation();
                                app.resetApplicationMode();
                                app.startServer();
                        });
 
                        $('#clientButton').on('tap', function (event) {
-                               event.preventDefault();
-                               event.stopPropagation();
                                app.resetApplicationMode();
                                app.startClient();
                        });
@@ -93,7 +87,7 @@ function UiEvents(parent) {
                        });
 
                        $('#keyboard').on('pageshow', function () {
-                               $('#keyboard-text').focus();
+                               setTimeout(function () { $('#keyboard-text').focus(); }, 500);
                        });
 
                        $('#keyboard-header').on('tap', '#keyboard-back-button', function (event) {
diff --git a/js/client.js b/js/client.js
deleted file mode 100644 (file)
index cdf1ce3..0000000
+++ /dev/null
@@ -1,138 +0,0 @@
-/*jslint devel: true*/
-/*global $, tizen, app */
-
-var client = {
-       sendPing: function sendPing() {
-               "use strict";
-               var sendTextMsg, messageObj, messageObjToString, i, len;
-               sendTextMsg = [];
-               messageObj = {name: encodeURIComponent(app.currentName), text: '', ping: true, bye: false};
-               messageObjToString = JSON.stringify(messageObj);
-               len = messageObjToString.length;
-
-               for (i = 0; i < len; i += 1) {
-                       sendTextMsg[i] = messageObjToString.charCodeAt(i);
-               }
-               try {
-                       if (app.globalSocket !== null && app.globalSocket.state === "OPEN") {
-                               app.globalSocket.writeData(sendTextMsg);
-                       }
-               } catch (error) {
-                       console.error('sendPing: ' + error.message);
-               }
-       },
-
-       onSocketConnected: function onSocketConnected(socket) {
-               "use strict";
-               var data, recvmsg, i, len, messageObj;
-
-               app.globalSocket = socket;
-               $.mobile.changePage('#chat');
-
-               socket.onmessage = function () {
-                       data = socket.readData();
-                       len = data.length;
-                       recvmsg = '';
-                       for (i = 0; i < len; i += 1) {
-                               recvmsg += String.fromCharCode(data[i]);
-                       }
-                       messageObj = JSON.parse(recvmsg);
-                       app.displayReceivedMessage(messageObj.name, messageObj.text, messageObj.ping, messageObj.bye);
-               };
-
-               socket.onerror = function (e) {
-                       socket.close();
-               };
-               socket.onclose = function () {
-                       app.connection = false;
-                       app.checkChatSendButtonState();
-                       app.globalSocket = null;
-               };
-               $('#chat-title').text('Client: ' + app.currentName + ' << >> ' + app.chatServerDevice.name);
-               app.connection = true;
-               app.checkChatSendButtonState();
-               client.sendPing();
-       },
-
-       onSocketError: function onSocketError(error) {
-               "use strict";
-               $('#choose-content').find('ul li').css('background-color', '#fff');
-               app.showPopup('Server rejected the connection. Try again. ' + error.message, $('#choose'));
-       },
-
-       bondSuccess: function bondSuccess(device) {
-               "use strict";
-
-               app.chatServerDevice = device;
-
-               try {
-                       device.connectToServiceByUUID(app.serviceUUID, client.onSocketConnected, client.onSocketError, 'RFCOMM');
-               } catch (exc) {
-                       console.error('connectToServiceByUUID: ' + exc.message + '<br/>');
-               }
-       },
-
-       bondError: function bondError(error) {
-               "use strict";
-
-               $('#choose-content').find('ul li').css('background-color', '#fff');
-               app.showPopup('Bonding problem with selected device. Try again. ' + error.message, $('#choose'));
-       },
-
-       addDeviceToList: function addDeviceToList(ul, chooseContent, device) {
-               "use strict";
-               var listElement, address, sub2,
-                       startBonding = function (element, address) {
-                               app.adapter.createBonding(address, client.bondSuccess, client.bondError);
-                               ul.find('li').css('background-color', '#fff');
-                               element.css('background-color', '#aaa');
-                       };
-               if ($.inArray(device.address, app.deviceAddresses) === -1) {
-                       app.deviceAddresses.push(device.address);
-                       listElement = $('<li class="ui-li-has-multiline" address="' + device.address + '">' + device.name + '</li>');
-                       address = $('<span class="ui-li-text-sub"></span>');
-                       address.text(device.address);
-                       sub2 = $('<span class="ui-li-text-sub2"></span>');
-                       listElement.append(address).append(sub2);
-                       listElement.on('tap', function (event) {
-                               event.stopPropagation();
-                               var address, element;
-                               address = $(this).attr('address');
-                               element = $(this);
-                               if (app.discovering) {
-                                       app.adapter.stopDiscovery(function () {
-                                               app.discovering = false;
-                                               startBonding(element, address);
-                                       }, function (e) {
-                                               console.error('stopDiscovery error: ' + e.message);
-                                       });
-                               } else {
-                                       startBonding(element, address);
-                               }
-                       });
-                       ul.append(listElement);
-                       ul.listview('refresh');
-               }
-       },
-
-       searchServer: function searchServer() {
-               "use strict";
-               var chooseContent, ul, discoverDevicesSuccessCallback;
-               app.deviceAddresses = [];
-               chooseContent = $('#choose-content');
-               ul = $('<ul data-role="listview"></ul>');
-               chooseContent.find('.ui-scrollview-view').append(ul);
-               chooseContent.trigger('create');
-
-               discoverDevicesSuccessCallback = {
-                       onstarted: function () { app.discovering = true; },
-                       ondevicefound: function (device) {
-                               client.addDeviceToList(ul, chooseContent, device);
-                       },
-                       ondevicedisappeared: function (address) {},
-                       onfinished: function (devices) { app.discovering = false; }
-               };
-
-               app.adapter.discoverDevices(discoverDevicesSuccessCallback, function (e) { app.discovering = false; });
-       }
-};
\ No newline at end of file
diff --git a/js/server.js b/js/server.js
deleted file mode 100644 (file)
index 10d779c..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-/*jslint devel: true*/
-/*global $, tizen, app */
-
-var server = {
-       hideMe: function hideMe() {
-               "use strict";
-               if (app.adapter.visible) {
-                       app.adapter.setVisible(false, function () {}, function () {});
-               }
-       },
-
-       onRegisterSuccess: function onRegisterSuccess(recordHandler) {
-               "use strict";
-               $('#chat-title').text('Server: ' + app.currentName);
-               app.chatServiceHandler = recordHandler;
-               recordHandler.onconnect = function (socket) {
-                       app.numberOfClients += 1;
-                       server.hideMe();
-                       app.globalSocket = socket;
-                       socket.onmessage = function () {
-                               var data, recvmsg = '', i, len, messageObj;
-                               data = socket.readData();
-                               len = data.length;
-                               for (i = 0; i < len; i += 1) {
-                                       recvmsg += String.fromCharCode(data[i]);
-                               }
-                               messageObj = JSON.parse(recvmsg);
-                               app.displayReceivedMessage(messageObj.name, messageObj.text, messageObj.ping, messageObj.bye);
-                       };
-                       socket.onerror = function (e) {
-                               console.error('Server socket error');
-                               socket.close();
-                       };
-                       socket.onclose = function () {
-                               app.globalSocket = null;
-                       };
-               };
-       },
-
-       onRegisterError: function onRegisterError() {
-               "use strict";
-       },
-
-       registerServer: function registerServer() {
-               "use strict";
-               if (app.numberOfClients === 0) {
-                       try {
-                               app.adapter.registerRFCOMMServiceByUUID(app.serviceUUID, 'Chat service', server.onRegisterSuccess, server.onRegisterError);
-                       } catch (error) {
-                               console.log(error.message);
-                       }
-               }
-       },
-
-       setServerVisible: function setServerVisible() {
-               "use strict";
-               try {
-                       if (!app.adapter.visible) {
-                               app.adapter.setVisible(true, server.registerServer, function (error) {
-                                       console.error(error);
-                               }, 0);
-                       } else {
-                               server.registerServer();
-                       }
-               } catch (error) {
-                       console.error(error.message);
-               }
-       },
-
-       onUnregisterSuccess: function onUnregisterSuccess() {
-               "use strict";
-               app.chatServiceHandler = null;
-               app.numberOfClients = 0;
-               app.restartBluetooth();
-       },
-
-       onUnregisterError: function onUnregisterError() {
-               "use strict";
-               app.numberOfClients = 0;
-               app.restartBluetooth();
-       },
-
-       unRegisterChatService: function unRegisterChatService() {
-               "use strict";
-               try {
-                       if (app.chatServiceHandler !== null) {
-                               app.chatServiceHandler.unregister(server.onUnregisterSuccess, server.onUnregisterError);
-                       } else {
-                               app.showStartButtons();
-                       }
-               } catch (error) {
-                       server.onUnregisterError();
-               }
-       },
-
-       /* WORKAROUND for the footer show when the soft keyboard is displayed */
-       showFooter: function showFooter(e) {
-               "use strict";
-               var page = $.mobile.activePage;
-               if (e.state === 'on') {
-                       page.find(":jqmData(role='footer')").show();
-                       e.stopPropagation();
-               }
-       },
-
-       /* WORKAROUND for the footer show when the soft keyboard is displayed */
-       enableFooterOnSoftKeyboard: function enableFooterOnSoftKeyboard() {
-               "use strict";
-               window.removeEventListener('softkeyboardchange', server.showFooter, false);
-               window.addEventListener('softkeyboardchange', server.showFooter, false);
-       }
-};
\ No newline at end of file
diff --git a/signature1.xml b/signature1.xml
deleted file mode 100755 (executable)
index 6d11148..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-<Signature xmlns="http://www.w3.org/2000/09/xmldsig#" Id="DistributorSignature">
-<SignedInfo>
-<CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></CanonicalizationMethod>
-<SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"></SignatureMethod>
-<Reference URI="css/style.css">
-<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
-<DigestValue>EmD4tpoxFU380kfsRc0yFNeD4FO2icwW6oJLo/Bvt7w=</DigestValue>
-</Reference>
-<Reference URI="js/server.js">
-<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
-<DigestValue>xD7ocCFK2JzpmiZQh3Z9ZMYG07+MQBHqLqVxRrWwlHk=</DigestValue>
-</Reference>
-<Reference URI="js/main.js">
-<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
-<DigestValue>3IwyxwZuyxwo4dDWsDYURK6cMBhwS/YMefaQA2WJxB0=</DigestValue>
-</Reference>
-<Reference URI="js/client.js">
-<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
-<DigestValue>j6jhBZmdsP88oZeiGRKyfhkW0LQQlBP+SpoupHePZXY=</DigestValue>
-</Reference>
-<Reference URI="icon.png">
-<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
-<DigestValue>KYqit9PBLTvR4aRrcA5V+1Xg+YoNHMr5nSElG73ljco=</DigestValue>
-</Reference>
-<Reference URI="config.xml">
-<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
-<DigestValue>GGACLNjGuq0x4gfS67hs5J2nFiw4SNnp3lFhPccS7L0=</DigestValue>
-</Reference>
-<Reference URI="LICENSE">
-<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
-<DigestValue>3eAKfddMvUo3Opri3yMldvBqZpQeoqxOo4o/v00KuUo=</DigestValue>
-</Reference>
-<Reference URI="index.html">
-<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
-<DigestValue>FFiuA12RGDQVIRnszkXtmOUpu/KJXRlWRBkvkK+JM2Q=</DigestValue>
-</Reference>
-<Reference URI="#prop">
-<Transforms>
-<Transform Algorithm="http://www.w3.org/2006/12/xml-c14n11"></Transform>
-</Transforms>
-<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
-<DigestValue>u/jU3U4Zm5ihTMSjKGlGYbWzDfRkGphPPHx3gJIYEJ4=</DigestValue>
-</Reference>
-</SignedInfo>
-<SignatureValue>
-O8t1POwWRfRj365cqcHzV607iD5eAF90ZgJ8TsK4kQrat/JOgQIZ9YVgVec1VhroqSW+g0HaVB+W
-sWilS1ES9DRp+qIsaoEVJM5oERYjNw5JAl8Ghbn2s3nh9Xm2WMHop3tLWU977F1v57tR6wo/VUxL
-9LJoncckGNrgy0UkuTw=
-</SignatureValue>
-<KeyInfo>
-<X509Data>
-<X509Certificate>
-MIICmzCCAgQCCQDXI7WLdVZwiTANBgkqhkiG9w0BAQUFADCBjzELMAkGA1UEBhMCS1IxDjAMBgNV
-BAgMBVN1d29uMQ4wDAYDVQQHDAVTdXdvbjEWMBQGA1UECgwNVGl6ZW4gVGVzdCBDQTEiMCAGA1UE
-CwwZVGl6ZW4gRGlzdHJpYnV0b3IgVGVzdCBDQTEkMCIGA1UEAwwbVGl6ZW4gUHVibGljIERpc3Ry
-aWJ1dG9yIENBMB4XDTEyMTAyOTEzMDMwNFoXDTIyMTAyNzEzMDMwNFowgZMxCzAJBgNVBAYTAktS
-MQ4wDAYDVQQIDAVTdXdvbjEOMAwGA1UEBwwFU3V3b24xFjAUBgNVBAoMDVRpemVuIFRlc3QgQ0Ex
-IjAgBgNVBAsMGVRpemVuIERpc3RyaWJ1dG9yIFRlc3QgQ0ExKDAmBgNVBAMMH1RpemVuIFB1Ymxp
-YyBEaXN0cmlidXRvciBTaWduZXIwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALtMvlc5hENK
-90ZdA+y66+Sy0enD1gpZDBh5T9RP0oRsptJv5jjNTseQbQi0SZOdOXb6J7iQdlBCtR343RpIEz8H
-mrBy7mSY7mgwoU4EPpp4CTSUeAuKcmvrNOngTp5Hv7Ngf02TTHOLK3hZLpGayaDviyNZB5PdqQdB
-hokKjzAzAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAvGp1gxxAIlFfhJH1efjb9BJK/rtRkbYn9+Ez
-GEbEULg1svsgnyWisFimI3uFvgI/swzr1eKVY3Sc8MQ3+Fdy3EkbDZ2+WAubhcEkorTWjzWz2fL1
-vKaYjeIsuEX6TVRUugHWudPzcEuQRLQf8ibZWjbQdBmpeQYBMg5x+xKLCJc=
-</X509Certificate>
-<X509Certificate>
-MIICtDCCAh2gAwIBAgIJAMDbehElPNKvMA0GCSqGSIb3DQEBBQUAMIGVMQswCQYDVQQGEwJLUjEO
-MAwGA1UECAwFU3V3b24xDjAMBgNVBAcMBVN1d29uMRYwFAYDVQQKDA1UaXplbiBUZXN0IENBMSMw
-IQYDVQQLDBpUVGl6ZW4gRGlzdHJpYnV0b3IgVGVzdCBDQTEpMCcGA1UEAwwgVGl6ZW4gUHVibGlj
-IERpc3RyaWJ1dG9yIFJvb3QgQ0EwHhcNMTIxMDI5MTMwMjUwWhcNMjIxMDI3MTMwMjUwWjCBjzEL
-MAkGA1UEBhMCS1IxDjAMBgNVBAgMBVN1d29uMQ4wDAYDVQQHDAVTdXdvbjEWMBQGA1UECgwNVGl6
-ZW4gVGVzdCBDQTEiMCAGA1UECwwZVGl6ZW4gRGlzdHJpYnV0b3IgVGVzdCBDQTEkMCIGA1UEAwwb
-VGl6ZW4gUHVibGljIERpc3RyaWJ1dG9yIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDe
-OTS/3nXvkDEmsFCJIvRlQ3RKDcxdWJJp625pFqHdmoJBdV+x6jl1raGK2Y1sp2Gdvpjc/z92yzAp
-bE/UVLPh/tRNZPeGhzU4ejDDm7kzdr2f7Ia0U98K+OoY12ucwg7TYNItj9is7Cj4blGfuMDzd2ah
-2AgnCGlwNwV/pv+uVQIDAQABoxAwDjAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4GBACqJ
-KO33YdoGudwanZIxMdXuxnnD9R6u72ltKk1S4zPfMJJv482CRGCI4FK6djhlsI4i0Lt1SVIJEed+
-yc3qckGm19dW+4xdlkekon7pViEBWuyHw8OWv3RXtTum1+PGHjBJ2eYY4ZKIpz73U/1NC16sTB/0
-VhfnkHwPltmrpYVe
-</X509Certificate>
-</X509Data>
-</KeyInfo>
-<Object Id="prop"><SignatureProperties xmlns:dsp="http://www.w3.org/2009/xmldsig-properties"><SignatureProperty Id="profile" Target="#DistributorSignature"><dsp:Profile URI="http://www.w3.org/ns/widgets-digsig#profile"></dsp:Profile></SignatureProperty><SignatureProperty Id="role" Target="#DistributorSignature"><dsp:Role URI="http://www.w3.org/ns/widgets-digsig#role-distributor"></dsp:Role></SignatureProperty><SignatureProperty Id="identifier" Target="#DistributorSignature"><dsp:Identifier></dsp:Identifier></SignatureProperty></SignatureProperties></Object>
-</Signature>
\ No newline at end of file