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

Quickly typing numbers using the TT9 keyboard on the dialer app causes the phone to beep indefinitely. #538

Closed
aftab234 opened this issue Jun 13, 2024 · 8 comments · Fixed by #540
Labels
bug Something isn't working

Comments

@aftab234
Copy link

aftab234 commented Jun 13, 2024

Phone: Cat S22 Flip

Please add an option to disable the TT9 keyboard on the dialer app. Otherwise, the app is perfect.

Edit: This only happens if I directly start typing numbers from the physical numpad on the home screen rather than opening the dialer and then typing the numbers. The indefinite beep happens before the TT9 keyboard gets enabled on the dialer app.

If it's not possible to disable the TT9 keyboard on the dialer, please let me know if enabling the default keystroke sounds while typing on the dialer app is possible.
The fact that I am getting keystroke sounds initially means disabling the TT9 keyboard should be possible for a single app.

@aftab234
Copy link
Author

If my issue is unclear, please let me know. I will try to clarify it.

@sspanak
Copy link
Owner

sspanak commented Jun 14, 2024

Let's start with the fact that I don't have a Cat S22 Flip and I will need some help to fix the problem.

In dialers, TT9 is supposed to stay off, but it may not be able to detect your dialer properly. Anyway, you can manually make it ignore all key presses and pass them through to Android by doing the following:

  • Open the Settings
  • Scroll down to the version information and click it. This will open the Debug Options screen
  • Find the "Keypad Handling Mode" option and change it to "call super" or "return false". Don't forget to switch back to "Normal" when you are done testing or you will not be able to type words.

One of the alternative Keypad Handling Modes should be able to get rid of the beeps. But if you can still hear them, then there is nothing I can do. You could try disabling them from the Android settings.

On the other hand, if the beeps stop, it means I can fix it. I will need you to tell me the phone make and model as displayed on the TT9 Debug Screen. It's the first row, named "Device Info". You can click the row to copy them. Please paste the strings with the quotes included. And the second thing I need is the package name of your dialer app. There are various ways to find it, but let's first try all the above, before getting to this.

@sspanak sspanak added bug Something isn't working more info needed Further information is requested labels Jun 14, 2024
@aftab234
Copy link
Author

aftab234 commented Jun 14, 2024

Yes, choosing the alternative keypad handling modes eliminates the indefinite/unending beep on the dialer app. The beeps/sounds only play with each individual keypress now, which is what I want. However, the alternative keypad handing mode also disables the TT9 input everywhere. The on-screen layout still shows up when I type something in a text field but only numbers show up after each keypress, even when it's in abc mode.
So, this is the Debug Screen.
Screenshot_20240614-150407
The Device Info row says "Cat" "S22 FLIP"
Hope you can solve it.

@aftab234
Copy link
Author

aftab234 commented Jun 14, 2024

Ok. I realised now that you wrote "Don't forget to switch back to "Normal" when you are done testing or you will not be able to type words." I hadn't noticed earlier that it was just for testing.

@sspanak
Copy link
Owner

sspanak commented Jun 14, 2024

I need the package name of the dialer app and the input field type specification. Here is how to obtain them:

  • Go to the Debug Options again
  • Make sure the "Keypad Handling" is set to Normal
  • Change the "Log Level" to "Info"
  • Go to the dialer. It doesn't matter if you type anything, just make sure the input field where you type numbers is focused.
  • Go back to TT9 Debug Options
  • Scroll down to the logs list. You should see something like:
05-17 18:28:58.111  9218  9218 I tt9/KeyPadHandler: ===> Start Up; packageName: com.android.dialer inputType: 3 actionId: 0 imeOptions: 1073741830 privateImeOptions: null extras: null

Please send me a screenshot of all lines containing " ===> Start Up;" or copy and paste them here. Again, you can click to copy. Probably, on your phone it isn't called com.android.dialer or the inputType is different.

If the package name is com.android.contacts, please, also go to the Contacts app, then to the phone number field of some contact. I will need its inputType too.

If you don't see any logs, try changing the "Log Level" to "Debug" and repeat the procedure. If you still don't see any logs, I'll try to explain how to obtain them using the command-line.

Once you are done testing, do not forget to restore the "Log Level" to "Error". Otherwise, the logs will take up a lot of storage space and my cause TT9 to lag.

Also, I have one more question. Do you see the TT9 status bar before or after the problem occurs? I mean this:
image

It must remain invisible in the dialer, otherwise there will be all sorts of weird side effects.

@aftab234
Copy link
Author

