[ https://issues.apache.org/jira/browse/CB-5526?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13837382#comment-13837382 ]
Joe Bowser commented on CB-5526: -------------------------------- Cordova 2.0.0 does not support KitKat at all, but it shouldn't not work. Do you get the same error when you test this code in Google Chrome? > Keycodes not getting identified and throws error on Android KitKat > ------------------------------------------------------------------ > > Key: CB-5526 > URL: https://issues.apache.org/jira/browse/CB-5526 > Project: Apache Cordova > Issue Type: Bug > Components: Android > Affects Versions: 2.0.0 > Environment: Heres what my app is running on: > Cordova - 2.0.0 > Jquery Mobile - 1.0 > Android - 4.4 (Kit kat) > Device - Nexus 5 > I have created a sample with Cordova 3.1.0 and issue is still there. > Reporter: Deep Singh > Labels: patch > Fix For: 2.0.0 > > Original Estimate: 672h > Remaining Estimate: 672h > > Hi There - > I got Google Nexus 5 phone today and tried to test my app on it. Most of the > parts work fine but I get following error very frequently. And few parts are > not working at all. Any idea what this error means? I searched internet but > only found that Google has changed webkit to chromium. Can you provide more > details on it or any solution? > I have been talking phonegap (cordova) support and they confirmed it is an > issue and I have to log defect here. > 11-21 14:49:39.256: E/chromium(5721): > [ERROR:aw_autofill_manager_delegate.cc(144)] Not implemented reached in > virtual void > android_webview::AwAutofillManagerDelegate::UpdateAutofillPopupDataListValues(const > std::vector >&, const std::vector >&) > I have a custom method created by me for converting user entered values to > currency format. And the above problem is happening all the time when I press > delete button from keypad. > Here is the code: > function CurrencyFormatter(object, e, maxLength) > { try { //alert(e.keyCode); var val = $.trim(object.value); var len = > val.length + 1; var char = String.fromCharCode(e.keyCode); > var pattern = new RegExp(/^[0-9]+$/); > //console.log("char: " + char); > //console.log(pattern.test(char)); > //console.log(pattern.test(new String(char))); > if(len <= maxLength && pattern.test(char)) > { > //console.log(val); > if(val == '0'){ > if (val.length > 0 && val.length < 11) > val = val + char; > } > else > if (val.length < 11) > val = val + char; > object.value = formatCurrency(val, "add"); > } > else if(e.keyCode == 8) > { > //var numBox = document.getElementById('numBox'); > if(val.length > 0){ > //pennies = pennies.substring(0, pennies.length - 1); > object.value = formatCurrency(val, "del"); > } > } > e.preventDefault(); > return false; > } > catch (ex) > { > console.log(ex); > } > } > function formatCurrency(amount, type) > { var i = parseFloat(amount); var i2; //console.log("1: " + i); if(isNaN(i)) > { i = 0.00; } > if(type == "add") > { > i = Math.round(i * 1000); > //console.log("1.5: " + i); > i = i / 100; > //console.log("3: " + i); > } > else if(type == "del") > { > i = parseInt(i * 100); > //console.log("2: " + i); > sub = new String(i); > //console.log("sub1: " + sub); > sub = sub.substring(0, sub.length - 1) ; > sub = sub == ""? 0:sub; > //console.log("sub2: " + sub); > i = parseFloat(sub); > //console.log("del: " + i); > i = i / 100; > //console.log("3: " + i); > } > s = new String(i); > if(s.indexOf('.') < 0) { s += '.00'; } > if(s.indexOf('.') == (s.length - 2)) { s += '0'; } > //console.log("4: " + s); > return s; > } > The crash errors will not be on phone screen. > The sample I have provided should work to enter just numbers and format it to > currency. No special characters should be allowed. > If you can enter special characters then the issue is there. > Heres what my app is running on: > Cordova - 2.0.0 > Jquery Mobile - 1.0 > Android - 4.4 (Kit kat) > Device - Nexus 5 > Will be waiting for your reply on this as we can't certify our app on Android > 4.4 > -Deep -- This message was sent by Atlassian JIRA (v6.1#6144)