Uploaded image for project: 'Apache Cordova'
  1. Apache Cordova
  2. CB-5526

Keycodes not getting identified and throws error on Android KitKat

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • 2.0.0
    • 2.0.0
    • cordova-android
    • 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.

    Description

      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 = 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;
      //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;
      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

      Attachments

        Activity

          People

            bowserj Joey Robert Bowser
            deepinder Deep Singh
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - 672h
                672h
                Remaining:
                Remaining Estimate - 672h
                672h
                Logged:
                Time Spent - Not Specified
                Not Specified