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

Call Screen not working in unsupported countries #42

Closed
Yoanndp opened this issue Nov 22, 2022 · 41 comments
Closed

Call Screen not working in unsupported countries #42

Yoanndp opened this issue Nov 22, 2022 · 41 comments
Labels
enhancement New feature or request

Comments

@Yoanndp
Copy link
Contributor

Yoanndp commented Nov 22, 2022

Hello, I have activated the switches that allow me to use call screening, and it works. However, the call assistant speaks English to my contacts. Is there any way to change the language ?

@jacopotediosi
Copy link
Owner

Hi @Yoanndp, you are probably looking for enable_call_screen_i18n_tidepods.
Anyway, I'm still testing and I need a little more time. I hope in the next few days to release an update of GoogleDialerMod to enable all the necessary switches for Call Screen, Hold for Me and Direct my Call.
I'll comment and close this issue when it will be published.

@jacopotediosi jacopotediosi added the enhancement New feature or request label Nov 22, 2022
@jacopotediosi jacopotediosi changed the title [Question] Call screening language Call Screen language Nov 22, 2022
@Yoanndp
Copy link
Contributor Author

Yoanndp commented Nov 22, 2022

Thanks for your message. I enabled the flag and it worked. However, I'm stuck with "Update not ready, try again later". Do you know if it's related to flags ?

@jacopotediosi
Copy link
Owner

Please try the just released 1.05 version, which allows to enable the Call Screen feature directly from the Suggested Mods tab.

If you encounter the same problem with that version as well, just leave a comment and I will reopen this issue.

@Yoanndp
Copy link
Contributor Author

Yoanndp commented Nov 24, 2022

Hello, I have activated the Suggested Mod switch, and it seems to change the layout of these settings. However, it doesn't seem to work at all. When someone calls me, I can only answer or decline. I guess I'll have to wait for a spam call

@jacopotediosi
Copy link
Owner

jacopotediosi commented Nov 24, 2022

Hi @Yoanndp, the "call screen" button should always appears, not only for spam calls.

Have you tried to close and restart the Dialer a couple of times?

If the problem persists, it can be useful if you provide your logcat, captured while receiving a call, after having the Dialer started in debug mode from adb with the adb shell "am start -D com.google.android.dialer" command.

@jacopotediosi jacopotediosi reopened this Nov 24, 2022
@Yoanndp
Copy link
Contributor Author

Yoanndp commented Nov 24, 2022

Hi, yes I tried to restart it several times. Also, I noticed that the Voice menu is grayed out in the settings, which means I can't configure the voice type (male or female). I have two phone numbers, so I'll try to get some logs when I'll be back from the office.

@jacopotediosi
Copy link
Owner

Uhm, something weird is going on.

It is not normal that the Voice menu is grayed out and in your logcat I see that your Call Screen is using the US language instead of FR.

I have the following questions for you:

  • Are you French? (which is your phone locale?)
  • Which version of Google Dialer are you using?
  • Can you try if enabling the G__speak_easy_use_soda_asr switch something changes (i.e. the Voice menù unlocks)?

@Yoanndp
Copy link
Contributor Author

Yoanndp commented Nov 24, 2022

• My phone language is set to French
• version 94.0.48803600-pixel2022
• It doesn't change anything
Screenshot_20221124-111715_cropped

@jacopotediosi
Copy link
Owner

Could you please send me a logcat also of when you open the Filtrage d'appels screen in the Dialer settings?

@Yoanndp
Copy link
Contributor Author

Yoanndp commented Nov 24, 2022

Did you find something relevant ?

@jacopotediosi
Copy link
Owner

Not yet. In the meantime, do you have already tried to remove all the applied mods (using the trash icon at the top right in GoogleDialerMod, it could hangs for some minutes because of a known performance problem which I will solve in future releases), force close the Dialer, delete its data (not just the cache) and try again by activating only the suggested call screen mod?

@jacopotediosi
Copy link
Owner

