Closed Bug 956074 Opened 11 years ago Closed 10 years ago

[B2G][Lockscreen] Unable to pick up or cancel incoming call when the screen is locked

Categories

(Firefox OS Graveyard :: Gaia::System::Lockscreen, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(blocking-b2g:1.4+, b2g-v1.4 fixed)

RESOLVED FIXED
1.3 C2/1.4 S2(17jan)
blocking-b2g 1.4+
Tracking Status
b2g-v1.4 --- fixed

People

(Reporter: nkot, Assigned: gerard-majax)

References

Details

(Keywords: regression, smoketest)

Attachments

(2 files)

Description:
The user is unable to pick up or cancel incoming call from the lockscreen, slide buttons are frozen while the call is going through.
 
Repro Steps:
1) Updated Buri to BuildID: 20140102040201
2) Have the screen off on DUT
3) Make a call to the DUT
4) When incoming call goes trough try to slide to the right to answer the call
5) Try to slide to the left to cancel the call

Actual:
Unable to slide right or left, unable to answer or cancel the call

Expected:
Able to slide buttons to answer or cancel the call

Environmental Variables:
Device: Buri M-C Mozilla RIL
BuildID: 20140102040201
Gaia: 67a82f88da231969efa4d22df9fb946abf2cf4df
Gecko: 540d85f60c57
Version: 29.0a1
Firmware Version: V1.2_20131115

Notes: the user is able to answer or cancel incoming call whne device is unlocked
blocking-b2g: --- → 1.4?
QA Contact: gbennett
.:Last Working Build:.
Environmental Variables:
Device: Buri 1.4 mozRIL
BuildID: 20131223040210
Gaia: 5c4bb7e9dcdf6f168701508922c232a67cd8ea1f
Gecko: c0f85061c7d3
Version: 29.0a1
RIL Version: 01.02.00.019.102
Firmware Version: v1.2_20131115

