{ "id": "172989", "key": "TIMOB-26818", "fields": { "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "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": "20950", "name": "Release 9.1.0", "archived": false, "released": true, "releaseDate": "2020-08-25" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2020-08-11T10:59:58.000+0000", "created": "2019-02-11T22:50:16.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "parity", "shortcut" ], "versions": [], "issuelinks": [ { "id": "58358", "type": { "id": "10001", "name": "Cloners", "inward": "is cloned into", "outward": "is cloned from" }, "inwardIssue": { "id": "174999", "key": "TIMOB-27889", "fields": { "summary": "Android: Implement Ti.UI.Shortcut", "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": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } }, { "id": "57142", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "172747", "key": "TIMOB-26653", "fields": { "summary": "iOS: Application shortcuts broken in SDK 7.5.0+", "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": "Critical", "id": "1" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "57143", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "169220", "key": "TIMOB-25048", "fields": { "summary": "TiAPI: Android/iOS \"ApplicationShortcuts\" parity", "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": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } } ], "assignee": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2020-08-11T10:59:58.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": " iOS has Ti.UI.iOS.ApplicationShortcuts and android has implemented Ti.UI.ShortcutItem for shortcut. To have parity on both platform , it is discussed to move Shortcut APIs under Ti.UI.Shortcut. Following are the decided APIs -\r\n\r\n\r\n{code:java}\r\n1. var shortcutItem = Ti.UI.createShortcutItem({\r\n id: String // Unique identifier\r\n title: String\r\n description: String\r\n icon: String/Number\r\n data: Dictionary\r\n })\r\n\r\n2. var shortcut = Ti.UI.createShortcut();\r\n\r\n3. shortcut.add(Ti.UI.ShortcutItem);\r\n\r\n4. shortcut.items -> Array\r\n\r\n5. shortcut.getById(id) -> Ti.UI.ShortcutItem\r\n\r\n6. shortcut.staticItems -> Array\r\n\r\n7. shortcut.remove(Ti.UI.ShortcutItem);\r\n\r\n8. shortcut.removeAll();\r\n\r\n9. Event listener - Ti.UI.Shortcuts.addEventListener('click', listener); -> Ti.UI.ShortcutItem\r\n{code}\r\n", "attachment": [], "flagged": false, "summary": "iOS: Move application shortcut under Ti.UI.Shortcut to have parity", "creator": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "closedSprints": [ { "id": 1201, "state": "closed", "name": "2020 Sprint 14", "startDate": "2020-07-06T15:40:00.000Z", "endDate": "2020-07-17T15:40:00.000Z", "completeDate": "2020-07-20T22:16:28.367Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "455418", "author": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR - https://github.com/appcelerator/titanium_mobile/pull/11697\r\n\r\n{code:java}\r\nvar shortcut = Ti.UI.createShortcut();\r\n \r\nvar callback = function (e) {\r\n\tTi.API.info(\"click Event of shortcut item Fired\");\r\n \tTi.API.info(e.item.title);\r\n \tTi.API.info(e.item.description);\r\n \tTi.API.info(e.item.data);\r\n \tTi.API.info(e.item.id);\r\n };\r\n \r\nshortcut.addEventListener(\"click\", callback);\r\nvar win = Titanium.UI.createWindow({\r\n\ttitle: 'Test', backgroundColor: '#fff', layout: \"vertical\"\r\n});\r\nvar btn1 = Ti.UI.createButton({\r\n\ttop: 50, height: 45, title: \"Add Contact Us Application Shortcut\"\r\n});\r\nwin.add(btn1);\r\nbtn1.addEventListener(\"click\", function () {\r\n\tvar shortcut = Ti.UI.createShortcut();\r\n \r\n\tvar shortcutItem = Ti.UI.createShortcutItem({\r\n\t\tid: \"contact_us\",\r\n\t\ttitle: \"Contact Us\",\r\n\t\tdescription: \"Tap to reach us\",\r\n\t\ticon: Ti.UI.iOS.SHORTCUT_ICON_TYPE_ADD,\r\n\t\t// data: {\r\n\t\t// \tinfoKey: \"contact_us\"\r\n\t\t// }\r\n\t});\r\n\tshortcut.add(shortcutItem);\r\n});\r\nvar btn2 = Ti.UI.createButton({\r\n\ttop: 10, height: 45, title: \"Remove Contact Us Application Shortcut\"\r\n});\r\nwin.add(btn2);\r\nbtn2.addEventListener(\"click\", function () {\r\n\tvar shortcut = Ti.UI.createShortcut();\r\n\tvar shortcutItem = shortcut.getById('contact_us');\r\n\tif (shortcutItem != null) {\r\n\t shortcut.remove(shortcutItem);\r\n\t}\r\n});\r\nvar btn3 = Ti.UI.createButton({\r\n\ttop: 10, height: 45, title: \"Count Dynamic App Shortcuts\"\r\n});\r\nwin.add(btn3);\r\nbtn3.addEventListener(\"click\", function () {\r\n\tvar shortcut = Ti.UI.createShortcut();\r\n\tvar shortcuts = shortcut.items;\r\n\tTi.API.info(\"Dynamic Shortcut count:\" + shortcuts.length);\r\n});\r\nvar btn4 = Ti.UI.createButton({\r\n\ttop: 10, height: 45, title: \"Count Static App Shortcuts\"\r\n});\r\nwin.add(btn4);\r\nbtn4.addEventListener(\"click\", function () {\r\n\tvar shortcut = Ti.UI.createShortcut();\r\n\tvar shortcuts = shortcut.staticItems;\r\n\tTi.API.info(\"Static App Shortcut count:\" + shortcuts.length);\r\n});\r\nvar btn5 = Ti.UI.createButton({\r\n\ttop: 10, height: 45, title: \"Dynamic Shortcut Exists?\"\r\n});\r\nwin.add(btn5);\r\nbtn5.addEventListener(\"click\", function () {\r\n\tvar shortcut = Ti.UI.createShortcut();\r\n\tvar shortcutItem = shortcut.getById('contact_us');\r\n\tvar msg = (shortcutItem != null) ? \"Shortcut exists\" : \"Sorry isn't there\";\r\n\talert(msg);\r\n});\r\nvar btn6 = Ti.UI.createButton({\r\n\ttop: 10, height:45, title:\"Remove All Dynamic Shortcuts\"\r\n});\r\nwin.add(btn6);\r\nbtn6.addEventListener(\"click\", function () {\r\n\tvar shortcut = Ti.UI.createShortcut();\r\n\tshortcut.removeAll();\r\n});\r\nvar btn7 = Ti.UI.createButton({\r\n\ttop: 10, height: 45, title: \"Get shortcut by identifier contact_us\"\r\n});\r\nwin.add(btn7);\r\nbtn7.addEventListener(\"click\", function () {\r\n\tvar shortcut = Ti.UI.createShortcut();\r\n\tvar shortcutItem = shortcut.getById('contact_us');\r\n\tif (shortcutItem != null) {\r\n\t Ti.API.info(shortcutItem.icon);\r\n\t\talert(shortcutItem.title);\r\n\t} else {\r\n\t\talert('No shortcut exist for given id');\r\n\t}\r\n});\r\nwin.open();\r\n{code}\r\n", "updateAuthor": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-05-09T00:13:31.000+0000", "updated": "2020-06-11T01:12:45.000+0000" }, { "id": "456143", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "merged iOS PR to master for 9.1.0 target", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2020-07-17T17:55:44.000+0000", "updated": "2020-07-17T17:55:44.000+0000" }, { "id": "456297", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Removed {{Ti.UI.createShortcut()}} method and made {{Ti.UI.Shortcut}} a module.\r\nThe same was done on Android via [TIMOB-27889].\r\n\r\nPR (master): https://github.com/appcelerator/titanium_mobile/pull/11857\r\n", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-07-31T05:27:57.000+0000", "updated": "2020-07-31T05:27:57.000+0000" }, { "id": "456333", "author": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "body": "FR Passed, waiting on Jenkins build and backport builds. ", "updateAuthor": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-08-04T16:13:39.000+0000", "updated": "2020-08-04T16:13:39.000+0000" }, { "id": "456387", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "re-enabled the tests on Gary's PR, merged it in to master and then merge the \"backports\" to 9_1_X and 9_3_X", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2020-08-10T14:36:45.000+0000", "updated": "2020-08-10T14:36:45.000+0000" }, { "id": "456397", "author": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "body": "*Closing ticket*. Improvement verified in SDK version {{9.1.0.v20200810120239}}, {{9.2.0.v20200810085310}} and {{9.3.0.v20200810090511}}.\r\n\r\n*Test and other information can be found at:*\r\nhttps://github.com/appcelerator/titanium_mobile/pull/11856", "updateAuthor": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-08-11T10:59:45.000+0000", "updated": "2020-08-11T10:59:45.000+0000" } ], "maxResults": 7, "total": 7, "startAt": 0 } } }