It seems to be a language pack problem, but I don't understand why your Dialer downloaded the US one and not the FR one.
Even setting up my Android emulator in French, connecting to a French VPN, and simulating a French carrier, I can't replicate your bug.
This is why I am suggesting you to clear all Dialer data and start over.

@jacopotediosi
Copy link
Owner

jacopotediosi commented Nov 24, 2022

Eventually I can split the "enable call screen" feature into two buttons, one that enables just the traditional call screen and one that adds also the advanced automatic filter that doesn't seem to work for you. So you can at least use the basic call screen.

@Yoanndp
Copy link
Contributor Author

Yoanndp commented Nov 24, 2022

Not yet. In the meantime, do you have already tried to remove all the applied mods (using the trash icon at the top right in GoogleDialerMod, it could hangs for some minutes because of a known performance problem which I will solve in future releases), force close the Dialer, delete its data (not just the cache) and try again by activating only the suggested call screen mod?

I have done what you said and it didn't worked.

  1. Click on the Trash icon from GDMod
  2. Force close the Dialer app
  3. Delete all data
  4. Activated only the call screening mod
  5. Force close and clear cache several times

It got the same menu as before, and still grayed voice menu.

Eventually I can split the "enable call screen" feature into two buttons, one that enables just the traditional call screen and one that adds also the advanced automatic filter that doesn't seem to work for you. So you can at least use the basic call screen.

Yeah, it may worth a try ! If you are about to implement that function, I can be your beta tester.

@Yoanndp
Copy link
Contributor Author

Yoanndp commented Nov 24, 2022

It seems to be a language pack problem, but I don't understand why your Dialer downloaded the US one and not the FR one.
Even setting up my Android emulator in French, connecting to a French VPN, and simulating a French carrier, I can't replicate your bug.
This is why I am suggesting you to clear all Dialer data and start over.

Oh I see you're mentioning "French VPN" and "French Carrier". I'm located in Belgium, it could help you in your research

@jacopotediosi
Copy link
Owner

Oh I see you're mentioning "French VPN" and "French Carrier". I'm located in Belgium, it could help you in your research

Founded! https://support.google.com/phoneapp/answer/9118387?hl=en
Probably Google Dialer detect your SIM is not of one of their supported countries. I need to investigate on that.

@jacopotediosi jacopotediosi changed the title Call Screen language Call Screen not working in unsupported countries Nov 24, 2022
@Yoanndp
Copy link
Contributor Author

Yoanndp commented Nov 24, 2022

Oh I see you're mentioning "French VPN" and "French Carrier". I'm located in Belgium, it could help you in your research

Founded! https://support.google.com/phoneapp/answer/9118387?hl=en
Probably Google Dialer detect your SIM is not of one of their supported countries. I need to investigate on that.

Yeah that's what I see on this website. I hope you will be able to find a way to spoof the SIM card. Thank you for your help ! I think we can close this thread while you're investigating. Feel free to reopen anytime if needed.

@jacopotediosi
Copy link
Owner

Useful logs captured:

