{ "id": "61639", "key": "TIMOB-1007", "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": [], "resolution": { "id": "7", "description": "", "name": "Invalid" }, "resolutiondate": "2017-06-12T18:32:42.000+0000", "created": "2011-04-15T02:41:23.000+0000", "priority": { "name": "Low", "id": "4" }, "labels": [ "core" ], "versions": [ { "id": "13505", "description": "Release 3.0.0", "name": "Release 3.0.0", "archived": true, "released": true, "releaseDate": "2012-12-14" } ], "issuelinks": [], "assignee": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2017-06-12T18:32:42.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": "All object's methods, like ViewProxy methods, DatabaseProxy methods don't have call/apply methods, I mean apply/call methods of JS Function object, it makes impossible to create wrapper around, for example, Titanium.Database.execute method, which accepts variable number of arguments. IMHO it's a very big limitation not described in documentation and creates a lot of troubles to developers.", "attachment": [], "flagged": false, "summary": "Android: Proxy object's methods don't have apply/call methods", "creator": { "name": "konstantin", "key": "konstantin", "displayName": "Konstantin", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "konstantin", "key": "konstantin", "displayName": "Konstantin", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "124557", "author": { "name": "ernesto", "key": "ernesto", "displayName": "Ernesto", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I agree, this is a huge limitation as it isn't noted in the docs and the error thrown is cryptic; custom components are also significantly more difficult to develop, e.g.:\r\n\r\n{code}\r\nvar MyCustomPicker = function(options) {\r\n this.picker = Ti.UI.createPicker(options.picker);\r\n this.cancelButton = Ti.UI.createButton(options.cancelButton);\r\n \r\n /*\r\n here's the problem, this makes the app to closes with the following message:\r\n [DEBUG] Session did end with error (null) \r\n */\r\n this.cancelButton.addEventListener(\r\n 'click', \r\n options.onCancel.apply(this, ['any', 'other', 'possible', 'argument']\r\n );\r\n \r\n};\r\n\r\nvar myPicker = new MyCustomPicker({\r\n onCancel: function() {\r\n Ti.API.info(arguments);\r\n }\r\n});\r\n{code}", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:41:23.000+0000", "updated": "2014-09-09T15:25:54.000+0000" }, { "id": "124558", "author": { "name": "damienelmes", "key": "damienelmes", "displayName": "Damien Elmes", "active": true, "timeZone": "America/Los_Angeles" }, "body": "A workaround for this was posted in the forums:\r\n\r\n{code}\r\nif (typeof db.execute.apply !== 'function') {\r\n db.execute.apply = Function.prototype.apply;\r\n}\r\n{code}", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:41:24.000+0000", "updated": "2014-09-09T15:25:26.000+0000" }, { "id": "421756", "author": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Closing ticket due to the time passed and lack of progress since the opening of the ticket. Any problems, please file a new ticket.", "updateAuthor": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-06-12T18:32:42.000+0000", "updated": "2017-06-12T18:32:42.000+0000" } ], "maxResults": 3, "total": 3, "startAt": 0 } } }