.:First Broken Build:.
Environmental Variables:
Device: Buri 1.4 mozRIL
BuildID: 20131225040201
Gaia: 8f6489ebbb2f869534abd3232095128ce51460a8
Gecko: cd3e9359fd64
Version: 29.0a1
RIL Version: 01.02.00.019.102
Firmware Version: v1.2_20131115
Can someone get a logcat with this bug?
Keywords: qawanted
The same regression noticed on Firefox Nightly image for last 2 weeks. Tested on Geeksphone Peak.
Attached file logcat
Keywords: qawanted
Component: Gaia::System::Lockscreen → Gaia::Dialer
Steve - this might be a regression from the re-implementation of the locked call screen with canvas. Can you take a look?
Flags: needinfo?(schung)
Blocks: 945096
(In reply to Jason Smith [:jsmith] from comment #8)
> Steve - this might be a regression from the re-implementation of the locked
> call screen with canvas. Can you take a look?

Or it could be a regression from bug 933035.
No longer blocks: 945096
I could not figure out any problem from the log, will take more time to investigate this on Monday, thanks.
Flags: needinfo?(gweng)
E/GeckoConsole( 6388): [JavaScript Error: "TypeError: this.intentionRouter.unlockingStart is not a function" {file: "app://communications.gaiamobile.org/dialer/gaia_build_defer_oncall.js" line: 256}]
E/GeckoConsole( 6388): [JavaScript Error: "TypeError: this.intentionRouter.unlockingStart is not a function" {file: "app://communications.gaiamobile.org/dialer/gaia_build_defer_oncall.js" line: 256}]

I'm seeing this in my logcat ...
(In reply to Jason Smith [:jsmith] from comment #3)
> There's two lockscreen commits in the regression range:
> 
> 1.
> https://github.com/mozilla-b2g/gaia/commit/
> d2764da3dbf0ecea030cfc146d1d45cf661c7f66
> 2.
> https://github.com/mozilla-b2g/gaia/commit/
> a80c0565e54dea3bd547269b0ada349f126f60a5

I did try a local revert of https://github.com/mozilla-b2g/gaia/commit/a80c0565e54dea3bd547269b0ada349f126f60a5 and it does NOT fix the issue.
(In reply to Alexandre LISSY :gerard-majax from comment #12)
> (In reply to Jason Smith [:jsmith] from comment #3)
> > There's two lockscreen commits in the regression range:
> > 
> > 1.
> > https://github.com/mozilla-b2g/gaia/commit/
> > d2764da3dbf0ecea030cfc146d1d45cf661c7f66
> > 2.
> > https://github.com/mozilla-b2g/gaia/commit/
> > a80c0565e54dea3bd547269b0ada349f126f60a5
> 
> I did try a local revert of
> https://github.com/mozilla-b2g/gaia/commit/
> a80c0565e54dea3bd547269b0ada349f126f60a5 and it does NOT fix the issue.

Nor does reverting https://github.com/mozilla-b2g/gaia/commit/d2764da3dbf0ecea030cfc146d1d45cf661c7f66.

However, I do consistently get this when I slide (4 times here) to unlock to answer:
E/GeckoConsole( 7069): [JavaScript Error: "TypeError: this.intentionRouter.unlockingStart is not a function" {file: "app://communications.gaiamobile.org/dialer/gaia_build_defer_oncall.js" line: 256}]
E/GeckoConsole( 7069): [JavaScript Error: "TypeError: this.intentionRouter.unlockingStart is not a function" {file: "app://communications.gaiamobile.org/dialer/gaia_build_defer_oncall.js" line: 256}]
E/GeckoConsole( 7069): [JavaScript Error: "TypeError: this.intentionRouter.unlockingStart is not a function" {file: "app://communications.gaiamobile.org/dialer/gaia_build_defer_oncall.js" line: 256}]
E/GeckoConsole( 7069): [JavaScript Error: "TypeError: this.intentionRouter.unlockingStart is not a function" {file: "app://communications.gaiamobile.org/dialer/gaia_build_defer_oncall.js" line: 256}]
After removing optimizations: E/GeckoConsole( 7392): [JavaScript Error: "TypeError: this.intentionRouter.unlockingStart is not a function" {file: "app://communications.gaiamobile.org/shared/js/lockscreen_slide.js" line: 446}]
(In reply to Jason Smith [:jsmith] from comment #9)
> (In reply to Jason Smith [:jsmith] from comment #8)
> > Steve - this might be a regression from the re-implementation of the locked
> > call screen with canvas. Can you take a look?
> 
> Or it could be a regression from bug 933035.

Actually I was wrong, after reverting https://github.com/mozilla-b2g/gaia/commit/a80c0565e54dea3bd547269b0ada349f126f60a5 and reinstalling all Gaia, and not only the system app, it does fix the issue. So this is a regression from bug 933035.
Depends on: 933035
Component: Gaia::Dialer → Gaia::System::Lockscreen
The issue comes from the IntentionRouter seems to be passed from the Dialer app at https://github.com/mozilla-b2g/gaia/blob/master/apps/communications/dialer/js/call_screen.js#L140:

It has no unlockingStart() nor unlockingStop() method.
Should the IntentionRouter at https://github.com/mozilla-b2g/gaia/blob/master/apps/communications/dialer/js/call_screen.js#L140 have a unlockingStart() and unlockingStop() method?
Flags: needinfo?(etienne)
Please find attached a pull request that fixes the issue by adding empty unlockingStart() and unlockingStop() methods.

This does not contain any tests, but maybe we need and can write some for this ?
Assignee: nobody → lissyx+mozillians
Status: NEW → ASSIGNED
Attachment #8355876 - Flags: review?(etienne)
Of course, I've tested this on my device and now I can unlock the screen when I receive a call.
It's a problem that we must defined a general enough version of IR to let both incoming call and normal lockscreen. Steve and I had discussed this before, but there seems left some cases we lost in the progress of development.

The IR is used as a communication way that I want to avoid use a global (hook on the window) and DOM event (dispatchEvent) to do this simple message passing thing (see https://groups.google.com/forum/#!topic/mozilla.dev.gaia/D4kRaSDspQI), especially in this case these intentions really concerns only LockScreen and the slide.

I'll try to solve this problem first, then to see if there is a better way to implement that.
Flags: needinfo?(gweng)
Flags: needinfo?(schung)
Comment on attachment 8355876 [details] [review]
Link to Github https://github.com/mozilla-b2g/gaia/pull/15018

Ideally I think the shared LockscreenSlide lib should test the existence of those method before calling them (with unit tests).

But let's land this simple and safe patch and file a proper follow up.
Attachment #8355876 - Flags: review?(etienne) → review+
Flags: needinfo?(etienne)
(In reply to Etienne Segonzac (:etienne) from comment #21)
> Comment on attachment 8355876 [details] [review]
> Link to Github https://github.com/mozilla-b2g/gaia/pull/15018
> 
> Ideally I think the shared LockscreenSlide lib should test the existence of
> those method before calling them (with unit tests).
> 
> But let's land this simple and safe patch and file a proper follow up.

Fixed the nit. Filed bug 956662 as followup.
https://github.com/mozilla-b2g/gaia/commit/728e3dfbe146d54c4bcd4121db373c41dd0b3f1e
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Please commit the patch to the github repo. The patch is not yet available on github. This is my git commit info after updating and rebuilding my B2G: 2014-01-06 -7:21:53
(In reply to Michael Adeyeye from comment #24)
> Please commit the patch to the github repo. The patch is not yet available
> on github. This is my git commit info after updating and rebuilding my B2G:
> 2014-01-06 -7:21:53

It is in the github repo.
Not in https://github.com/mozilla-b2g/B2G, which is the URL always referred to in the MDN.

Source: https://developer.mozilla.org/en-US/Firefox_OS/Preparing_for_your_first_B2G_build

I however saw the update/fix you are referring to in Gaia (https://github.com/mozilla-b2g/gaia).
(In reply to Michael Adeyeye from comment #26)
> Not in https://github.com/mozilla-b2g/B2G, which is the URL always referred
> to in the MDN.
> 
> Source:
> https://developer.mozilla.org/en-US/Firefox_OS/
> Preparing_for_your_first_B2G_build
> 
> I however saw the update/fix you are referring to in Gaia
> (https://github.com/mozilla-b2g/gaia).

Alexandre did indeed commit this correctly - a patch likes this goes into gaia, not the B2G repository. We've also confirmed on the QA side that this patch indeed works, so the smoketest regression has been fixed.
blocking-b2g: 1.4? → 1.4+
Target Milestone: --- → 1.3 C2/1.4 S2(17jan)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: