{ "id": "153031", "key": "TIMOB-19943", "fields": { "issuetype": { "id": "7", "description": "gh.issue.story.desc", "name": "Story", "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": "17706", "name": "Release 5.4.0", "archived": false, "released": true, "releaseDate": "2016-08-11" } ], "resolution": { "id": "10000", "description": "", "name": "Done" }, "resolutiondate": "2016-08-04T03:20:01.000+0000", "created": "2015-11-12T16:48:15.000+0000", "epic": { "id": 151897, "key": "TIMOB-19699", "name": "Android: Hyperloop for Android module", "summary": "Bring Hyperloop to Android", "color": { "key": "color_4" }, "done": false }, "priority": { "name": "High", "id": "2" }, "labels": [], "versions": [], "issuelinks": [ { "id": "49770", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "151902", "key": "TIMOB-19701", "fields": { "summary": "Android: Support extending native types in hyperloop", "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": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } } ], "assignee": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "updated": "2016-08-04T03:20:01.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" }, { "id": "13715", "name": "Hyperloop", "description": "Hyperloop project" } ], "description": "Previously we'd return/wrap any arguments and return types as the actual Java type we received, rather than the type declared by the method return/param type. this led to an issue where we'd receive types that weren't available in our hyperloop JS wrappers (either because they weren't in the type hierarchy we traversed - or more important, if they were \"hidden\"/native types). As an example, we'd get a DisplayListCanvas (a subclass of Canvas) in a subclass of View's onDraw method. That type isn't in the android.jar and we have no means of trying to get it's details without the android source code. the method declares the param type as simply Canvas.\r\n\r\nAs a hedge against this, when we wrap arguments or return types, we hold the object and it's specific subclass on the Java side, but report as and wrap with the declared type. As a result, that means we now need some way to be able to explicitly cast down to subclasses if we know the value is a more specific subclass (say on View.getLayoutParams).", "attachment": [], "flagged": false, "summary": "Android: Support casting hyperloop proxies to different native types", "creator": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "subtasks": [], "reporter": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "environment": null, "closedSprints": [ { "id": 525, "state": "closed", "name": "2015 Sprint 23 SDK", "startDate": "2015-11-07T01:30:15.519Z", "endDate": "2015-11-21T01:30:00.000Z", "completeDate": "2015-11-23T02:54:27.887Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "370107", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "https://github.com/appcelerator/hyperloop-android-module/pull/11", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2015-11-12T18:10:22.000+0000", "updated": "2015-11-12T18:10:22.000+0000" } ], "maxResults": 1, "total": 1, "startAt": 0 } } }