Number 9 key doesn't work in some Android phones

18 posts, 0 answers
  1. Tony Vainikos
    Tony Vainikos avatar
    58 posts
    Member since:
    Jan 2009

    Posted 16 Nov 2012 Link to this post

    During testing of my build on Android devices, it was discovered that the number 9 key is ignored when typing in a text box. This seems to happen on our testing of 2.2.X and 2.3.5 versions. I did find while searching the Internet a "fix" for this issue, but I'm really not sure with the limited access to the SDK how to implement it.

    Sources indicated that I need to override the setNavDump by using the following, but I'm not sure where to enter it, or if I have the accessibility to even enter it.

    @Override
    public void init() {
        super.init();      
        this.appView.getSettings().setNavDump(false);
    }

    Here are some resources I found that discuss this issue:
    http://stackoverflow.com/questions/9781657/phonegap-for-android-does-not-accept-the-9-key
    http://stackoverflow.com/questions/9861336/numeric-9-on-android-2-x
  2. Tony Vainikos
    Tony Vainikos avatar
    58 posts
    Member since:
    Jan 2009

    Posted 19 Nov 2012 Link to this post

    Update: I also posted this issue on Google Groups "phonegap" group and this is what I received back from Simon Mac Donald...

    "We changed the setNavDump call so it is only executed when the OS is Gingerbread or less and the device manufacturer is HTC. So you probably won't need to worry about making the code change yourself."

    ... So does this mean the next time I do an update this issue will be addressed also in Icenium, or do I need to do and new build and have my users that are testing -- do a new installation... or do YOU guys need to do something in addition before all this can be implemented?
  3. Evgeni "Zammy" Petrov
    Admin
    Evgeni "Zammy" Petrov avatar
    168 posts

    Posted 21 Nov 2012 Link to this post

    Hello,

     Seems that this is done to fix some bug with console.log and HTC devices : 
    http://callback.markmail.org/search/?q=+list%3Aorg.apache.incubator.callback-dev+setNavDump#query:%20list%3Aorg.apache.incubator.callback-dev%20setNavDump+page:1+mid:psiqubjmedbx5rm2+state:results

    On the other hand it seems that it has been removed for 2.3.0 Cordova : https://issues.apache.org/jira/browse/CB-1845?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13497334#comment-13497334

    After some research we decided to implement the fix you suggested for our Cordova 2.2.0 support. We will have the option to upgrade existing project in our next release.

    Greetings,
    Evgeni "Zammy" Petrov
    the Telerik team

    Share feedback and vote for features on our Feedback Portal.
    Want some Kendo UI online training - head over to Pluralsight.
  4. Tony Vainikos
    Tony Vainikos avatar
    58 posts
    Member since:
    Jan 2009

    Posted 24 Dec 2012 Link to this post

    Was this fix implemented in your latest release?
  5. Kristian D. Dimitrov
    Admin
    Kristian D. Dimitrov avatar
    68 posts

    Posted 27 Dec 2012 Link to this post

    Hi Lisa,

     Thanks for your interest in Icenium. This fix was implemented in our v1-1 release. If you are interested in what else was included you can read our V1-1 Release Notes.

    All the best,
    kdimitrov
    the Telerik team

    Share feedback and vote for features on our Feedback Portal.
    Want some Kendo UI online training - head over to Pluralsight.
  6. Tony Vainikos
    Tony Vainikos avatar
    58 posts
    Member since:
    Jan 2009

    Posted 27 Dec 2012 Link to this post

    To take advantage of this, do I have to change my properties to use the Cordova 2.2.0 version? Do I need to reissue .apk files to my users that are testing on their Androids or when they do an update it gets modified on their device? I had some issues with this yesterday.
  7. Yavor Georgiev
    Admin
    Yavor Georgiev avatar
    982 posts

    Posted 27 Dec 2012 Link to this post

    Hello Lisa,

     You only need to build and distribute new APKs to your users in order to take advantage of the fix, you can keep using Cordova 2.0.

    Greetings,
    Yavor Georgiev
    the Telerik team

    Share feedback and vote for features on our Feedback Portal.
    Want some Kendo UI online training - head over to Pluralsight.
  8. Srinivas
    Srinivas avatar
    2 posts
    Member since:
    Jun 2013

    Posted 12 Jun 2013 Link to this post

    I am having same problem with cordova 2.6.0 build. I tried below workaround suggested in some forums
    <preference name="android-minSdkVersion" value="8" /> in config.xml but could get any luck to make it work.
    So i tried to add the workaround suggested in this thread but compilation itself is failing at the line
    this.appView.getSettings().setNavDump(false);  It looks like setNavDump(false) API is no more present in
    android-17.jar.  Is there any other workaround that i can try?  Please suggest me.
    Thanks in advance. 
  9. Steve
    Admin
    Steve avatar
    10941 posts

    Posted 13 Jun 2013 Link to this post

    Hi Srinivas,

    Icenium currently supports Cordova 2.4, so you could not have build an Icenium project with that version. If you're using a 3rd party service to build your Cordova app, you should contact their support for problems you've encountered with it.

    Regards,
    Steve
    Telerik

    Looking for tips & tricks directly from the Icenium team? Check out our blog!
    Missed our first webinar, watch it here.
    Share feedback and vote for features on our Feedback Portal.
  10. Stefan Dobrev
    Admin
    Stefan Dobrev avatar
    790 posts

    Posted 13 Jun 2013 Link to this post

    Hi Srinivas,

    Cordova code base already has this code inplace for some time. In their latest version they are calling the code with reflection, because as you have observed the following method has been deprecated and removed in API 17. Here is the latest Cordova code that you can use to do the same in your case.

    Hope this helps.

    -sdobrev 


    Looking for tips & tricks directly from the Icenium team? Check out our blog!
    Missed our first webinar, watch it here.
    Share feedback and vote for features on our Feedback Portal.
  11. Srinivas
    Srinivas avatar
    2 posts
    Member since:
    Jun 2013

    Posted 13 Jun 2013 Link to this post

    Hi Steve & Dobrev,
    Thanks your very much for the reply, it helped.  After upgrading to cordova 2.8.1 the issue got resolve.
    I am extremely sorry for cross posting this, now i understood the difference between icenium and cordova.

    Thanks,
    Srinivas 
  12. Jordan
    Jordan avatar
    16 posts
    Member since:
    Mar 2013

    Posted 17 Jul 2013 Link to this post

    I'm having the same issue in my project that uses Cordova 2.4.0. Number 9 doesn't work and number 7 crashes the app in production (7 works fine in Ion testing).

    I tried the <preference name="android-minSdkVersion" value="8" /> suggestion in my config.xml file with no luck. I'm not sure if Stefan's link to the CordovaWebView.java file applies in my case since I'm using Icenium. If it does, I have no idea where that file resides within my project.

    It looks like the 1.1 release fixed this issue for Cordova 2.0.0 build. Did later releases break the fix? Is there something else I have to do that I'm missing?

    Using HTC Desire (Android 2.3.5)
  13. Steve
    Admin
    Steve avatar
    10941 posts

    Posted 24 Jul 2013 Link to this post

    Hello Jordan,

    According to this Cordova code, the problem is fixed for 2.x devices, so it should be working (it is on our end, different device but Android 2.x). The "bad" news is that Cordova have dropped the support for Android 2.x in v.2.8, so you would have to either stay on old version of Cordova or consider upgrading your device or its OS at least.

    The fix in Icenium 1.1 was required as Cordova still had this issue. Since v.2.4 of Cordova, they have addressed the problem in their code, so our fix was redundant and removed.

    Regards,
    Steve
    Telerik

    Do you enjoy Icenium? Vote for it as your favorite new product here (use short code H048S).
    Looking for tips & tricks directly from the Icenium team? Check out our blog!
    Share feedback and vote for features on our Feedback Portal.
  14. Jordan
    Jordan avatar
    16 posts
    Member since:
    Mar 2013

    Posted 25 Jul 2013 Link to this post

    In case anyone finds this later, the current inputs don't work on the HTC Desire 4G (Android 2.3.5) using Cordova 2.4 unless the following CSS code is added. The code is a little flakey but it works most of the time. I was still able to crash the app by typing 7 but it happens rarely. Without this code, 9 and 7 never work on my device.

    .km-on-android.km-2 input, .km-on-android.km-2 textarea
    {
        -webkit-user-modify: inherit;
    }

    .km-root .km-on-android .km-list > li
    {
        bottom: auto;
        -webkit-transform: none;
        -moz-transform: none;
    }
  15. Dean
    Dean avatar
    73 posts
    Member since:
    Oct 2012

    Posted 13 Aug 2013 Link to this post

    We're using Cordova 2.7 in Icenium and our testers are experiencing this number 9 problem on a HTC Desire A8183 running Android 2.2.

    Perhaps you need to re-apply your fix despite the apparent fix in Cordova 2.4? 

    By the way, I tried Jordan's css patch without success.
  16. Steve
    Admin
    Steve avatar
    10941 posts

    Posted 14 Aug 2013 Link to this post

    Hi Dean,

    This problem is inherent to HTC devices with Android 2.x and we do not have such device to test with, but given the Cordova code already referenced, it should be fixed. We cannot reapply our fix as it would have to be applied to Cordova 2.7 which we no longer develop on.

    As we're following tightly the Cordova development and migrate quickly to their new versions, we would soon (next Icenium version) migrate to Cordova 3.0 where Android 2.x support has been dropped. As the issue is too localized (HTC device with Android 2.x), the OS is now pretty much outdated, and we no longer develop on Cordova version that supports Android 2.x there is nothing we can do.

    Regards,
    Steve
    Telerik

    Do you enjoy Icenium? Vote for it as your favorite new product here (use short code H048S).
    Looking for tips & tricks directly from the Icenium team? Check out our blog!
    Share feedback and vote for features on our Feedback Portal.
  17. Dean
    Dean avatar
    73 posts
    Member since:
    Oct 2012

    Posted 14 Aug 2013 Link to this post

    Thanks Steve, I understand. However, I do find it surprising that support for Android 2.x is being dropped when it accounts for 36.8% of android users according to the Android Developers website (http://developer.android.com/about/dashboards/index.html)
  18. Steve
    Admin
    Steve avatar
    10941 posts

    Posted 15 Aug 2013 Link to this post

    Hi Dean,

    Cordova is an open source framework under the Apache License and we're not in any way involved in their decisions. Clients that require Android 2.x support would have to target Cordova 2.7 or earlier. In this line of thoughts, did you try changing your Cordova version to 2.2 and see whether the problem is there?

    Regards,
    Steve
    Telerik

    Do you enjoy Icenium? Vote for it as your favorite new product here (use short code H048S).
    Looking for tips & tricks directly from the Icenium team? Check out our blog!
    Share feedback and vote for features on our Feedback Portal.
Back to Top