{ "id": "120202", "key": "TIMOB-15283", "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": "15695", "description": "2013 Sprint 20", "name": "2013 Sprint 20", "archived": true, "released": true, "releaseDate": "2013-10-04" }, { "id": "15696", "description": "2013 Sprint 20 API", "name": "2013 Sprint 20 API", "archived": true, "released": true, "releaseDate": "2013-10-04" }, { "id": "15747", "description": "Release 3.1.4", "name": "Release 3.1.4", "archived": true, "released": false }, { "id": "14982", "description": "Release 3.2.0", "name": "Release 3.2.0", "archived": false, "released": true, "releaseDate": "2013-12-19" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2013-09-26T21:26:35.000+0000", "created": "2013-09-19T14:55:18.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [ "focus", "module_SplitWindow", "module_window", "qe-closed-3.1.4", "qe-testadded", "regression" ], "versions": [], "issuelinks": [], "assignee": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "updated": "2013-09-27T21:27:53.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": "This is a regression introduced in Ti SDK 3.1.3.GA (works fine in previous versions including 3.1.3.v20130910153050). SplitWindow on iPad does not fire focus events.\r\n\r\nSteps to reproduce:\r\n1. Run the attached app.js in iPad Simulator with Ti SDK 3.1.3.GA.\r\n2. Rotate to landscape orientation.\r\n3. After the initial alert, tab Tab 1 or Tab 2 and notice the focus events do not fire as expected.\r\n\r\nFollow the same steps using Ti SDK 3.1.3.v20130910153050 and notice the focus events DO fire in step 4. ", "attachment": [ { "id": "42618", "filename": "app.js", "author": { "name": "slim.mckins", "key": "slim.mckins", "displayName": "Slim McKinsley", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-09-19T14:55:18.000+0000", "size": 781, "mimeType": "application/x-javascript" } ], "flagged": false, "summary": "iOS: SplitWindow does not respond to focus events", "creator": { "name": "slim.mckins", "key": "slim.mckins", "displayName": "Slim McKinsley", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "slim.mckins", "key": "slim.mckins", "displayName": "Slim McKinsley", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "Mac OS X 10.8.5, iOS 7, Ti SDK 3.1.3.GA, iPad Simulator", "comment": { "comments": [ { "id": "271932", "author": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Test Code is invalid but the bug is valid.\nSplitWindow treats its master and detail windows as view proxies instead of window proxies. Hence no focus and blur events are fired. Need to fix this.", "updateAuthor": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2013-09-19T17:08:10.000+0000", "updated": "2013-09-19T17:08:10.000+0000" }, { "id": "271933", "author": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Verified occurs with 3.1.3.GA in iPad retina simulator 7 with iOS 7 and Xcode 5 GM.\n\nVerified does not occur with 3.1.2.GA in iPad Retina simulator 6.1 with Xcode 5 GM.\n\n ", "updateAuthor": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-09-19T17:15:57.000+0000", "updated": "2013-09-19T17:15:57.000+0000" }, { "id": "272083", "author": { "name": "slim.mckins", "key": "slim.mckins", "displayName": "Slim McKinsley", "active": true, "timeZone": "America/Los_Angeles" }, "body": "@Vishal, what's invalid about the test code? Should I not open the tabGroup before adding it to the SplitWindow? What's the proper way to do it?", "updateAuthor": { "name": "slim.mckins", "key": "slim.mckins", "displayName": "Slim McKinsley", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-09-20T06:51:22.000+0000", "updated": "2013-09-20T06:51:22.000+0000" }, { "id": "272585", "author": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~slim.mckins] I think the comment is related to the fact that either the splitWindow or the tab group should be the top view controller. ", "updateAuthor": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-09-24T00:45:34.000+0000", "updated": "2013-09-24T00:45:34.000+0000" }, { "id": "272999", "author": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "body": "@[~slim.mckins]\nYes you should not be calling open on the tabGroup. Since it is managed by the SplitWindow it is the responsibility of the SplitWindow to open it properly.", "updateAuthor": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2013-09-26T17:54:06.000+0000", "updated": "2013-09-26T17:54:06.000+0000" }, { "id": "273034", "author": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Test Case With TabGroup and NavWindow and popover functionality\n{code}\nvar tabGroup = Ti.UI.createTabGroup();\n\nvar tabWindow1 = Ti.UI.createWindow({\n backgroundColor: 'red'\n});\n\nvar tabWindow2 = Ti.UI.createWindow({\n backgroundColor: 'pink'\n});\n\ntabWindow1.addEventListener('focus', function(e) {\n Ti.API.info('tabWindow1 FOCUS');\n});\n\ntabWindow1.addEventListener('blur', function(e) {\n Ti.API.info('tabWindow1 BLUR');\n});\n\ntabWindow2.addEventListener('focus', function(e) {\n Ti.API.info('tabWindow2 FOCUS');\n});\n\ntabWindow2.addEventListener('blur', function(e) {\n Ti.API.info('tabWindow2 BLUR');\n});\n\nvar tab1 = Ti.UI.createTab({\n tintColor: 'black',\n title: 'Tab 1',\n window: tabWindow1\n});\n\nvar tab2 = Ti.UI.createTab({\n tintColor: 'black',\n title: 'Tab 2',\n window: tabWindow2\n});\n\ntabGroup.addTab(tab1);\ntabGroup.addTab(tab2);\n\n\nvar detailWindow = Ti.UI.createWindow({\n backgroundColor: 'gray'\n});\n\nvar navWindow = Ti.UI.iOS.createNavigationWindow({\n window: detailWindow\n})\n\nvar splitWindow = Ti.UI.iPad.createSplitWindow({\n detailView: navWindow,\n masterView: tabGroup,\n}); \n \nsplitWindow.addEventListener('visible',function(e){\n if (e.view == 'detail') {\n e.button.title = \"Popover\";\n detailWindow.leftNavButton = e.button;\n }\n else if (e.view == 'master') {\n detailWindow.leftNavButton = null;\n }\n})\n\nsplitWindow.open();\n{code}", "updateAuthor": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2013-09-26T20:30:18.000+0000", "updated": "2013-09-26T20:30:18.000+0000" }, { "id": "273036", "author": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Pull pending\r\nmaster - https://github.com/appcelerator/titanium_mobile/pull/4740\r\n3_1_X - https://github.com/appcelerator/titanium_mobile/pull/4741", "updateAuthor": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2013-09-26T20:34:50.000+0000", "updated": "2013-09-26T20:38:57.000+0000" }, { "id": "273247", "author": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Tested and verified respond to focus events with:\nAppcelerator Studio, build: 3.1.3.201309132456\nTitanium SDK, build: 3.1.4.v20130926144546\nCLI 3.1.2\nAlloy 1.2.2\nDevice:\niPad mini iOS 7.0.2 (11A501)", "updateAuthor": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-09-27T20:55:28.000+0000", "updated": "2013-09-27T20:55:28.000+0000" } ], "maxResults": 8, "total": 8, "startAt": 0 } } }