{ "id": "174332", "key": "TIMOB-27616", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "20950", "name": "Release 9.1.0", "archived": false, "released": true, "releaseDate": "2020-08-25" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2020-08-11T14:52:55.000+0000", "created": "2019-11-01T14:22:48.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [ "Android", "TextField", "decimal", "keyboardType" ], "versions": [], "issuelinks": [ { "id": "59097", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "175954", "key": "TIMOB-28312", "fields": { "summary": "Android: Can't enter decimal comma in TextField on some devices", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "Medium", "id": "3" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "57930", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "132201", "key": "TIMOB-17203", "fields": { "summary": "TextField keyboardType: parity issues between iOS and Android", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "Low", "id": "4" }, "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } } ], "assignee": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2021-01-13T00:53:55.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10202", "name": "Android", "description": "Android Platform" } ], "description": "*Summary:*\r\nWhen using a {{TextField}} with \"keyboardType\" set to {{KEYBOARD_TYPE_DECIMAL_PAD}} or {{KEYBOARD_TYPE_NUMBERS_PUNCTUATION}}, the end-user is only allowed to enter a period '.' for the decimal point. It ignores the current locale and does not allow other types of decimal separators such as a comma ',' which is used Europe and South America.\r\n\r\n*How to add languages on Android:*\r\n# Go to Android's main Settings screen.\r\n# Tap on \"System\".\r\n# Tap on \"Language & Input\".\r\n# Tap on \"Languages\".\r\n# Tap on \"Add Language\".\r\n# Select a European language such as \"German\"/\"Deutsch\".\r\n# Drag-and-drop the language to the top of the list.\r\n\r\n*Steps to reproduce:*\r\n# Build and run the below code on Android.\r\n# Select a European language. (See language instructions above.)\r\n# Tap on the {{TextField}}.\r\n# Attempt to enter {{1,5}} with a comma.\r\n# Notice it won't let you use a comma ',' for the decimal separator.\r\n# Enter {{1.5}} with a period.\r\n# Notice that it allows a period, but this is not correct for the current locale.\r\n\r\n{code:javascript}\r\nvar window = Ti.UI.createWindow();\r\nwindow.add(Ti.UI.createTextField({\r\n\tkeyboardType: Ti.UI.KEYBOARD_TYPE_DECIMAL_PAD,\r\n\twidth: \"90%\",\r\n}));\r\nwindow.open();\r\n{code}\r\n\r\n*Note:*\r\nThis is actually a bug on Google's end. They have a *+partial+* fix for it as of Android 8.0 by using passing the current {{Locale}} to a {{DigitsKeyListener}} constructor.\r\nhttps://developer.android.com/reference/android/text/method/DigitsKeyListener#DigitsKeyListener(java.util.Locale)\r\n\r\nUnfortunately, Google's fix is incomplete and has the following issues:\r\n* Fullscreen edits (when in landscape) is not fixed. Only allows period for decimal point.\r\n* Does not support Arabic decimal separator at all.\r\n* Android OS versions older than 8.0 can't use their fix. We need a solution for Android 4.4 too.\r\n\r\n\\\\\r\n\\\\\r\n----\r\n\r\n*Original Post:*\r\nIn Denmark the decimal separator is comma (,)\r\nBut when setting \r\n{code}\r\nTextField.keyboardType = Ti.UI.KEYBOARD_TYPE_NUMBERS_PUNCTUATION;\r\n{code}\r\nTitanium Shows a keyboard with a dot (.) instead... \r\nAnd when parsing a value with Danish Locale 20.50 becomes 2050\r\nOn IOS the keyboard is shown with a comma (,) and everything works as expected\r\n", "attachment": [ { "id": "67120", "filename": "keyPad.png", "author": { "name": "ybanev", "key": "ybanev", "displayName": "Yordan Banev", "active": true, "timeZone": "Europe/Athens" }, "created": "2019-11-14T14:07:20.000+0000", "size": 12794, "mimeType": "image/png" }, { "id": "67349", "filename": "TextFieldKeyboardAdvancedTest.js", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-04-28T02:18:01.000+0000", "size": 8700, "mimeType": "application/x-javascript" }, { "id": "67350", "filename": "TextFieldKeyboardAdvancedTest1.png", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-04-28T02:52:32.000+0000", "size": 165150, "mimeType": "image/png" }, { "id": "67351", "filename": "TextFieldKeyboardAdvancedTest2.png", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-04-28T02:52:37.000+0000", "size": 191262, "mimeType": "image/png" } ], "flagged": false, "summary": "Android: TextField with decimal keyboard type does not allow comma for decimal separator", "creator": { "name": "thomas.neerup@eg.dk", "key": "thomas.neerup@eg.dk", "displayName": "Thomas Neerup", "active": true, "timeZone": "Europe/Copenhagen" }, "subtasks": [], "reporter": { "name": "thomas.neerup@eg.dk", "key": "thomas.neerup@eg.dk", "displayName": "Thomas Neerup", "active": true, "timeZone": "Europe/Copenhagen" }, "environment": "Android \r\nSDK 8.2.0", "closedSprints": [ { "id": 1201, "state": "closed", "name": "2020 Sprint 14", "startDate": "2020-07-06T15:40:00.000Z", "endDate": "2020-07-17T15:40:00.000Z", "completeDate": "2020-07-20T22:16:28.367Z", "originBoardId": 114 }, { "id": 1194, "state": "closed", "name": "2020 Sprint 9", "startDate": "2020-04-24T17:09:51.572Z", "endDate": "2020-05-08T17:09:00.000Z", "completeDate": "2020-05-08T15:40:07.869Z", "originBoardId": 114 }, { "id": 1195, "state": "closed", "name": "2020 Sprint 10", "startDate": "2020-05-08T16:37:58.282Z", "endDate": "2020-05-22T16:37:00.000Z", "completeDate": "2020-05-21T15:26:11.089Z", "originBoardId": 114 }, { "id": 1196, "state": "closed", "name": "2020 Sprint 11", "startDate": "2020-05-26T15:56:00.000Z", "endDate": "2020-06-05T15:56:00.000Z", "completeDate": "2020-06-08T21:05:50.356Z", "originBoardId": 114 }, { "id": 1198, "state": "closed", "name": "2020 Sprint 12", "startDate": "2020-06-08T21:06:41.849Z", "endDate": "2020-06-19T21:06:00.000Z", "completeDate": "2020-06-19T15:54:38.493Z", "originBoardId": 114 }, { "id": 1199, "state": "closed", "name": "2020 Sprint 13", "startDate": "2020-06-19T16:41:04.099Z", "endDate": "2020-07-02T16:41:00.000Z", "completeDate": "2020-07-02T15:37:12.455Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "452437", "author": { "name": "sdarda", "key": "sdarda", "displayName": "Sharif AbuDarda", "active": false, "timeZone": "Asia/Dhaka" }, "body": "Hello, please share a full reproducible sample core for the Android platform to test. Thanks.", "updateAuthor": { "name": "sdarda", "key": "sdarda", "displayName": "Sharif AbuDarda", "active": false, "timeZone": "Asia/Dhaka" }, "created": "2019-11-03T19:43:32.000+0000", "updated": "2019-11-03T19:43:47.000+0000" }, { "id": "452673", "author": { "name": "ybanev", "key": "ybanev", "displayName": "Yordan Banev", "active": true, "timeZone": "Europe/Athens" }, "body": "[~thomas.neerup@eg.dk] Could you confirm that you have the issue with the {{Ti.UI.KEYBOARD_TYPE_NUMBERS_PUNCTUATION}} constant? I am able to write a comma with it. Although if you switch it to {{Ti.UI.KEYBOARD_TYPE_DECIMAL_PAD}} I get what you have described - I see the comma on the pad, but I can't use it.", "updateAuthor": { "name": "ybanev", "key": "ybanev", "displayName": "Yordan Banev", "active": true, "timeZone": "Europe/Athens" }, "created": "2019-11-14T13:34:34.000+0000", "updated": "2019-11-14T13:34:34.000+0000" }, { "id": "452676", "author": { "name": "thomas.neerup@eg.dk", "key": "thomas.neerup@eg.dk", "displayName": "Thomas Neerup", "active": true, "timeZone": "Europe/Copenhagen" }, "body": "Yordan Banev Yes I can with Ti.UI.KEYBOARD_TYPE_NUMBERS_PUNCTUATION gives me '.' (dot) like your keypad.png not ',' (comma) on Android Phone with Danish Locale.... Should be ',' (comma)", "updateAuthor": { "name": "thomas.neerup@eg.dk", "key": "thomas.neerup@eg.dk", "displayName": "Thomas Neerup", "active": true, "timeZone": "Europe/Copenhagen" }, "created": "2019-11-14T13:57:12.000+0000", "updated": "2019-11-14T14:09:27.000+0000" }, { "id": "452677", "author": { "name": "ybanev", "key": "ybanev", "displayName": "Yordan Banev", "active": true, "timeZone": "Europe/Athens" }, "body": "[~thomas.neerup@eg.dk] I have attached what I get as a keypad.\r\n !keyPad.png|thumbnail! \r\nFor me the comma symbol is accessible after clicking on the bottom left key that exposes more special symbols. Is that the case with you? Also some details about the device you are using could be useful for troubleshooting - what Android version is it running and a make and model.", "updateAuthor": { "name": "ybanev", "key": "ybanev", "displayName": "Yordan Banev", "active": true, "timeZone": "Europe/Athens" }, "created": "2019-11-14T14:09:48.000+0000", "updated": "2019-11-14T14:09:48.000+0000" }, { "id": "452679", "author": { "name": "thomas.neerup@eg.dk", "key": "thomas.neerup@eg.dk", "displayName": "Thomas Neerup", "active": true, "timeZone": "Europe/Copenhagen" }, "body": "I get the same as your kypad.png...\r\nI'm on a Nexus 6P with Android 8\r\nAs I see it... it should be comma instead of . to the right og 0... \r\n. tousand separator is not usefull to anyone... plus that how it works on IOS", "updateAuthor": { "name": "thomas.neerup@eg.dk", "key": "thomas.neerup@eg.dk", "displayName": "Thomas Neerup", "active": true, "timeZone": "Europe/Copenhagen" }, "created": "2019-11-14T14:13:32.000+0000", "updated": "2019-11-14T14:17:44.000+0000" }, { "id": "452866", "author": { "name": "ybanev", "key": "ybanev", "displayName": "Yordan Banev", "active": true, "timeZone": "Europe/Athens" }, "body": "I am changing this to an improvement, since the it works on native Android with the proposed solution from [~jquick], but it does not show a keyboard that matches what is shown on iOS. In Android it shows the full keyboard with letters, numbers, punctuation symbols and special symbols although it only accepts the proper decimal separator. With changes in the upcoming PR the keyboard which is shown will be closer to the iOS counterpart. ", "updateAuthor": { "name": "ybanev", "key": "ybanev", "displayName": "Yordan Banev", "active": true, "timeZone": "Europe/Athens" }, "created": "2019-11-21T15:44:39.000+0000", "updated": "2019-11-21T15:44:39.000+0000" }, { "id": "452870", "author": { "name": "ybanev", "key": "ybanev", "displayName": "Yordan Banev", "active": true, "timeZone": "Europe/Athens" }, "body": "PR: https://github.com/appcelerator/titanium_mobile/pull/11360", "updateAuthor": { "name": "ybanev", "key": "ybanev", "displayName": "Yordan Banev", "active": true, "timeZone": "Europe/Athens" }, "created": "2019-11-21T16:06:55.000+0000", "updated": "2019-11-21T16:06:55.000+0000" }, { "id": "453751", "author": { "name": "thomas.neerup@eg.dk", "key": "thomas.neerup@eg.dk", "displayName": "Thomas Neerup", "active": true, "timeZone": "Europe/Copenhagen" }, "body": "Any chance this could be in the next release ? \r\nI have several customers waiting for this... \r\n/Cheers", "updateAuthor": { "name": "thomas.neerup@eg.dk", "key": "thomas.neerup@eg.dk", "displayName": "Thomas Neerup", "active": true, "timeZone": "Europe/Copenhagen" }, "created": "2020-01-21T11:47:31.000+0000", "updated": "2020-01-21T11:47:31.000+0000" }, { "id": "455267", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR (master): https://github.com/appcelerator/titanium_mobile/pull/11662", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-04-28T02:40:23.000+0000", "updated": "2020-04-28T02:40:23.000+0000" }, { "id": "455271", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "The attached [^TextFieldKeyboardAdvancedTest.js] can be used to test all keyboard types with various different TextField/TextArea settings. This is needed since my PR completely refactors this code.\r\n !TextFieldKeyboardAdvancedTest1.png|thumbnail! !TextFieldKeyboardAdvancedTest2.png|thumbnail! ", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-04-28T02:52:42.000+0000", "updated": "2020-04-28T02:52:42.000+0000" }, { "id": "456055", "author": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "body": "FR Passed, Waiting on Jenkins build.", "updateAuthor": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-07-13T14:47:43.000+0000", "updated": "2020-07-13T14:47:43.000+0000" }, { "id": "456089", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "merged to master for 9.1.0 target", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2020-07-14T19:27:52.000+0000", "updated": "2020-07-14T19:27:52.000+0000" }, { "id": "456407", "author": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "body": "*Closing ticket*. bug fixed verified in SDK version {{9.1.0.v20200810120239}}.\r\n\r\n*Test and other information can be found at:*\r\nhttps://github.com/appcelerator/titanium_mobile/pull/11662", "updateAuthor": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-08-11T14:52:45.000+0000", "updated": "2020-08-11T14:52:45.000+0000" }, { "id": "456413", "author": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Closing ticket. Bug Fixed in SDK version 9.1.0.v20200810120239.\r\n\r\n*Test and other information can be found at:\r\n*https://github.com/appcelerator/titanium_mobile/pull/11662", "updateAuthor": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-08-11T15:05:49.000+0000", "updated": "2020-08-11T15:05:49.000+0000" }, { "id": "457737", "author": { "name": "rfarfan", "key": "rfarfan", "displayName": "Rodrigo Farfán", "active": true, "timeZone": "Europe/Madrid" }, "body": "I'm experiencing a problem and I guess it's related with this issue. Using SDK 9.2.2.GA, a TextField with keyboardType: Ti.UI.KEYBOARD_TYPE_DECIMAL_PAD, on Samsung devices (tested on Android 8.1 and Android 10) and with language set to Spanish (for which decimal separator is comma \",\" instead of dot \".\") I cannot introduce comma nor dot. This not happens on emulator with android 10. A customer has realized using a HUAWEI P Smart (Android 9). Same behaviour: cannot type comma nor dot when device language is set to Spanish.", "updateAuthor": { "name": "rfarfan", "key": "rfarfan", "displayName": "Rodrigo Farfán", "active": true, "timeZone": "Europe/Madrid" }, "created": "2020-11-30T14:15:41.000+0000", "updated": "2020-11-30T14:15:41.000+0000" }, { "id": "457738", "author": { "name": "rfarfan", "key": "rfarfan", "displayName": "Rodrigo Farfán", "active": true, "timeZone": "Europe/Madrid" }, "body": "Forget about HUAWEI. Issue is present with Samsung devices and SDK 9.2.2.GA", "updateAuthor": { "name": "rfarfan", "key": "rfarfan", "displayName": "Rodrigo Farfán", "active": true, "timeZone": "Europe/Madrid" }, "created": "2020-11-30T14:54:14.000+0000", "updated": "2020-11-30T14:54:14.000+0000" }, { "id": "457750", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~rfarfan], I can't reproduce this on my devices with Spain Spanish.\r\n\r\nCan you give me some more details please?\r\n* Does the virtual keyboard show the \",\" character?\r\n* Or is the issue that entering the \",\" does not appear in the TextField?\r\n* Does this issue happen on your Huawei or Samsung device with other European locales such as German, French, etc.?\r\n* What was the behavior before Titanium 9.2.0? (I'm pretty sure it never worked before since this tickets is supposed to make the TextField honor the current locale.)\r\n\r\nI suspect it's an issue with your Huawei or Samsung device having a custom virtual keyboard (not made by Google) that's either not showing the decimal character or its producing a separator character not matching what's expected. Such as a unicode decimal character instead of an ASCII character. It's hard to tell at the moment.", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-12-02T03:30:17.000+0000", "updated": "2020-12-02T03:30:17.000+0000" }, { "id": "457759", "author": { "name": "rfarfan", "key": "rfarfan", "displayName": "Rodrigo Farfán", "active": true, "timeZone": "Europe/Madrid" }, "body": "Hello Joshua and thanks for your answer. I also suspect that it's an issue with Samsung device. In the next screenshots you can see the samsung keyboard for English, Spanish and French (respectively):\r\n\r\n!https://www.dropbox.com/s/0pn0yrjvvzskmrb/Samsung-S10-SDK-9.2.2.GA-en.png?dl=0!\r\n!https://www.dropbox.com/s/n9g1rf35ke3bhfr/Samsung-S10-SDK-9.2.2.GA-es.png?dl=0!\r\n!https://www.dropbox.com/s/68p8n6asdldh5p8/Samsung-S10-SDK-9.2.2.GA-fr.png?dl=0!\r\n\r\nSo, the \",\" is shown in the virtual keyboard, but I cannot tap on it for any of the languages. Furthermore, the background doesn't react when I tap on it. I mean that when I tap on any other virtual key, the background highlights, but not for the \",\" key. When the device is in English, I can tap the dot (.) and it types on the TextField. When I switch to Spanish or French, I can tap too, but the character is not typed in the TextField.\r\n\r\nBuilding the same test app with SDK 8.3.1.GA, I can type the dot (.) as decimal separator for Spanish, what is not actually the proper locale, but at least I can type decimal numbers. It seems to be a problem with Samsung (https://stackoverflow.com/questions/3821539/decimal-separator-comma-with-numberdecimal-inputtype-in-edittext).", "updateAuthor": { "name": "rfarfan", "key": "rfarfan", "displayName": "Rodrigo Farfán", "active": true, "timeZone": "Europe/Madrid" }, "created": "2020-12-02T11:58:09.000+0000", "updated": "2020-12-02T11:58:09.000+0000" }, { "id": "457768", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Thanks for the info [~rfarfan].\r\n\r\nI'm looking for someone on my end who can reproduce it.\r\n\r\nIf I were to guess, it sounds like when you tap on the \",\" on a Huawei/Samsung virtual keyboard, it's generating a totally different character and it's getting filtered out. I'm worried that tapping \",\" is generating a \".\" instead, which is a thousands separator for your locale and would definitely be filtered out. If that's the case, I'm not sure what we can do about it. We don't want to simply replace \".\" with \",\" since copy-and-pasting numeric text such as \"1.234,5\" would end up being \"1,2345\" (a radically different number). Hmm...", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-12-03T02:25:52.000+0000", "updated": "2020-12-03T02:25:52.000+0000" }, { "id": "457890", "author": { "name": "michael", "key": "michael", "displayName": "Michael Gangolf", "active": true, "timeZone": "Europe/Berlin" }, "body": "I have the same issue with Samsung phones, DECIMAL and German default lang:\r\nSamsung displays *.-* (dot, dash) on the right side as a key but I can't press it because it should be a comma for German decimal numbers.\r\n\r\nA Pixel 4 is working fine. There I have a dot and a comma but only the comma works.", "updateAuthor": { "name": "michael", "key": "michael", "displayName": "Michael Gangolf", "active": true, "timeZone": "Europe/Berlin" }, "created": "2020-12-15T08:45:26.000+0000", "updated": "2020-12-15T08:45:26.000+0000" }, { "id": "457900", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "We were able to reproduce this on 1 Samsung device on our end. It looks like tapping on \",\" is sending the \".\" instead, causing it to be filtered-out. It looks like a bug in Samsung's virtual keyboard. The problem is what to do with it since we need to allow copy-and-paste of localized numeric strings where the \".\" needs to be treated as a thousands separator. Hmm...", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-12-15T16:45:49.000+0000", "updated": "2020-12-15T16:45:49.000+0000" }, { "id": "457902", "author": { "name": "michael", "key": "michael", "displayName": "Michael Gangolf", "active": true, "timeZone": "Europe/Berlin" }, "body": "!https://migaweb.de/ti_keyboard.jpg!\r\n\r\nI wish I had a comma :) Very strange bug. Sending a comma with adb works fine, so yes the dot get's filtered out because of German locales.\r\n\r\nPerhaps a workaround would be to allow dot and comma, so at least a user can type it and then the dev is responsible to convert it before working with it.\r\n\r\nI use a \"type phone\" keyboard as a workaround. Samsung is fine but the stock keyboard will show a \"dot\" now and you can add multiple dots or a dash now. But at least you can input decimal values again ;-)", "updateAuthor": { "name": "michael", "key": "michael", "displayName": "Michael Gangolf", "active": true, "timeZone": "Europe/Berlin" }, "created": "2020-12-15T17:25:13.000+0000", "updated": "2020-12-15T17:25:13.000+0000" }, { "id": "457903", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "The thing is we don't have much control over the virtual keyboard. The TextField (ie: the Java EditText) specifies it wants a numeric keyboard, but the stock Samsung virtual numeric keyboard isn't localized.\r\n\r\nWe could substitute the \".\" character with \",\" in this case, but we don't want to do this when text is being copy-and-pasted or if the string is being assigned programmatically.", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-12-15T17:37:46.000+0000", "updated": "2020-12-15T17:37:46.000+0000" }, { "id": "457949", "author": { "name": "rfarfan", "key": "rfarfan", "displayName": "Rodrigo Farfán", "active": true, "timeZone": "Europe/Madrid" }, "body": "I 100% understand your point. As Spanish, we have to face this l10n issue all the time and in all the platforms. I also agree that this is an issue with Samsung extra UI layer. I don't know how Michael Gangolf nor Hans Knöchel do with their apps in German, but what I usually do is just display localized (using a Label) but edit non-localized, I mean, just using point as decimal separator and no separator for thousands (same as a simple calculator). Most users understand that they must type a point as decimal separator. In web apps, we can override key events to transform commas in points. The \"problem\" here is that we want to show a proper keyboard for decimal typing, not a QWERTY keyboard.\r\n\r\nWhat can we do? We have an app on which the user has to type a decimal number but cannot if using a Samsung device. The only way to solve shouldn't be just downgrade the SDK", "updateAuthor": { "name": "rfarfan", "key": "rfarfan", "displayName": "Rodrigo Farfán", "active": true, "timeZone": "Europe/Madrid" }, "created": "2020-12-22T17:56:05.000+0000", "updated": "2020-12-22T17:56:05.000+0000" }, { "id": "457950", "author": { "name": "rfarfan", "key": "rfarfan", "displayName": "Rodrigo Farfán", "active": true, "timeZone": "Europe/Madrid" }, "body": "I've checking Google Sheets on my Samsung and it displays a numeric keyboard with both, comma and dot (actually \",\" and \".-\") buttons, when editing a cell. But only \".-\" works and types a \".\" in the cell, as it considers that decimal numbers have \".\" as decimal separator, despite the language (my phone is in Spanish and Google Sheets app displays all the info and menus in Spanish).\r\n\r\nThat would be a valid solution for me. Now I just have to find the way to force the keyboard to \"think\" that the device is in English so that is accepts \".\" as separator. I'll will update here if found.", "updateAuthor": { "name": "rfarfan", "key": "rfarfan", "displayName": "Rodrigo Farfán", "active": true, "timeZone": "Europe/Madrid" }, "created": "2020-12-22T18:19:08.000+0000", "updated": "2020-12-22T18:19:08.000+0000" }, { "id": "457997", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~rfarfan], [~michael], I've written a new ticket for this issue here: [TIMOB-28312]", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2021-01-13T00:53:55.000+0000", "updated": "2021-01-13T00:53:55.000+0000" } ], "maxResults": 28, "total": 28, "startAt": 0 } } }