Starting download: https://storage.googleapis.com/dialer-cs-tts/manifest-configs/v202110040940.pb
Is http uri, downloading (uri: https://storage.googleapis.com/dialer-cs-tts/manifest-configs/v202110040940.pb)
com.android.dialer.callscreen.impl.flags.Flags.modelForLanguage:131 simCountry be is not supported
com.android.dialer.callscreen.impl.flags.Flags.getSupportedLanguage:203 simCountry be is not supported
com.android.dialer.callscreen.impl.flags.Flags.modelForLanguage:131 simCountry be is not supported
com.android.dialer.callscreen.impl.mdd.ManifestConfigOverrider.lambda$override$0:67 languageCode fr-BE is not supported

@jacopotediosi
Copy link
Owner

jacopotediosi commented Nov 25, 2022

Ok, I understand the issue here. Actually it is a limitation imposed by the Google Dialer to prevent Call Screen from being activated outside of some countries.

The language set on the phone does not matter. The language of the voice messages depends on the carrier of the SIM inserted in the phone.
You are using a Belgian sim, so Google Dialer tries to download the fr-BE languagepack (which doesn't exist) instead of the fr-FR one.

There are many possibilities for developing a workaround, e.g. spoof the properties obtained by Google Dialer. The same problem seems to be the reason why the Hold for Me feature does not activate as well, so we can make that work too.

Meanwhile, @Yoanndp, if you want to make it work, open a shell with the adb shell, then type:

su
setprop gsm.sim.operator.iso-country fr

Please update me if it works for you.

Also, please note that the Call Screen feature works only if the caller number is from your same SIM Country. E.g., if you use the above commands to spoof your SIM Country as a FR one, the Call Screen button won't appear when an Italian number (starting with +39) calls you.

@Yoanndp
Copy link
Contributor Author

Yoanndp commented Nov 25, 2022

Ok, I understand the issue here. Actually it is a limitation imposed by the Google Dialer to prevent Call Screen from being activated outside of some countries.

The language set on the phone does not matter. The language of the voice messages depends on the carrier of the SIM inserted in the phone.
You are using a Belgian sim, so Google Dialer tries to download the fr-BE languagepack (which doesn't exist) instead of the fr-FR one.

There are many possibilities for developing a workaround, e.g. spoof the properties obtained by Google Dialer. The same problem seems to be the reason why the Hold for Me feature does not activate as well, so we can make that work too.

Meanwhile, @Yoanndp, if you want to make it work, open a shell with the adb shell, then type:

su
setprop gsm.sim.operator.iso-country fr

Please update me if it works for you.

Also, please note that the Call Screen feature works only if the caller number is from your same SIM Country. E.g., if you use the above commands to spoof your SIM Country as a FR one, the Call Screen button won't appear when an Italian number (starting with +39) calls you.

Smart ! I'll apply those command but could it break something? Like fucking up the network or anything sim related ?

@Yoanndp
Copy link
Contributor Author

Yoanndp commented Nov 25, 2022

Also, please note that the Call Screen feature works only if the caller number is from your same SIM Country. E.g., if you use the above commands to spoof your SIM Country as a FR one, the Call Screen button won't appear when an Italian number (starting with +39) calls you.

Well, as I have a Belgian SIM card, and most of my contacts are Belgian people (with Belgian number +32), I guess it makes no sense to spoof the SIM Card

@jacopotediosi
Copy link
Owner

jacopotediosi commented Nov 25, 2022

Smart ! I'll apply those command but could it break something? Like fucking up the network or anything sim related ?

Nah, this workaround doesn't resist reboot either.

@Yoanndp
Copy link
Contributor Author

Yoanndp commented Nov 25, 2022

By changing the boot properties from Be to Fr, I was able to handle a phone call (from a Belgian number) to my own number and the assistant spoke in French. However, after a reboot, the feature disappeared (I guess because of the non-persistent flag). Would creating a Magisk module help?

@jacopotediosi
Copy link
Owner

jacopotediosi commented Nov 25, 2022

Would creating a Magisk module help?

Nope. I'm creating an ad-hoc GoogleDialerMod patch without Magisk. Stay tuned, because we will also have the possibility to modify all the audio messages and add custom buttons in the Call Screen. Much reverse engineering is going on.

Meanwhile, consider the setprop method as a temporary workaround, but it won't survive reboots.

@Yoanndp
Copy link
Contributor Author

Yoanndp commented Nov 25, 2022

Thank you for help, I remain available if needed

@jacopotediosi
Copy link
Owner

jacopotediosi commented Nov 25, 2022

Thank you for having tested that call from a Belgian number. It was helpful to better understand!

(Deleted your logcats to better preserve your privacy)

Repository owner deleted a comment from Yoanndp Nov 26, 2022
Repository owner deleted a comment from Yoanndp Nov 26, 2022
@jacopotediosi
Copy link
Owner

jacopotediosi commented Nov 26, 2022

Hi @Yoanndp,
Version 1.06 should enable the Call Screen feature even for unsupported countries. The wifi activation screen still takes a few seconds but then it should work.

If you encounter any problems, since you come from a previous version, I suggest as usual to use the GoogleDialerMod trash icon, delete the Dialer data, and then start over.

Notice also there may be a few seconds hang when you choose the language after enabling the switch, but the app is working and you just have to wait. In general, I will soon have to fix the performance of the application.

Please give it a try and keep me updated 😄

@Rossano95
Copy link

Hi, version 1.05 works for me. With version 1.06 when I select the italian language the google dialer mod app crashes. Just downgraded for now. Thank you for your work.

@jacopotediosi
Copy link
Owner

Hi, version 1.05 works for me. With version 1.06 when I select the italian language the google dialer mod app crashes. Just downgraded for now. Thank you for your work.

Uhm compiling the apk in release mode broke something.

@Yoanndp
Copy link
Contributor Author

Yoanndp commented Nov 26, 2022

Hi @Yoanndp,
Version 1.06 should enable the Call Screen feature even for unsupported countries. The wifi activation screen still takes a few seconds but then it should work.

If you encounter any problems, since you come from a previous version, I suggest as usual to use the GoogleDialerMod trash icon, delete the Dialer data, and then start over.

Notice also there may be a few seconds hang when you choose the language after enabling the switch, but the app is working and you just have to wait. In general, I will soon have to fix the performance of the application.

Please give it a try and keep me updated 😄

The app crashes when selecting language

@jacopotediosi
Copy link
Owner

@Yoanndp @Rossano95 Could you try it again?
I have reuploaded the correct apk always there: https://github.com/jacopotediosi/GoogleDialerMod/releases/tag/v1.06

@Rossano95
Copy link

Now it works again. Thank you

@Yoanndp
Copy link
Contributor Author

Yoanndp commented Nov 26, 2022

The menu appears but voice is still grayed out and the feature doesn't work when someone calls me. Also, after a reboot, the feature disappeared

@jacopotediosi
Copy link
Owner

The menu appears but voice is still grayed out and the feature doesn't work when someone calls me. Also, after a reboot, the feature disappeared

It is because you are coming from the previous version. The switch on GoogleDialerMod should be back to off and you should be able to try again.

@shadyrexman
Copy link

@Yoanndp @Rossano95 Could you try it again?
I have reuploaded the correct apk always there: https://github.com/jacopotediosi/GoogleDialerMod/releases/tag/v1.06

Thank you for your great work!

@shadyrexman
Copy link

In build 1.06 I can use the enhanced Call Screen, but the hold for me still keeps activating though .

@Yoanndp
Copy link
Contributor Author

Yoanndp commented Nov 27, 2022

The hold for me still doesn't work Screenshot_20221127-110029.png Should I enable something?

@jacopotediosi
Copy link
Owner

Hi!
Sorry, but the latest update (v1.06) is just about Call Screen.
Hold for Me is a totally different feature and I'll release a future update to enable it as well. At the moment it is normal that Hold for Me isn't working and you cannot enable it yourself using switches. To be enabled, it requires a totally different method and (for me) to study and reverse engineering the Dialer. Stay tuned, because I'll implement that soon, but please stop talking about that under this ticket because this is just about Call Screen and not about Hold for Me.
Thanks.
I'm closing this issue as the Call Screen implementation is finished and it's reported as working for multiple users.

@jacopotediosi
Copy link
Owner

As a reference, the ticket about Hold for Me is #7.

@Yoanndp
Copy link
Contributor Author

Yoanndp commented Nov 27, 2022

Alright, thank you

@swx-tr
Copy link

swx-tr commented Mar 19, 2023

Hi, is it possible to screening an other languages? I need Turkish 😌

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

No branches or pull requests

5 participants