Return-Path: X-Original-To: apmail-incubator-callback-dev-archive@minotaur.apache.org Delivered-To: apmail-incubator-callback-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id E55979B60 for ; Thu, 19 Apr 2012 18:38:57 +0000 (UTC) Received: (qmail 9655 invoked by uid 500); 19 Apr 2012 18:38:57 -0000 Delivered-To: apmail-incubator-callback-dev-archive@incubator.apache.org Received: (qmail 9592 invoked by uid 500); 19 Apr 2012 18:38:57 -0000 Mailing-List: contact callback-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: callback-dev@incubator.apache.org Delivered-To: mailing list callback-dev@incubator.apache.org Received: (qmail 9583 invoked by uid 99); 19 Apr 2012 18:38:57 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 19 Apr 2012 18:38:57 +0000 X-ASF-Spam-Status: No, hits=2.5 required=5.0 tests=FREEMAIL_REPLY,HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of bowserj@gmail.com designates 74.125.82.43 as permitted sender) Received: from [74.125.82.43] (HELO mail-wg0-f43.google.com) (74.125.82.43) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 19 Apr 2012 18:38:50 +0000 Received: by wgbdr12 with SMTP id dr12so7286127wgb.0 for ; Thu, 19 Apr 2012 11:38:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=+VXTkphjtdqGKIFVpkyJ1RKqFawxiO75OLAI/yP8OuY=; b=tD0LfMeClIJqSTZGUAPHaShrJD+ioxs7zeplzvsPkCwl2YsRuM1k1IIOCR9INf0PKZ PEUGXlcdXey5KdvLTsGPU7yt8ncyHOpmaWd3midN3UVZsvjS6OElnPMLF7JpUi3cmo9C 7pmucGOrdhdHYJV85FzOQscDY46sp0JTUowFTe1s2l3kxA+HEzt4RriqFqoKXhgaocDU Nbmob7/Os/FcoQcd9a+S7mhDVGFKuNEG1HwzzWgXJsXJIchnnCJjk2GCflGVxceg1daG ycYbbEp737dG7DZYUBVEBHqUHqdFh1S6GSE+wlUEGCkubJvRDJr+DnrmzmDIy4j2xq3D k+wQ== MIME-Version: 1.0 Received: by 10.180.104.65 with SMTP id gc1mr7769274wib.13.1334860708701; Thu, 19 Apr 2012 11:38:28 -0700 (PDT) Received: by 10.223.103.7 with HTTP; Thu, 19 Apr 2012 11:38:28 -0700 (PDT) In-Reply-To: References: Date: Thu, 19 Apr 2012 11:38:28 -0700 Message-ID: Subject: Re: [Android] Back Key events and Reality From: Joe Bowser To: callback-dev@incubator.apache.org Content-Type: multipart/alternative; boundary=f46d043bdb765de66704be0c7ad4 --f46d043bdb765de66704be0c7ad4 Content-Type: text/plain; charset=ISO-8859-1 I cloned a fresh repo, and what's in DroidGap.java works on this end, and matches what I have in my working tree. We don't have your attached DroidGap.java, can you send it again? On Thu, Apr 19, 2012 at 11:28 AM, Simon MacDonald wrote: > When I pull the latest from incubator-cordova-android and build it into my > app the back key does not work. I've verified this on my samsung note and > on the emulator. > > Please take a look at the attached DroidGap.java file which I've added a > few logs. When I click on the back button on the note or on the emulator I > see these logs: > > 04-19 14:16:49.373: D/BackButton(390): I got an up from KEYCODE_BACK > 04-19 14:16:49.373: D/BackButton(390): I'm doing nothing > 04-19 14:16:49.373: D/BackPressed(390): returning false > > I'm not seeing the onBackPressed method being called at all. Can Joe/Fil > try my DroidGap.java to see if they get a different set of logs? > > Note that the .html I'm loading has one and only one file and does not > call 'document.addEventListener("backbutton", onBackKey, true)". It is just > a plain vanilla .html file. > > Simon Mac Donald > http://hi.im/simonmacdonald > > > On Thu, Apr 19, 2012 at 2:17 PM, Filip Maj wrote: > >> We definitely cannot revert that commit Joe put in. Back button didn't >> work at all (just exited) before that commit. >> >> Sucks that the note is broken but it works as expected on other devices >> (as Joe points out). >> >> Simon can you try to debug the issue on the Note and see how the execution >> flow differs from the other Android devices? >> >> On 4/19/12 10:58 AM, "Joe Bowser" wrote: >> >> >OK, I just went through Mobile Spec's manual tests on the following >> >devices: >> > >> >Galaxy Nexus >> >Nexus S >> >Motorola RAZR >> >Samsung Galaxy S2 >> >LG Optimus One >> > >> >Currently, if you don't override the back button, the backPressed event >> >fires on the keyDown. If we override the event, the backbutton doesn't >> >work on the keydown, but the event fires on the keyup instead. This I >> >think is the proper behaviour since we're intercepting the back button >> and >> >making it the users' responsibility to handle this event. >> > >> >The old method had the default behaviour for the back button (where it >> >quits on keydown) occur, as well as the keyUp behaviour happen. Of >> >course, >> >since the app is exited and is in the background whatever happens with >> the >> >back button at that point is moot. The fact is that I expect the back >> >button to work when I press it, and I don't consciously think about key >> up >> >or key down when I do so. I also think that Google put it on keydown for >> >a >> >reason, especially since it's not really a key anymore. >> > >> >On Thu, Apr 19, 2012 at 10:48 AM, Joe Bowser wrote: >> > >> >> You're saying that the behaviour is different on the Note? I'll run >> >> through our device bank here, but the fact is that the Back Button >> would >> >> ALWAYS exit, not progress through the history but just straight up exit >> >> regardless of where in the app you were. What I added was backPressed >> >> which would only exit if you were at the top of the history. Also, >> >> backPressed should be supported for Android versions higher than >> Android >> >> 2.0, and since we're only supporting 2.1+, we should have been fine. >> >> >> >> I'll investigate this, but honestly if it's not consistent across >> >>devices, >> >> what do we do then? >> >> >> >> On Thu, Apr 19, 2012 at 10:26 AM, Simon MacDonald < >> >> simon.macdonald@gmail.com> wrote: >> >> >> >>> The reason we switched to keyUp is so you could slide your finger off >> >>>the >> >>> up button in case you changed your mind about clicking on the back >> >>>button. >> >>> >> >>> I noticed that you checked in: >> >>> >> >>> >> >>> >> >>> >> https://git-wip-us.apache.org/repos/asf?p=incubator-cordova-android.git; >> >>>a=commit;h=180696baec28d6e6b67e8bb23a5302f21bce6b79 >> >>> >> >>> On my Samsung Galaxy Note running Android 2.3.6 the back button does >> >>>not >> >>> work. That is when I do not regisiter for a "backbutton" listener and >> I >> >>> expect that when I click the back key that my app would exit. With our >> >>>fix >> >>> the back button doesn't exit the app. I have to click the home button >> >>>to >> >>> exit. >> >>> >> >>> Reverting your change returns the back button behaviour to normal. So >> >>> something is still janky. I haven't been able to test it on my phone >> >>>as I >> >>> can't convince it to be recognized on my laptop. >> >>> >> >>> Simon Mac Donald >> >>> http://hi.im/simonmacdonald >> >>> >> >>> >> >>> On Tue, Apr 17, 2012 at 8:46 PM, Joe Bowser >> wrote: >> >>> >> >>> > Hey >> >>> > >> >>> > Remember this issue: >> >>> > https://issues.apache.org/jira/browse/CB-367 >> >>> > >> >>> > I'm surprised that I'm catching it now, but the Back Button is >> really >> >>> janky >> >>> > on my Nexus S running 2.3.6, and I'm working on a fix now. What was >> >>>the >> >>> > reasoning behind the Back Button being on the keyUp instead of the >> >>> keyDown? >> >>> > I don't remember. >> >>> > >> >>> > Joe >> >>> > >> >>> >> >> >> >> >> >> > --f46d043bdb765de66704be0c7ad4--