From 1cf63768bf5b3e991b2b62d9f34f1f1283f92ef8 Mon Sep 17 00:00:00 2001 From: Sean Scheideman Date: Fri, 4 Dec 2015 12:10:18 -0700 Subject: [PATCH] added data type check, and uri prepending for encode method --- src/blackberry10/index.js | 48 +++++++++++++++++++++++++++----------- src/blackberry10/qrcode.js | 2 +- www/blackberry10/client.js | 5 ++-- 3 files changed, 38 insertions(+), 17 deletions(-) diff --git a/src/blackberry10/index.js b/src/blackberry10/index.js index a28a1511..e1fd1ef1 100644 --- a/src/blackberry10/index.js +++ b/src/blackberry10/index.js @@ -17,10 +17,16 @@ var barcodescanner, resultObjs = {}, readCallback, _utils = require("../../lib/utils"), - qr = require('plugin/BarcodeScanner/qrcode.js'); - - + _qr = require('plugin/BarcodeScanner/qrcode.js'); +const SMS_URI_ONE = "smsto:", + SMS_URI_TWO = "sms:", + EMAIL_URI = "mailto:", + PHONE_URI = "tel:+1", + SMS_TYPE = "SMS_TYPE", + PHONE_TYPE = "PHONE_TYPE", + EMAIL_TYPE = "EMAIL_TYPE", + TEXT_TYPE = "TEXT_TYPE"; module.exports = { @@ -57,29 +63,45 @@ module.exports = { data = values["data"]; type = values["type"]; - if(data == "" || data == undefined || data.length == 0){ - result.error("Data was not specified", false); + if(data == "" || data == undefined){ + result.error("Data to be encoded was not specified", false); return; } if(type == "" || type == undefined){ - type = "TEXT_TYPE"; + type = TEXT_TYPE; + } + + if(type == SMS_TYPE){ + var check_one = data.substring(0,6).toLowerCase(); + var check_two = data.substring(0,4).toLowerCase(); + if(!(check_one == SMS_URI_ONE || check_two == SMS_URI_TWO)){ + data = SMS_URI_ONE+data; + } + }else if(type == EMAIL_TYPE){ + var check = data.substring(0,7).toLowerCase(); + if(check != EMAIL_URI){ + data = EMAIL_URI+data; + } + }else if(type == PHONE_TYPE){ + var check = data.substring(0,4).toLowerCase(); + if(check != PHONE_URI){ + data = PHONE_URI+data; + } } console.log("Type: "+type + " Data: " + data); - //Make QRcode using javascript library + //Make QRcode using qrcode.js var bdiv = document.createElement('div'); - var tdiv = document.createElement('div'); var options = { text: data, - width: 128, - height: 128, + width: 256, + height: 256, colorDark : "#000000", colorLight : "#ffffff", }; - var qrcode = qr.makeQRcode(bdiv, options); - - var imageURI = qrcode._oDrawing._elCanvas.toDataURL(); + + var imageURI = _qr.makeQRcode(bdiv, options); try{ result.ok(imageURI,false); diff --git a/src/blackberry10/qrcode.js b/src/blackberry10/qrcode.js index 0c58ecb8..5cb6a7a3 100644 --- a/src/blackberry10/qrcode.js +++ b/src/blackberry10/qrcode.js @@ -616,7 +616,7 @@ var QRCode; module.exports = { makeQRcode : function(el, vOption){ var qrcode = new QRCode(el, vOption); - return qrcode + return qrcode._oDrawing._elCanvas.toDataURL(); } } })(); diff --git a/www/blackberry10/client.js b/www/blackberry10/client.js index a03dc3a7..2c7bff82 100644 --- a/www/blackberry10/client.js +++ b/www/blackberry10/client.js @@ -94,11 +94,10 @@ var stopRead = function stopRead (succ, fail) { var encode = function(type, data, succ, fail) { var value = null, success = function (data, response) { - value = data; - succ(data["image"]); + succ(data); }, failure = function (data, response) { - fail(data) + fail(data); }; exec(success, failure, _ID, "encode",null,[type,data]); };