ankidroid/Anki-Android

[BUG]: "Shake device" prefix emoji (maracas) is garbled

Opened this issue · 12 comments

Checked for duplicates?

  • This issue is not a duplicate

Does it also happen in the desktop version?

  • This bug does not occur in the latest version of Anki Desktop

What are the steps to reproduce this bug?

[Settings] > [Controls] > enable [Enable gestures] > [Show answer] > [Add gesture] > [▼] > see the second item of the list

Expected behaviour

The prefix emoji of "Shake device" option is not garbled.

(v2.17.6)

Debug info

AnkiDroid Version = 2.19beta2 (2dab92e5214d6e21ebe2dd3a05e20a04ed7a9858)

Backend Version = 0.1.40-anki24.06.3 (24.06.3 d678e39350a2d243242a69f4e22f5192b04398f2)

Android Version = 11 (SDK 30)

ProductFlavor = full

Manufacturer = OPPO

Model = CPH2013

Hardware = qcom

Webview User Agent = Mozilla/5.0 (Linux; Android 11; CPH2013 Build/RKQ1.200903.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/128.0.6613.127 Mobile Safari/537.36

ACRA UUID = 5e59349c-ede4-4942-91b7-199dcf1342c0

FSRS Enabled = true

Crash Reports Enabled = true

(Optional) Anything else you want to share?

The issue is reproduced in version 2.18.0.

Research

  • I have checked the manual and the FAQ and could not find a solution to my issue
  • (Optional) I have confirmed the issue is not resolved in the latest alpha release (instructions)

Hi @snowtimeglass ,are you work on this issue. i like to work on this issue.

WhatsApp Image 2024-09-20 at 12 46 42 AM
Showing as expected.

Debug Info

AnkiDroid Version = 2.19beta2-debug (5bf4326bb0c05d500ab40cacef0d3fb7f7b86a10)

Backend Version = 0.1.40-anki24.06.3 (24.06.3 d678e39350a2d243242a69f4e22f5192b04398f2)

Android Version = 14 (SDK 34)

ProductFlavor = amazon

Manufacturer = realme

Model = RMX3521

Hardware = qcom

Webview User Agent = Mozilla/5.0 (Linux; Android 14; RMX3521 Build/UKQ1.230924.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/128.0.6613.128 Mobile Safari/537.36

ACRA UUID = 15292e55-b323-4593-a062-b0a27fae21ec

FSRS Enabled = false

Crash Reports Enabled = false

Hi @gautamsingh2 I'm happy if you work on it, thanks.

Hi @SanjaySargam, i my case also i am able reproduce this issue. i think this issue is below specific android version(may be 13)
WhatsApp Image 2024-09-20 at 9 14 07 AM

Debug info

AnkiDroid Version = 2.19beta2-debug (5bf4326bb0c05d500ab40cacef0d3fb7f7b86a10)

Backend Version = 0.1.40-anki24.06.3 (24.06.3 d678e39350a2d243242a69f4e22f5192b04398f2)

Android Version = 10 (SDK 29)

ProductFlavor = amazon

Manufacturer = Xiaomi

Model = Redmi Y3

Hardware = qcom

Webview User Agent = Mozilla/5.0 (Linux; Android 10; Redmi Y3 Build/QKQ1.191008.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/128.0.6613.146 Mobile Safari/537.36

ACRA UUID = f0104c07-b244-487e-8ec6-8e9732302ecc

FSRS Enabled = false

Crash Reports Enabled = false

i found that this issue exist in those device which have android version less than 14. because this Unicode Character maracas is not support in those android version.

This emoji should be available to us even on older Android via the emoji2 google library which is a transitive dep of AppCompat, which we are using. They list a process to troubleshoot why a modern emoji isn't working:

https://developer.android.com/develop/ui/views/text-and-emoji/emoji2#appcompat

Alternatively, we could copy it locally:
I believe that could be either the official one copied here (the OFL they are using appears to be a compatible license? please verify): https://github.com/googlefonts/noto-emoji/blob/main/svg/emoji_u1fa87.svg?plain=1

However it really should work and I believe the google dev doc troubleshooting / verification check should get it going. Likely it is just a manually created TextView or something and not extending the Compat version so not getting access to the emoji2 updated unicode set

This is not a regression. The emoji does not display with API 30 on

AnkiDroid Version = 2.17alpha12-debug (5425cc688f70b30e291a5f5b60fefd48ed09cd1a)

i try all step that is mention in it: https://developer.android.com/develop/ui/views/text-and-emoji/emoji2#appcompat.it is not working out. Already Preferences activity extends AppCompatActivity and AppCompat version is high than 1.4.0. i try with AppCompatTextView but still not working

I created a dummy app where the MainActivity extends AppCompatActivity and uses the AppCompat library higher than 1.4.0. In this app, I added a text box that displays the maracas emoji. The emoji shows correctly without any issues (no tofu box) in android version 11. However, in the AnkiDroid app, which also uses AppCompatActivity and AppCompat library higher than 1.4.0, the same emoji isn’t working correctly, and I’m not able to figure out why this discrepancy exists between the two apps.

I wish we had analytics to see if "Shake device" is a really used feature or not

@BrayanDSO ,what is relationship between this issue and analytics of "Shake device" feature.

I wish we had analytics to see if "Shake device" is a really used feature or not

'E' when reviewing lets you edit the note (on AnkiDroid I've set the custom 'shake my phone' option to do this as well).

https://www.reddit.com/r/Anki/comments/1gddwpy/comment/lu7c1ey/