{ "id": "165108", "key": "AC-4691", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "12217", "key": "AC", "name": "Appcelerator - INBOX", "projectCategory": { "id": "10000", "description": "", "name": "Customer Service" } }, "resolution": { "id": "5", "description": "All attempts at reproducing this issue failed, or not enough information was available to reproduce the issue. Reading the code produces no clues as to why this behavior would occur. If more information appears later, please reopen the issue.", "name": "Cannot Reproduce" }, "resolutiondate": "2017-01-03T20:51:00.000+0000", "created": "2016-12-22T19:34:04.000+0000", "labels": [], "versions": [], "issuelinks": [], "assignee": { "name": "shossain", "key": "shossain", "displayName": "Shak Hossain", "active": false, "timeZone": "America/Los_Angeles" }, "updated": "2017-01-03T20:51:00.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": "14544", "name": "Alloy", "description": "Please enter tickets related to the Alloy here." } ], "description": "I am currently unable to intercept the back button on a Windows Phone when the current window is based on a TabGroup. The back button kills the app.\r\n\r\nDocumentation: http://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.TabGroup-event-androidback refers to the Windows platform but it doesn't work.\r\n\r\nPlease add/fix event listening support for TabGroup on the Windows platform.\r\n\r\n", "attachment": [], "flagged": false, "summary": "Windows: TabGroup createEventListener for \"back\" or \"windows:back\" do not work", "creator": { "name": "mitch.starnes@bnsf.com", "key": "mitch.starnes@bnsf.com", "displayName": "Mitch Starnes", "active": true, "timeZone": "America/Chicago" }, "subtasks": [], "reporter": { "name": "mitch.starnes@bnsf.com", "key": "mitch.starnes@bnsf.com", "displayName": "Mitch Starnes", "active": true, "timeZone": "America/Chicago" }, "environment": "Windows 10 emulator; TI SDK 6.0.1.GA.", "comment": { "comments": [ { "id": "403827", "author": { "name": "sdarda", "key": "sdarda", "displayName": "Sharif AbuDarda", "active": false, "timeZone": "Asia/Dhaka" }, "body": "Hello, Please provide a full sample code to reproduce the issue in our environment. Thanks.", "updateAuthor": { "name": "sdarda", "key": "sdarda", "displayName": "Sharif AbuDarda", "active": false, "timeZone": "Asia/Dhaka" }, "created": "2016-12-22T21:14:56.000+0000", "updated": "2016-12-22T21:14:56.000+0000" }, { "id": "403852", "author": { "name": "mitch.starnes@bnsf.com", "key": "mitch.starnes@bnsf.com", "displayName": "Mitch Starnes", "active": true, "timeZone": "America/Chicago" }, "body": "Steps to reproduce:\r\n\r\n# Build new mobile app based on the \"Two-tabbed Alloy Application\"\r\n# Build and run in a Windows emulator for test purposes\r\n# Replace index.js and index.xml with the code shown below.\r\n# Build and run and test that tabs still work\r\n# Hit the Back button and notice that neither windows:back nor back nor androidback are captured by the listeners in index.js\r\n\r\n\r\n{code}\r\n\r\n\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n\r\n{code}\r\n\r\n{code}\r\n// index.js\r\n$.index.open();\r\n\r\n/* Don't let the user back out of the app */\r\n$.index.addEventListener('androidback',function(e) {\r\n\tTi.API.warn(\"index androidback\");\r\n\te.cancelBubble = true;\r\n return false;\r\n});\r\n\r\n/* Don't let the user back out of the app */\r\n$.index.addEventListener('windows:back',function(e) {\r\n\tTi.API.warn(\"index windows:back\");\r\n\te.cancelBubble = true;\r\n return false;\r\n});\r\n\r\n\r\n/* Don't let the user back out of the app */\r\n$.index.addEventListener('back',function(e) {\r\n\tTi.API.warn(\"index back\");\r\n\te.cancelBubble = true;\r\n return false;\r\n});\r\n\r\n/* Don't let the user back out of the app */\r\n$.tab1.addEventListener('androidback',function(e) {\r\n\tTi.API.warn(\"tab1 androidback\");\r\n\te.cancelBubble = true;\r\n return false;\r\n});\r\n\r\n/* Don't let the user back out of the app */\r\n$.tab1.addEventListener('windows:back',function(e) {\r\n\tTi.API.warn(\"tab1 windows:back\");\r\n\te.cancelBubble = true;\r\n return false;\r\n});\r\n\r\n\r\n/* Don't let the user back out of the app */\r\n$.tab1.addEventListener('back',function(e) {\r\n\tTi.API.warn(\"tab1 back\");\r\n\te.cancelBubble = true;\r\n return false;\r\n});\r\n\r\n/* Don't let the user back out of the app */\r\n$.tab2.addEventListener('androidback',function(e) {\r\n\tTi.API.warn(\"tab2 androidback\");\r\n\te.cancelBubble = true;\r\n return false;\r\n});\r\n\r\n/* Don't let the user back out of the app */\r\n$.tab2.addEventListener('windows:back',function(e) {\r\n\tTi.API.warn(\"tab2 windows:back\");\r\n\te.cancelBubble = true;\r\n return false;\r\n});\r\n\r\n\r\n/* Don't let the user back out of the app */\r\n$.tab2.addEventListener('back',function(e) {\r\n\tTi.API.warn(\"tab2 back\");\r\n\te.cancelBubble = true;\r\n return false;\r\n});\r\n\r\n\r\n/* Don't let the user back out of the app */\r\nTi.App.addEventListener('androidback',function(e) {\r\n\tTi.API.warn(\"Ti.App androidback\");\r\n\te.cancelBubble = true;\r\n return false;\r\n});\r\n\r\n/* Don't let the user back out of the app */\r\nTi.App.addEventListener('windows:back',function(e) {\r\n\tTi.API.warn(\"Ti.App windows:back\");\r\n\te.cancelBubble = true;\r\n return false;\r\n});\r\n\r\n\r\n/* Don't let the user back out of the app */\r\nTi.App.addEventListener('back',function(e) {\r\n\tTi.API.warn(\"Ti.App back\");\r\n\te.cancelBubble = true;\r\n return false;\r\n});\r\n{code}", "updateAuthor": { "name": "mitch.starnes@bnsf.com", "key": "mitch.starnes@bnsf.com", "displayName": "Mitch Starnes", "active": true, "timeZone": "America/Chicago" }, "created": "2016-12-23T19:31:15.000+0000", "updated": "2016-12-23T19:35:19.000+0000" }, { "id": "403880", "author": { "name": "mrahman", "key": "mrahman", "displayName": "Mostafizur Rahman", "active": true, "timeZone": "Asia/Dhaka" }, "body": "Hello,\r\n\r\nThanks for your query. We have tested your issue on our end on following environment and its working for me.\r\n\r\n*Testing Environment:*\r\nAppcelerator Studio, build: 4.8.0.201611121409\r\nSDK: 6.0.1.GA\r\nAppcelerator Command-Line Interface, version 6.0.0\r\nWindows emulator: 8.1 WVGA 4 inch 512MB\r\n\r\n*Testing Code:*\r\n{code}$.tab2.addEventListener('windows:back',function(e) {\r\n alert(\"windows:back Working\");\r\n\tTi.API.warn(\"tab2 windows:back\");\r\n\te.cancelBubble = true;\r\n return false;\r\n});{code}\r\n\r\n*Output:*\r\n[WARN] : tab2 windows:back\r\n[INFO] : Disconnected from app\r\nAlso showing the alert.\r\n\r\nThanks\r\n", "updateAuthor": { "name": "mrahman", "key": "mrahman", "displayName": "Mostafizur Rahman", "active": true, "timeZone": "Asia/Dhaka" }, "created": "2016-12-27T16:23:55.000+0000", "updated": "2016-12-27T16:23:55.000+0000" }, { "id": "403918", "author": { "name": "mitch.starnes@bnsf.com", "key": "mitch.starnes@bnsf.com", "displayName": "Mitch Starnes", "active": true, "timeZone": "America/Chicago" }, "body": "Still not working for me. \r\n\r\nDid you follow my instructions to build the project from the \"Two-tabbed Alloy Application\" sample? \r\n\r\nIf so, our projects should now be identical as I replaced the contents of index.js with this:\r\n\r\n{code}\r\n$.index.open();\r\n\r\n$.tab2.addEventListener('windows:back',function(e) {\r\n\talert(\"windows:back Working\");\r\n\tTi.API.warn(\"tab2 windows:back\");\r\n\te.cancelBubble = true;\r\n return false;\r\n});\r\n{code}\r\n\r\nI have logging set at TRACE level. I am able to toggle between Tab1 and Tab2 but tapping the hardward back button closes the app with no alert and no WARN output.\r\n\r\nI am using VS 2015 Community Update 3. How about you?\r\n", "updateAuthor": { "name": "mitch.starnes@bnsf.com", "key": "mitch.starnes@bnsf.com", "displayName": "Mitch Starnes", "active": true, "timeZone": "America/Chicago" }, "created": "2016-12-29T21:03:51.000+0000", "updated": "2016-12-29T21:03:51.000+0000" }, { "id": "403919", "author": { "name": "mitch.starnes@bnsf.com", "key": "mitch.starnes@bnsf.com", "displayName": "Mitch Starnes", "active": true, "timeZone": "America/Chicago" }, "body": "Is yours an Alloy project? Can I see your index.xml? \r\n\r\nCan you share your working project in github?", "updateAuthor": { "name": "mitch.starnes@bnsf.com", "key": "mitch.starnes@bnsf.com", "displayName": "Mitch Starnes", "active": true, "timeZone": "America/Chicago" }, "created": "2016-12-29T21:04:51.000+0000", "updated": "2016-12-29T21:05:27.000+0000" }, { "id": "403944", "author": { "name": "mrahman", "key": "mrahman", "displayName": "Mostafizur Rahman", "active": true, "timeZone": "Asia/Dhaka" }, "body": "Hello [~mstarnes],\r\n\r\nYes, I have tested on Alloy project. I am using VS 2013 Community. I have used your *index.xml* file.\r\n*Testing Environment:*\r\nAppcelerator Studio, build: 4.8.0.201611121409\r\nSDK: 6.0.1.GA\r\nAppcelerator Command-Line Interface, version 6.0.0\r\nWindows emulator: 8.1 WVGA 4 inch 512MB\r\nVS 2013 Community\r\n\r\nThanks", "updateAuthor": { "name": "mrahman", "key": "mrahman", "displayName": "Mostafizur Rahman", "active": true, "timeZone": "Asia/Dhaka" }, "created": "2017-01-02T15:04:36.000+0000", "updated": "2017-01-02T15:04:50.000+0000" } ], "maxResults": 6, "total": 6, "startAt": 0 } } }