{ "id": "81762", "key": "TIMOB-5817", "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": "16997", "name": "Release 5.2.0", "archived": false, "released": true, "releaseDate": "2016-02-23" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2015-11-24T21:22:04.000+0000", "created": "2011-10-20T01:18:34.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "module_textfield", "qe-manualtest", "qe-testadded" ], "versions": [ { "id": "12470", "description": "", "name": "Release 1.7.4", "archived": true, "released": true, "releaseDate": "2011-10-31" }, { "id": "11331", "description": "", "name": "Release 1.8.0", "archived": true, "released": true, "releaseDate": "2011-10-31" }, { "id": "16904", "description": "Release 5.0.2", "name": "Release 5.0.2", "archived": true, "released": true, "releaseDate": "2015-10-01" } ], "issuelinks": [], "assignee": { "name": "msamah", "key": "msamah", "displayName": "Ashraf Abu", "active": false, "timeZone": "Asia/Singapore" }, "updated": "2016-05-13T12:52:40.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": "h2. Problem\r\n\r\nNew minor version of Titanium SDK has a new look of numeric keyboard. \r\n\r\nThe problem is that it allows input of non-numeric values. \r\n\r\nh2. Test case\r\n\r\nHow to reproduce the issue:\r\n\r\nrun this example with 1.7.4 version of Titanium SDK, click on text field and type \"*\" or \"#\" symbol. You'll see that they are present in text field, while they shouldn't be present.\r\n\r\nCompile and run same example with 1.7.3 SDK version and try to do same thing. You'll see that you can't input \"*\" or \"#\" symbols (or any other that is not a number).\r\n\r\n\r\n{code}\r\nvar win = Ti.UI.createWindow({\r\n\tmodal: true,\r\n\tbackgroundColor: '#000'\r\n});\r\n\r\nvar textField = Ti.UI.createTextField({\r\n\twidth: 200,\r\n\tkeyboardType: Ti.UI.KEYBOARD_NUMBER_PAD\r\n});\r\n\r\nwin.add(textField);\r\n\r\nwin.open();\r\n{code}\r\n\r\n\r\nAlso, it would be nice if there was key in this new keyboard that would minimize keyboard (if that is possible).", "attachment": [], "flagged": false, "summary": "Android: keyboard type set as number pad permits input of non-numeric values", "creator": { "name": "ivan.skugor", "key": "ivan.skugor", "displayName": "Ivan Skugor", "active": true, "timeZone": "Europe/Amsterdam" }, "subtasks": [], "reporter": { "name": "ivan.skugor", "key": "ivan.skugor", "displayName": "Ivan Skugor", "active": true, "timeZone": "Europe/Amsterdam" }, "environment": "Titanium SDK 5.0.2.GA\r\nAndroid 5.0", "closedSprints": [ { "id": 529, "state": "closed", "name": "2015 Sprint 24 SDK", "startDate": "2015-11-21T01:30:12.670Z", "endDate": "2015-12-05T01:30:00.000Z", "completeDate": "2015-12-07T03:57:17.094Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "169777", "author": { "name": "ivan.skugor", "key": "ivan.skugor", "displayName": "Ivan Skugor", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "I forgot to mention, 1.8 has same issue.", "updateAuthor": { "name": "ivan.skugor", "key": "ivan.skugor", "displayName": "Ivan Skugor", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2011-10-20T01:21:14.000+0000", "updated": "2011-10-20T01:21:14.000+0000" }, { "id": "370051", "author": { "name": "msamah", "key": "msamah", "displayName": "Ashraf Abu", "active": false, "timeZone": "Asia/Singapore" }, "body": "PR: https://github.com/appcelerator/titanium_mobile/pull/7429", "updateAuthor": { "name": "msamah", "key": "msamah", "displayName": "Ashraf Abu", "active": false, "timeZone": "Asia/Singapore" }, "created": "2015-11-12T08:25:13.000+0000", "updated": "2015-11-12T08:25:13.000+0000" }, { "id": "370088", "author": { "name": "CollinPrice", "key": "collinprice", "displayName": "Collin Price", "active": true, "timeZone": "America/Toronto" }, "body": "This PR seems like an odd way of fixing what is clearly a bug. The documentation for KEYBOARD_NUMBER_PAD says: \"Use a keyboard with a number pad only\". While I like the idea of being able to customize the inputType on Android, shouldn't there be another keyboard type added such as KEYBOARD_CUSTOM where a user can then choose a custom inputType?", "updateAuthor": { "name": "CollinPrice", "key": "collinprice", "displayName": "Collin Price", "active": true, "timeZone": "America/Toronto" }, "created": "2015-11-12T14:20:01.000+0000", "updated": "2015-11-12T14:20:01.000+0000" }, { "id": "370163", "author": { "name": "msamah", "key": "msamah", "displayName": "Ashraf Abu", "active": false, "timeZone": "Asia/Singapore" }, "body": "[~CollinPrice] So would a better way be:-\r\nversion 1)\r\n{code}\r\nkeyboardType: Ti.UI.KEYBOARD_CUSTOM,\r\ninputType: [Ti.UI.INPUT_TYPE_CLASS_NUMBER, Ti.UI.INPUT_TYPE_CLASS_TEXT]\r\n{code}\r\n\r\nOR\r\nversion 2) where inputType will override in Android\r\n{code}\r\nkeyboardType: Ti.UI.KEYBOARD_NUMBER_PAD,\r\ninputType: [Ti.UI.INPUT_TYPE_CLASS_NUMBER, Ti.UI.INPUT_TYPE_CLASS_TEXT]\r\n{code}\r\n\r\nI think version 2 might be better to allow for iOS to continue using the correct keyboardType. If version 1 were to be implemented, iOS needs to be updated with CUSTOM type which might not be relevant to it.\r\n\r\nWhat do you think?", "updateAuthor": { "name": "msamah", "key": "msamah", "displayName": "Ashraf Abu", "active": false, "timeZone": "Asia/Singapore" }, "created": "2015-11-13T02:34:54.000+0000", "updated": "2015-11-13T02:34:54.000+0000" }, { "id": "370202", "author": { "name": "CollinPrice", "key": "collinprice", "displayName": "Collin Price", "active": true, "timeZone": "America/Toronto" }, "body": "Ultimately Ti.UI.KEYBOARD_NUMBER_PAD should work the same on both platforms without having to add an inputType for Android.\r\n\r\nI think inputType should be an Android only field and Ti.UI.KEYBOARD_CUSTOM be an Android only type.", "updateAuthor": { "name": "CollinPrice", "key": "collinprice", "displayName": "Collin Price", "active": true, "timeZone": "America/Toronto" }, "created": "2015-11-13T13:57:34.000+0000", "updated": "2015-11-13T13:57:34.000+0000" }, { "id": "374881", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Verified the fix.\r\nVerified the property input type with Ti.UI.INPUT_TYPE_CLASS_NUMBER & Ti.UI.INPUT_TYPE_CLASS_TEXT.\r\n\r\nClosing.\r\n\r\nEnvironment:\r\nAppc Studio : 4.5.0.201601131150\r\nTi SDK : 5.2.0.v20160114021251\r\nTi CLI : 5.0.5\r\nAlloy : 1.7.26\r\nMAC Yosemite : 10.10.5\r\nAppc NPM : 4.2.2\r\nAppc CLI : 5.1.0\r\nNode: v0.12.27\r\nOne Plus One: Android 5.1.1\r\nGenyMotion Emulator : Android 6.0", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-01-19T23:50:15.000+0000", "updated": "2016-01-19T23:50:15.000+0000" }, { "id": "377458", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "[~msamah] Shouldn't this be implemented for TextArea and possibly stuff like SearchBar as well?", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2016-02-21T09:50:53.000+0000", "updated": "2016-02-21T09:50:53.000+0000" }, { "id": "377465", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "[~msamah] Shouldn't the property be {{inputTypes}} (plural) now you can (must?) assign an array?", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2016-02-21T19:07:23.000+0000", "updated": "2016-02-21T19:07:23.000+0000" }, { "id": "382315", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "[~msamah] [~cng] ?? ^", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2016-04-11T13:18:35.000+0000", "updated": "2016-04-11T13:18:35.000+0000" }, { "id": "382393", "author": { "name": "msamah", "key": "msamah", "displayName": "Ashraf Abu", "active": false, "timeZone": "Asia/Singapore" }, "body": "With regards to TextArea and SearchBar, it could possibly be implemented. If required, please create a ticket for that.\r\nAnd for the property to be called `inputTypes`, would it be better?", "updateAuthor": { "name": "msamah", "key": "msamah", "displayName": "Ashraf Abu", "active": false, "timeZone": "Asia/Singapore" }, "created": "2016-04-12T02:36:02.000+0000", "updated": "2016-04-12T02:36:02.000+0000" }, { "id": "382437", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "[~msamah] I was asking about TextArea and other user text inputs in the light of parity between different APIs.\r\n\r\nAs for {{inputTypes}}; since it accepts multiple I'd think plural would make sense yes.", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2016-04-12T06:43:01.000+0000", "updated": "2016-04-12T06:43:01.000+0000" }, { "id": "385664", "author": { "name": "ivan.skugor", "key": "ivan.skugor", "displayName": "Ivan Skugor", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "Thanks for fixing this after 5 years :P :D\r\n\r\n\r\nBut solution is really messy. First of all, the solution should have been implement for all input fields that have \"keyboardType\" property, TextField was just used as example.\r\nSecondly, adding new property is not bug fix, it's new feature. We should have the same behaviour on both platforms!\r\n\r\nSo, if you want to really fix this, implement it on all input fields, set by default Ti.UI.INPUT_TYPE_CLASS_NUMBER when Ti.UI.KEYBOARD_NUMBER_PAD is used and leave \"inputType(s)\" as new feature in case someone wants to have it.\r\n\r\n\r\nThanks.", "updateAuthor": { "name": "ivan.skugor", "key": "ivan.skugor", "displayName": "Ivan Skugor", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2016-05-13T12:52:40.000+0000", "updated": "2016-05-13T12:52:40.000+0000" } ], "maxResults": 16, "total": 16, "startAt": 0 } } }