{ "id": "98547", "key": "TIMOB-10293", "fields": { "issuetype": { "id": "5", "description": "The sub-task of the issue", "name": "Sub-task", "subtask": true }, "parent": { "id": "94534", "key": "TIMOB-9903", "fields": { "summary": "Ti API: Platforms need to achieve parity for the event system", "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" } }, "priority": { "name": "Low", "id": "4" }, "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "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": "14065", "description": "Sprint 2012-17 API", "name": "Sprint 2012-17 API", "archived": true, "released": true, "releaseDate": "2012-08-27" }, { "id": "13505", "description": "Release 3.0.0", "name": "Release 3.0.0", "archived": true, "released": true, "releaseDate": "2012-12-14" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2012-08-17T15:26:48.000+0000", "created": "2012-08-01T16:00:25.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "api", "look1" ], "versions": [ { "id": "13505", "description": "Release 3.0.0", "name": "Release 3.0.0", "archived": true, "released": true, "releaseDate": "2012-12-14" } ], "issuelinks": [ { "id": "19607", "type": { "id": "10001", "name": "Cloners", "inward": "is cloned into", "outward": "is cloned from" }, "outwardIssue": { "id": "98545", "key": "TIMOB-10291", "fields": { "summary": "TiAPI: Transition all event names to lower case designs. ", "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": "5", "description": "The sub-task of the issue", "name": "Sub-task", "subtask": true } } } }, { "id": "19761", "type": { "id": "10002", "name": "Duplicate", "inward": "is duplicated by", "outward": "duplicates" }, "inwardIssue": { "id": "85843", "key": "TIMOB-7516", "fields": { "summary": "Android: UI.TableView - rename scrollEnd to scrollend to make consistent with all other events", "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": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "27323", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "103590", "key": "TIMOB-13353", "fields": { "summary": "Android: Event name inconsistency", "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" } }, "priority": { "name": "Low", "id": "4" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "pwang", "key": "pwang", "displayName": "Ping Wang", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2017-03-20T17:07:12.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": "In the aug 1 architectural meeting, it was resolved that events should use only lowercase letters 'a'-'z', for reasons of consistency, aligning with W3C and for making life easy for Alloy. For example:\r\n* android:back should be androidback\r\n* durationAvailable should be durationavailable\r\n\r\nTo transition, lowercase versions of the events should be made, deprecating but still using the camelCase and namespaced events. Document as such. Then eventually drop the non-lowercase events.", "attachment": [], "flagged": false, "summary": "Android: Transition all event names to lower case designs", "creator": { "name": "blainhamon", "key": "blainhamon", "displayName": "Blain Hamon", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "blainhamon", "key": "blainhamon", "displayName": "Blain Hamon", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "214837", "author": { "name": "pwang", "key": "pwang", "displayName": "Ping Wang", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Steps for functional test:\r\n1. Run the test code below. See the alert \"addedtotab fired\".\r\n2. Click tab1. Click BACK, SEARCH, VOLUME, CAMERA hard keys to fire events.\r\n3. Click tab2. Scroll the scrollable view to fire events.\r\n4. Click tab3. See the alert \"durationabailable fired\".\r\n{code}\r\nvar tabGroup = Ti.UI.createTabGroup();\r\n\r\n//\r\n// Test events: addedtotab, androidback, androidcamera, androidsearch, androidvoldown, androidvolup\r\n//\r\nvar win1 = Ti.UI.createWindow({\r\n backgroundColor : \"orange\"\r\n});\r\n\r\nvar text1 = Ti.UI.createTextArea({\r\n\ttop: 10,\r\n\teditable: false,\r\n\tvalue: \"Please click the BACK, SEARCH, VOLUME, CAMERA key to fire events.\"\r\n});\r\n\r\nwin1.add(text1);\r\n\r\nwin1.addEventListener(\"addedtotab\", function(){\r\n\talert(\"addedtotab fired\");\r\n});\r\n\r\nwin1.addEventListener(\"androidback\", function(){\r\n\tTi.API.info(\"*************** androidback fired\");\r\n\talert(\"androidback fired\");\r\n});\r\n\r\nwin1.addEventListener(\"androidcamera\", function(){\r\n\tTi.API.info(\"*************** androidcamera fired\");\r\n\talert(\"androidcamera fired\");\r\n});\r\n\r\nwin1.addEventListener(\"androidsearch\", function(){\r\n\tTi.API.info(\"*************** androidsearch fired\");\r\n\talert(\"androidsearch fired\");\r\n});\r\n\r\nwin1.addEventListener(\"androidvoldown\", function(){\r\n\tTi.API.info(\"*************** androidvoldown fired\");\r\n\talert(\"androidvoldown fired\");\r\n});\r\n\r\nwin1.addEventListener(\"androidvolup\", function(){\r\n\tTi.API.info(\"*************** androidvolup fired\");\r\n\talert(\"androidvolup fired\");\r\n});\r\n\r\n\r\n//\r\n// Test events: dragend, scrollend\r\n//\r\nvar win2 = Ti.UI.createWindow({\r\n backgroundColor : \"lime\"\r\n});\r\n\r\nvar text2 = Ti.UI.createTextArea({\r\n\ttop: 10,\r\n\teditable: false,\r\n\tvalue: \"Please scroll the view to fire events.\"\r\n});\r\n\r\nwin2.add(text2);\r\n\r\nvar view1 = Ti.UI.createView({\r\n\tbackgroundColor : '#123'\r\n});\r\nvar view2 = Ti.UI.createView({\r\n\tbackgroundColor : '#246'\r\n});\r\nvar view3 = Ti.UI.createView({\r\n\tbackgroundColor : '#48b'\r\n});\r\n\r\nvar scrollableView = Ti.UI.createScrollableView({\r\n\ttop: 100,\r\n\tviews : [view1, view2, view3],\r\n\tshowPagingControl : true\r\n});\r\n\r\nscrollableView.addEventListener(\"dragend\", function(e){\r\n\tTi.API.info('**************** dragend fired: current index = ' + e.currentPage + ', current view = ' + e.view);\r\n\talert(\"dragend fired\");\r\n});\r\nscrollableView.addEventListener(\"scrollend\", function(e){\r\n\tTi.API.info('**************** scrollend fired: current index = ' + e.currentPage + ', current view = ' + e.view);\r\n\talert(\"scrollend fired\");\r\n});\r\n\r\nwin2.add(scrollableView);\r\n\r\n\r\n//\r\n// Test events: durationavailable\r\n//\r\nvar win3 = Titanium.UI.createWindow();\r\n\t\r\nvar activeMovie = Titanium.Media.createVideoPlayer({url: 'movie.mp4'});\r\n\r\nactiveMovie.addEventListener('durationavailable', function(e) {\r\n\tTi.API.info('**************** durationavailable fired: ' + e.duration + ' ms');\r\n\talert(\"durationavailable fired\");\r\n}); \r\n\r\nwin3.add(activeMovie);\r\n \r\nvar tab1 = Ti.UI.createTab({\r\n\ttitle: \"tab1\",\r\n window : win1\r\n});\r\nvar tab2 = Ti.UI.createTab({\r\n\ttitle: \"tab2\",\r\n window : win2\r\n});\r\nvar tab3 = Ti.UI.createTab({\r\n\ttitle: \"tab3\",\r\n window : win3\r\n});\r\n\r\n\r\ntabGroup.addTab(tab1);\r\ntabGroup.addTab(tab2);\r\ntabGroup.addTab(tab3);\r\n\r\ntabGroup.open();\r\n{code}", "updateAuthor": { "name": "pwang", "key": "pwang", "displayName": "Ping Wang", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-08-16T12:45:31.000+0000", "updated": "2012-08-16T12:45:31.000+0000" }, { "id": "214838", "author": { "name": "pwang", "key": "pwang", "displayName": "Ping Wang", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR https://github.com/appcelerator/titanium_mobile/pull/2767", "updateAuthor": { "name": "pwang", "key": "pwang", "displayName": "Ping Wang", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-08-16T12:50:43.000+0000", "updated": "2012-08-16T12:50:43.000+0000" }, { "id": "413716", "author": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Closing ticket as fixed.", "updateAuthor": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-03-20T17:07:12.000+0000", "updated": "2017-03-20T17:07:12.000+0000" } ], "maxResults": 3, "total": 3, "startAt": 0 } } }