Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IncomingCall screen not appearing when default dialer app doesn't implement InCallService #1

Open
marmor7 opened this issue Jun 18, 2017 · 3 comments

Comments

@marmor7
Copy link

marmor7 commented Jun 18, 2017

according to InCallService docs

This service is implemented by any app that wishes to provide the user-interface for managing phone calls. Telecom binds to this service while there exists a live (active or incoming) call, and uses it to notify the in-call app of any live and recently disconnected calls. An app must first be set as the default phone app (See getDefaultDialerPackage()) before the telecom service will bind to its InCallService implementation.

This doesn't mean that a default app must implement this service.
Because of this assumption in VertexOS, when setting a 3rd party dialer app from Google Play as the default dialer app, the incoming call screen stops appearing (both full screen and header).
This doesn't happen on stock Android.

@joshchoo
Copy link
Member

If that's the case, show me where the problem is in my code and suggest a commit to revert or include. AFAIK, I touched almost nothing in Dialer. This is nearly straight from CAF.

How can you say it doesn't happen on stock Android? Stock Android on which device?
If the default dialer doesn't implement InCallService, then who provides it?

I would appreciate if you can look into this further and let me know.

Thanks!

@marmor7
Copy link
Author

marmor7 commented Jun 19, 2017

I'm the creator of a popular dialer app on Google Play, we received a report from a user that when our app is set as the default dialer app in settings he no longer sees the incoming call screen (neither full-screen incoming call nor the header notification).

We tried to recreate and investigate this in the docs.
We couldn't recreate the issue on multiple devices, with a range of Android versions, and from multiple makers (Samsung, HTC, LG, Nexus, OnePlus, etc.).

I'm not saying that the system dialer in Vertex has a bug, I'm sure it implements the InCallService as it should, however, the system can't count on the user-selected default dialer, which can be an app downloaded from Google Play like ours, to implement this service.
It should either always use the system dialer for incoming call, or check if the default dialer implements InCallService, and in case it does not, fallback to the system dialer.

You can install almost any dialer app from Google Play, set it as the default dialer app in settings, and check incoming calls yourself.

@roeiedri
Copy link

Can you help me with something?
How can i direct the user to the default dialer screen after answering the call?
Meaning im making my own ringing screen (Overriding InCallService) and once the user answers the call through my screen it goes to the default one.
I cant seem to do it because once im overriding InCallService, It just waits for my ui and does nothing else.
InCallService counts on the implementer to have the ui

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants
@marmor7 @joshchoo @roeiedri and others