{ "id": "139362", "key": "TIMOB-17998", "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": "17684", "name": "Release 5.2.1", "archived": false, "released": true, "releaseDate": "2016-03-25" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2016-02-23T17:48:17.000+0000", "created": "2014-11-10T23:04:52.000+0000", "priority": { "name": "Low", "id": "4" }, "labels": [ "qe-3.4.1", "qe-3.5.0" ], "versions": [ { "id": "16676", "description": "Release 3.4.1", "name": "Release 3.4.1", "archived": false, "released": true, "releaseDate": "2014-11-14" }, { "id": "16704", "description": "Release 3.5.0", "name": "Release 3.5.0", "archived": false, "released": true, "releaseDate": "2015-01-13" } ], "issuelinks": [ { "id": "50671", "type": { "id": "10122", "name": "Gantt: start-finish", "inward": "is triggered by", "outward": "is triggering" }, "outwardIssue": { "id": "155065", "key": "TIMOB-20441", "fields": { "summary": "Android: Implement TimePicker with `minuteInterval` property", "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": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } }, { "id": "50681", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "151796", "key": "TIMOB-19822", "fields": { "summary": "Android: Picker spinner columns and its items are not sized/positioned correctly on Android 5.0 and higher", "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": "High", "id": "2" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "msamah", "key": "msamah", "displayName": "Ashraf Abu", "active": false, "timeZone": "Asia/Singapore" }, "updated": "2016-03-03T18:22:29.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": "h5.Description\r\n\r\nOn an Android L device when using a two column picker the selection indicator and the selected item do not line up and the selected item appears lower than the indicator.\r\n\r\nThis only happens on a Android L device, on a 4.4.2 device the two match up correctly.\r\n\r\nh5.Steps To Reproduce\r\n\r\n1. Add the attached app.js to a project.\r\n2. Build to \r\n\r\nh5.Actual Result\r\n\r\nThe application matches screenshot AndroidLPicker\r\n\r\nh5.Expected Result\r\n\r\nThe application should match screenshot 442Picker", "attachment": [ { "id": "52448", "filename": "442Picker.png", "author": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "created": "2014-11-10T23:04:52.000+0000", "size": 93643, "mimeType": "image/png" }, { "id": "58022", "filename": "Android 4.4.4.png", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-01-19T17:53:58.000+0000", "size": 69919, "mimeType": "image/png" }, { "id": "58021", "filename": "Android 6.0.png", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-01-19T17:54:00.000+0000", "size": 47034, "mimeType": "image/png" }, { "id": "52449", "filename": "AndroidLPicker.png", "author": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "created": "2014-11-10T23:04:52.000+0000", "size": 86559, "mimeType": "image/png" }, { "id": "52447", "filename": "app.js", "author": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "created": "2014-11-10T23:04:52.000+0000", "size": 886, "mimeType": "text/javascript" } ], "flagged": false, "summary": "Android 5.0: In a two column picker the selection indicator does not match the postion of the selected item", "creator": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "subtasks": [], "reporter": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "environment": "Mac OSX 10.10\r\nAppcelerator Studio, build: 3.4.1.201410281743\r\nTitanium SDK build: 3.4.1.v20141107144118\r\nTitanium CLI, build: 3.4.1-alpha\r\nAlloy: 1.5.1\r\nNexus 5 (5.0 preview), Nexus 9 (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 }, { "id": 574, "state": "closed", "name": "2016 Sprint 4 SDK", "startDate": "2016-02-13T01:33:48.415Z", "endDate": "2016-02-27T01:33:00.000Z", "completeDate": "2016-02-29T03:44:48.886Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "331934", "author": { "name": "hpham", "key": "hpham", "displayName": "Hieu Pham", "active": true, "timeZone": "America/Los_Angeles" }, "body": "master PR: https://github.com/appcelerator/titanium_mobile/pull/6340", "updateAuthor": { "name": "hpham", "key": "hpham", "displayName": "Hieu Pham", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-11-13T00:25:51.000+0000", "updated": "2014-11-13T00:25:51.000+0000" }, { "id": "335414", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "This issue is reproducible with latest 3.5.0 SDK.\r\n\r\nEnvironment:\r\nAppc Studio : 3.4.1.201410281743\r\nTi SDK : 3.5.0.v20141208092926\r\nCLI : 3.4.1\r\nAlloy : 1.5.1 GA\r\nCode Processor : 1.1.1\r\nMAC Yosemite : 10.10\r\nNexus 5 - Android 5.0\r\nNexus 9 - Android 5.0.1", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-12-08T19:07:27.000+0000", "updated": "2014-12-08T19:07:27.000+0000" }, { "id": "339881", "author": { "name": "mokesmokes", "key": "mokesmokes", "displayName": "Mark Mokryn", "active": true, "timeZone": "Asia/Jerusalem" }, "updateAuthor": { "name": "mokesmokes", "key": "mokesmokes", "displayName": "Mark Mokryn", "active": true, "timeZone": "Asia/Jerusalem" }, "created": "2015-01-20T13:31:37.000+0000", "updated": "2015-01-20T13:31:37.000+0000" }, { "id": "339893", "author": { "name": "jsplaine", "key": "jsplaine", "displayName": "jay splaine", "active": true, "timeZone": "America/New_York" }, "body": "Is this related or shall I open a new ticket? \r\nThe column heights DO match when format24 = false (no am/pm column).\r\n\r\n3.5.0.GA\r\nLolipop preview emulator\r\n\r\n!http://i.imgur.com/wJJNlj3.png!\r\n\r\nTi.UI.backgroundColor = 'white';\r\n\r\nvar win = Ti.UI.createWindow({\r\n exitOnClose : true,\r\n layout : 'vertical'\r\n});\r\n \r\nvar picker = Ti.UI.createPicker({\r\n font: { fontWeight : 'bold', fontSize : 45 },\r\n type : Ti.UI.PICKER_TYPE_TIME,\r\n format24 : false,\r\n top : 150,\r\n left : 75,\r\n width : Ti.UI.FILL,\r\n useSpinner : true,\r\n});\r\n \r\nwin.add(picker);\r\nwin.open();", "updateAuthor": { "name": "jsplaine", "key": "jsplaine", "displayName": "jay splaine", "active": true, "timeZone": "America/New_York" }, "created": "2015-01-20T15:34:01.000+0000", "updated": "2015-01-20T15:34:01.000+0000" }, { "id": "339894", "author": { "name": "mokesmokes", "key": "mokesmokes", "displayName": "Mark Mokryn", "active": true, "timeZone": "Asia/Jerusalem" }, "body": "As I wrote, in 3.6.0 we will be using Appcompat to generate the picker, so the underlying Android implementation will change. So you should check these issues on 3.6.0 with this PR: https://github.com/appcelerator/titanium_mobile/pull/6552 - which will be accepted at some point.", "updateAuthor": { "name": "mokesmokes", "key": "mokesmokes", "displayName": "Mark Mokryn", "active": true, "timeZone": "Asia/Jerusalem" }, "created": "2015-01-20T15:41:44.000+0000", "updated": "2015-01-20T15:41:44.000+0000" }, { "id": "339895", "author": { "name": "jsplaine", "key": "jsplaine", "displayName": "jay splaine", "active": true, "timeZone": "America/New_York" }, "body": "Thanks. Note, the reason why we use 'useSpinner' is because minuteInterval doesn't work without it. \r\n\r\nWill the AppCompat picker support minuteInterval?\r\n\r\n", "updateAuthor": { "name": "jsplaine", "key": "jsplaine", "displayName": "jay splaine", "active": true, "timeZone": "America/New_York" }, "created": "2015-01-20T15:48:09.000+0000", "updated": "2015-01-20T15:48:09.000+0000" }, { "id": "339896", "author": { "name": "mokesmokes", "key": "mokesmokes", "displayName": "Mark Mokryn", "active": true, "timeZone": "Asia/Jerusalem" }, "body": "The API is not changing, just the internal Android implementation.", "updateAuthor": { "name": "mokesmokes", "key": "mokesmokes", "displayName": "Mark Mokryn", "active": true, "timeZone": "Asia/Jerusalem" }, "created": "2015-01-20T15:52:13.000+0000", "updated": "2015-01-20T15:52:13.000+0000" }, { "id": "367188", "author": { "name": "jsplaine", "key": "jsplaine", "displayName": "jay splaine", "active": true, "timeZone": "America/New_York" }, "updateAuthor": { "name": "jsplaine", "key": "jsplaine", "displayName": "jay splaine", "active": true, "timeZone": "America/New_York" }, "created": "2015-10-19T18:40:46.000+0000", "updated": "2015-10-19T18:50:43.000+0000" }, { "id": "367531", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Marking for 5.3.0 since it is already in a Sprint.", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-10-22T13:31:14.000+0000", "updated": "2015-10-22T13:31:14.000+0000" }, { "id": "371982", "author": { "name": "msamah", "key": "msamah", "displayName": "Ashraf Abu", "active": false, "timeZone": "Asia/Singapore" }, "body": "PR https://github.com/appcelerator/titanium_mobile/pull/7525 was merged.", "updateAuthor": { "name": "msamah", "key": "msamah", "displayName": "Ashraf Abu", "active": false, "timeZone": "Asia/Singapore" }, "created": "2015-12-03T00:50:34.000+0000", "updated": "2015-12-03T00:50:34.000+0000" }, { "id": "374840", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I see the following while verifying the fix:\r\n1. On Android 6.0 the selection indicator is not exactly in the center for some selected items(You can this by changing the setSelectedRow property in the code). Also, the height of the picker for column1 changes with different setSelectedRow selections. \r\n2. On android 4.4.4 this is not the case, the indicator is in the center of the selected item. \r\n\r\nAttached screenshot for reference(Android 6.0.png & android 4.4.4.png).\r\n\r\n{code}\r\nTi.UI.backgroundColor = 'white';\r\nvar win = Ti.UI.createWindow({\r\n exitOnClose: true,\r\n layout: 'vertical'\r\n});\r\n \r\nvar picker = Ti.UI.createPicker({\r\n top:50,\r\n useSpinner: true\r\n});\r\npicker.selectionIndicator = true;\r\n \r\nvar fruit = [ 'Bananas', 'Strawberries', 'Mangos', 'Grapes' ];\r\nvar color = [ 'red', 'green', 'blue', 'orange' ];\r\n \r\nvar column1 = Ti.UI.createPickerColumn();\r\n \r\nfor(var i=0, ilen=fruit.length; i