Here are the logs.

06-14 20:57:51.502  3683  3683 I tt9/KeyPadHandler: ===> Start Up; packageName: io.github.sspanak.tt9 inputType: 0 actionId: 0 imeOptions: 0 privateImeOptions: null extras: null

06-14 20:58:00.957  3683  3683 I tt9/KeyPadHandler: ===> Start Up; packageName: com.android.launcher3 inputType: 0 actionId: 0 imeOptions: 0 privateImeOptions: null extras: null

06-14 20:58:03.314  3683  3683 I tt9/KeyPadHandler: ===> Start Up; packageName: io.github.sspanak.tt9 inputType: 0 actionId: 0 imeOptions: 0 privateImeOptions: null extras: null

06-14 20:58:08.906  3683  3683 I tt9/KeyPadHandler: ===> Start Up; packageName: io.github.sspanak.tt9 inputType: 0 actionId: 0 imeOptions: 0 privateImeOptions: null extras: null

06-14 20:58:13.332  3683  3683 I tt9/KeyPadHandler: ===> Start Up; packageName: io.github.sspanak.tt9 inputType: 0 actionId: 0 imeOptions: 0 privateImeOptions: null extras: null

06-14 20:58:21.316  3683  3683 I tt9/KeyPadHandler: ===> Start Up; packageName: com.android.launcher3 inputType: 0 actionId: 0 imeOptions: 0 privateImeOptions: null extras: null

06-14 20:58:25.099  3683  3683 I tt9/KeyPadHandler: ===> Start Up; packageName: org.codeaurora.dialer inputType: 0 actionId: 0 imeOptions: 0 privateImeOptions: null extras: null

06-14 20:58:27.569  3683  3683 I tt9/KeyPadHandler: ===> Start Up; packageName: org.codeaurora.dialer inputType: 3 actionId: 0 imeOptions: 201326597 privateImeOptions: null extras: null

06-14 20:58:27.569  3683  3683 W tt9/validateMode: Invalid input mode: 1 Enforcing: 2

06-14 20:58:27.619  3683  3683 W tt9/validateMode: Invalid input mode: 1 Enforcing: 2

06-14 20:58:27.621  3683  3683 W tt9/validateMode: Invalid input mode: 1 Enforcing: 2

06-14 20:58:27.628  3683  3683 W tt9/validateMode: Invalid input mode: 1 Enforcing: 2

06-14 20:58:33.826  3683  3683 W tt9/validateMode: Invalid input mode: 1 Enforcing: 2

06-14 20:58:33.836  3683  3683 W tt9/validateMode: Invalid input mode: 1 Enforcing: 2

06-14 20:58:33.838  3683  3683 W tt9/validateMode: Invalid input mode: 1 Enforcing: 2

06-14 20:58:33.839  3683  3683 W tt9/validateMode: Invalid input mode: 1 Enforcing: 2

06-14 20:58:33.857  3683  3683 W tt9/validateMode: Invalid input mode: 1 Enforcing: 2

06-14 20:58:34.887  3683  3683 W tt9/validateMode: Invalid input mode: 1 Enforcing: 2

06-14 20:58:36.679  3683  3683 I tt9/KeyPadHandler: ===> Start Up; packageName: com.android.launcher3 inputType: 0 actionId: 0 imeOptions: 0 privateImeOptions: null extras: null

06-14 20:58:39.403  3683  3683 I tt9/KeyPadHandler: ===> Start Up; packageName: io.github.sspanak.tt9 inputType: 0 actionId: 0 imeOptions: 0 privateImeOptions: null extras: null

I see the TT9 status bar in the dialer after the problem occurs.
From what I see, it seems the package name is the problem. It's org.codeaurora.dialer.

@sspanak sspanak linked a pull request Jun 14, 2024 that will close this issue
@sspanak sspanak removed the more info needed Further information is requested label Jun 14, 2024
@sspanak
Copy link
Owner

sspanak commented Jun 14, 2024

This APK should fix the problem. You can install it over the version you have now, no matter if it comes from here, F-droid or Uptodown. Also, you shouldn't have problems with upgrading to v34.0 when it is published.

From what I see, it seems the package name is the problem. It's org.codeaurora.dialer.

Yes, this is the one. I've also noticed that on Android 14, the stock dialer is now com.google.android.dialer, instead of com.android.dialer. I've fixed that too.

Thanks for reporting the problem! These dialers have been causing me trouble ever since I started working on the project.

@aftab234
Copy link
Author

The problem is fixed! Thanks a lot.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants