{ "id": "171647", "key": "TIMOB-26035", "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": [], "resolution": null, "resolutiondate": null, "created": "2018-05-11T19:52:04.000+0000", "priority": null, "labels": [], "versions": [ { "id": "20102", "name": "Release 7.1.1", "archived": false, "released": true, "releaseDate": "2018-05-02" } ], "issuelinks": [], "assignee": { "name": "amukherjee", "key": "amukherjee", "displayName": "Abir Mukherjee", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2018-05-16T21:58:11.000+0000", "status": { "description": "The issue is open and ready for the assignee to start work on it.", "name": "Open", "id": "1", "statusCategory": { "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } }, "components": [ { "id": "10202", "name": "Android", "description": "Android Platform" } ], "description": "h3. Steps to Reproduce\r\nCreate a picker in android project\r\n\r\nh3. Actual Result\r\nWhen using the Picker element we are receiving the following warning:\"PickerProxy: the useSpinner property is deprecated, see the documentation for more information\". At any time we are establishing this property and it is causing the application to freeze\r\n\r\nh3. Expected Result\r\n--", "attachment": [ { "id": "65153", "filename": ".log", "author": { "name": "glvelazco", "key": "glvelazco", "displayName": "Gilberto Lopez Velazco", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-05-11T19:52:19.000+0000", "size": 4132455, "mimeType": "text/plain" }, { "id": "65154", "filename": "diagnostic6285184800303355054.log", "author": { "name": "glvelazco", "key": "glvelazco", "displayName": "Gilberto Lopez Velazco", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-05-11T19:52:34.000+0000", "size": 341548, "mimeType": "text/plain" } ], "flagged": false, "summary": "Android: Application freezes when using \"useSpinner\" in Ti.UI.Picker", "creator": { "name": "glvelazco", "key": "glvelazco", "displayName": "Gilberto Lopez Velazco", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "glvelazco", "key": "glvelazco", "displayName": "Gilberto Lopez Velazco", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "Appcelerator Studio 5.0.0\r\nMac Os Sierra 10.12.6\r\nAppcelerator SDK 7.1.1.GA\r\nAppcelerator CLI 7.0.3\r\nNode v9.2.1\r\nJava 1.8.0_131", "comment": { "comments": [ { "id": "437590", "author": { "name": "amukherjee", "key": "amukherjee", "displayName": "Abir Mukherjee", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~lchoudhary] Can you please see if you can reproduce with GA components?", "updateAuthor": { "name": "amukherjee", "key": "amukherjee", "displayName": "Abir Mukherjee", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-05-11T22:05:24.000+0000", "updated": "2018-05-11T22:05:24.000+0000" }, { "id": "437594", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~amukherjee], I am not able to reproduce the issue. I see no app freeze.\r\nUsed the code below:\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\tuseSpinner: true,\r\n top:50\r\n});\r\n\r\nvar data = [];\r\ndata[0]=Ti.UI.createPickerRow({title:'Bananas'});\r\ndata[1]=Ti.UI.createPickerRow({title:'Strawberries'});\r\ndata[2]=Ti.UI.createPickerRow({title:'Mangos'});\r\ndata[3]=Ti.UI.createPickerRow({title:'Grapes'});\r\n\r\npicker.add(data);\r\npicker.selectionIndicator = true;\r\n\r\nwin.add(picker);\r\nwin.open();\r\n\r\n// must be after picker has been displayed\r\npicker.setSelectedRow(0, 2, false); // select Mangos\r\n{code}\r\n\r\nStudio Ver: 5.1.0.201804230827\r\nSDK Ver: 7.1.1.GA\r\nOS Ver: 10.13.4\r\nXcode Ver: Xcode 9.3\r\nAppc NPM: 4.2.13\r\nAppc CLI: 7.0.3\r\nDaemon Ver: 1.1.1\r\nTi CLI Ver: 5.1.0\r\nAlloy Ver: 1.12.0\r\nNode Ver: 8.9.1\r\nNPM Ver: 5.5.1\r\nJava Ver: 10\r\nDevices: ⇨ google Nexus 6P --- Android 8.1.0\r\n ⇨ google Nexus 5 --- Android 6.0.1\r\nEmulator: ⇨ Android 4.1.2\r\n", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-05-11T22:48:21.000+0000", "updated": "2018-05-11T22:48:21.000+0000" }, { "id": "437596", "author": { "name": "amukherjee", "key": "amukherjee", "displayName": "Abir Mukherjee", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~glvelazco] do you have testcode or a test case we may use to reproduce the issue you see?", "updateAuthor": { "name": "amukherjee", "key": "amukherjee", "displayName": "Abir Mukherjee", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-05-11T23:30:07.000+0000", "updated": "2018-05-11T23:30:07.000+0000" }, { "id": "437657", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "If I set the picker type to {{Ti.UI.PICKER_TYPE_DATE_AND_TIME}}, then the app will hang on Android and the following warning will be logged...\r\n{code}\r\n[WARN] : PickerProxy: Date+Time timer not supported in Titanium for Android\r\n{code}\r\n\r\nFor example:\r\n{code:javascript}\r\nvar window = Ti.UI.createWindow();\r\nvar picker = Ti.UI.createPicker({\r\n\ttype: Ti.UI.PICKER_TYPE_DATE_AND_TIME,\r\n});\r\nwindow.add(picker);\r\nwindow.open();\r\n{code}\r\n\r\n[~glvelazco], is this what you're doing?", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-05-16T02:25:57.000+0000", "updated": "2018-05-16T02:25:57.000+0000" }, { "id": "437690", "author": { "name": "glvelazco", "key": "glvelazco", "displayName": "Gilberto Lopez Velazco", "active": true, "timeZone": "America/Los_Angeles" }, "body": "That is not what he is doing. I have a form that we need 5 pickers each with 100 numerical data. When the application is generated, I receive the warning \"PickerProxy: the useSpinner property is deprecated, check the documentation for more information\", but the useSpinner property is never set, the warning is cycled and the application freezes.\r\nThe data is like this : [100,105,110, .... ]", "updateAuthor": { "name": "glvelazco", "key": "glvelazco", "displayName": "Gilberto Lopez Velazco", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-05-16T15:01:45.000+0000", "updated": "2018-05-16T15:02:40.000+0000" }, { "id": "437701", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~glvelazco], we still can't reproduce this issue. I've tried the below which creates 5 pickers, each containing 200 rows. It doesn't hang. The app runs fine.\r\n\r\n{code:javascript}\r\nfunction createPicker() {\r\n\tvar maxItems = 200;\r\n\tvar rows = new Array(maxItems);\r\n\tfor (var index = 0; index < maxItems; index++) {\r\n\t\trows[index] = Ti.UI.createPickerRow({ title: index.toString() });\r\n\t}\r\n\tvar picker = Ti.UI.createPicker({\r\n\t\ttop: \"40dp\",\r\n\t\twidth: \"50%\",\r\n//\t\tuseSpinner: true,\r\n\t\tuseSpinner: false,\r\n\t});\r\n\tpicker.add(rows);\r\n\treturn picker;\r\n}\r\n\r\nvar window = Ti.UI.createWindow({ layout: \"vertical\" });\r\nwindow.add(createPicker());\r\nwindow.add(createPicker());\r\nwindow.add(createPicker());\r\nwindow.add(createPicker());\r\nwindow.add(createPicker());\r\nwindow.open();\r\n{code}\r\n\r\nNote that you will get a \"useSpinner property is deprecated\" warning message if {{useSpinner}} is set {{false}} as well. To avoid this message, simply omit the {{useSpinner}} property since it defaults to {{false}} anyways. That said, I think the {{useSpinner}} warning message is a red herring and not the cause of your issue.\r\n\r\nCan you provide us a reproducible test case please?\r\n\r\n", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-05-16T16:59:08.000+0000", "updated": "2018-05-16T16:59:08.000+0000" }, { "id": "437702", "author": { "name": "glvelazco", "key": "glvelazco", "displayName": "Gilberto Lopez Velazco", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I will try this, it is difficult to show how it is happening unless I send you a video", "updateAuthor": { "name": "glvelazco", "key": "glvelazco", "displayName": "Gilberto Lopez Velazco", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-05-16T17:06:36.000+0000", "updated": "2018-05-16T17:06:36.000+0000" }, { "id": "437703", "author": { "name": "glvelazco", "key": "glvelazco", "displayName": "Gilberto Lopez Velazco", "active": true, "timeZone": "America/Los_Angeles" }, "body": "As a comment, this did not happen before updating appcelerator", "updateAuthor": { "name": "glvelazco", "key": "glvelazco", "displayName": "Gilberto Lopez Velazco", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-05-16T17:08:41.000+0000", "updated": "2018-05-16T17:08:41.000+0000" }, { "id": "437704", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "If you comment out the picker, then does the issue go away?\r\nI say this because I suspect something else is the cause here. The logged warning message may be sending us on a wild goose chase.\r\n\r\nAre you updating a UI from the same UI's \"change\" event, which might cause it to be put into an infinite loop? I've tried this with a picker (select a different item within a picker's \"change\" event), but picker's don't have this issue. You may want to add logging messages in your listeners to isolate where the infinite loop is happening. That's the best advise I can give. Other than that, we're at a loss on how to reproduce your issue.", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-05-16T17:52:25.000+0000", "updated": "2018-05-16T17:52:25.000+0000" }, { "id": "437705", "author": { "name": "glvelazco", "key": "glvelazco", "displayName": "Gilberto Lopez Velazco", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Exactly! Comment on the part where the selector is shown works correctly.\r\n\r\nAdded screenshots.\r\n\r\n[without picker|https://drive.google.com/open?id=1cW0areq9QF9TE8_OT7yP5M7bcyXojOCI]\r\n[with pickers|https://drive.google.com/open?id=1XbnKn8JMbyt-mCglEFerQqrkAZdksGie]\r\n[with pickers, 4 minutes later|https://drive.google.com/open?id=1pY_tiiprSh-wUFFwD58Y-YljfMUosRuG]", "updateAuthor": { "name": "glvelazco", "key": "glvelazco", "displayName": "Gilberto Lopez Velazco", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-05-16T18:30:22.000+0000", "updated": "2018-05-16T18:30:22.000+0000" }, { "id": "437715", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Okay. I see you're using Alloy. Can you give us the XML you're using to set up the window and its pickers? Any code to go with it?\r\n\r\nAt the moment, we can't reproduce your issue.\r\nAnd nobody else (as far as we've seen) is having this issue either.\r\nWe need something or else we won't be able to help you.\r\n", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-05-16T21:58:11.000+0000", "updated": "2018-05-16T21:58:11.000+0000" } ], "maxResults": 11, "total": 11, "startAt": 0 } } }