{ "id": "111575", "key": "TIMOB-13177", "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": "15397", "description": "2013 Soprint 07 API", "name": "2013 Sprint 07 API", "archived": true, "released": true, "releaseDate": "2013-04-08" }, { "id": "15105", "description": "2013 Sprint 07", "name": "2013 Sprint 07", "archived": true, "released": true, "releaseDate": "2013-04-08" } ], "resolution": { "id": "2", "description": "The problem described is an issue which will never be fixed.", "name": "Won't Fix" }, "resolutiondate": "2013-03-25T20:46:35.000+0000", "created": "2013-03-23T19:56:05.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "ios", "parity", "qe-sdk3.1.0" ], "versions": [ { "id": "14162", "description": "Release 3.1.0", "name": "Release 3.1.0", "archived": true, "released": true, "releaseDate": "2013-04-16" } ], "issuelinks": [ { "id": "26918", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "110926", "key": "TIMOB-13020", "fields": { "summary": "Android: applyProperties should be atomic for UI actions", "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": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } } ], "assignee": { "name": "blainhamon", "key": "blainhamon", "displayName": "Blain Hamon", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2013-04-01T20:56:50.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": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "Tapping the button shows the view flickering not just from top left to bottom right as it should be, but random places.\r\n\r\nDescription:\r\n1. Run the following code:\r\n{code}\r\n// this sets the background color of the master UIView (when there are no windows/tab groups on it)\r\nTitanium.UI.setBackgroundColor('#000');\r\n \r\n// create tab group\r\nvar tabGroup = Titanium.UI.createTabGroup();\r\n \r\n// create base UI tab and root window\r\nvar win1 = Titanium.UI.createWindow({ \r\n title:'Tab 1',\r\n backgroundColor:'#fff'\r\n});\r\nvar tab1 = Titanium.UI.createTab({ \r\n icon:'KS_nav_views.png',\r\n title:'Tab 1',\r\n window:win1\r\n});\r\n \r\nvar label1 = Titanium.UI.createLabel({\r\n color:'#999',\r\n text:'I am Window 1',\r\n font:{fontSize:20,fontFamily:'Helvetica Neue'},\r\n textAlign:'center',\r\n width:'auto'\r\n});\r\n \r\nwin1.add(label1);\r\n \r\nvar viewy = Ti.UI.createView({width:100, height:100, top: 50, left: 50, backgroundColor:'#f00'});\r\n \r\nfunction doWork(){\r\n viewy.applyProperties({top:150,left:150});\r\n viewy.applyProperties({top:50,left:50});\r\n}\r\n \r\nwin1.add(viewy);\r\n \r\nvar btn1 = Ti.UI.createButton({width:200,height:60,left:10,top:410,title:'Test!'});\r\nwin1.add(btn1);\r\nbtn1.addEventListener('click',function(){\r\n label1.text = 'Testing...';\r\n var startTime = Date.now();\r\n for(i=0;i<1000;i++){\r\n doWork();\r\n }\r\n var endTime = Date.now();\r\n label1.text = 'This command USED TO take '+(endTime-startTime)+' microsecs.';\r\n Ti.API.debug(label1.text); \r\n})\r\n \r\n \r\n//\r\n// create controls tab and root window\r\n//\r\nvar win2 = Titanium.UI.createWindow({ \r\n title:'Tab 2',\r\n backgroundColor:'#fff'\r\n});\r\nvar tab2 = Titanium.UI.createTab({ \r\n icon:'KS_nav_ui.png',\r\n title:'Tab 2',\r\n window:win2\r\n});\r\n \r\nvar label2 = Titanium.UI.createLabel({\r\n color:'#999',\r\n text:'I am Window 2',\r\n font:{fontSize:20,fontFamily:'Helvetica Neue'},\r\n textAlign:'center',\r\n width:'auto'\r\n});\r\n \r\nwin2.add(label2);\r\ntabGroup.addTab(tab1); \r\ntabGroup.addTab(tab2); \r\ntabGroup.open();\r\n\r\n{code}\r\n2. Tap on \"Test!\" button \r\n\r\nActual result:\r\n2. The view is flickering allover the screen\r\n\r\nExpected result:\r\n2. The view should flicker from top left to bottom right on each tap.", "attachment": [], "flagged": false, "summary": "iOS: Parity - view properties are not applying correctly on iOS", "creator": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "Titanium Studio, build: 3.1.0.201303230404\r\nTitanium SDK, build: 3.1.0.v20130322171500\r\nDevice:\r\niPhone5 iOS 6.0", "comment": { "comments": [ { "id": "243990", "author": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "body": "applyProperties does not guarantee a sync with the UI thread.\r\nEssentially the way the code is written, when the UI thread kicks in to relayout the view can be at any of the 4 possible positions (50,50), (50,150), (150, 50) or (150,150)\r\n\r\nThe fact that the view always returns to (50,50) proves that applyProperties is in fact working correctly.", "updateAuthor": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2013-03-25T20:46:35.000+0000", "updated": "2013-03-25T20:46:35.000+0000" }, { "id": "244235", "author": { "name": "blainhamon", "key": "blainhamon", "displayName": "Blain Hamon", "active": true, "timeZone": "America/Los_Angeles" }, "updateAuthor": { "name": "blainhamon", "key": "blainhamon", "displayName": "Blain Hamon", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-03-27T01:31:08.000+0000", "updated": "2013-03-27T01:31:08.000+0000" }, { "id": "244995", "author": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "body": "So are we closing as won't fix?", "updateAuthor": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-04-01T20:56:50.000+0000", "updated": "2013-04-01T20:56:50.000+0000" } ], "maxResults": 3, "total": 3, "startAt": 0 } } }