{ "id": "62364", "key": "TIMOB-1732", "fields": { "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": "11226", "name": "Release 1.5.0 M01", "archived": true, "released": true, "releaseDate": "2010-11-15" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2011-04-17T01:57:00.000+0000", "created": "2011-04-15T03:00:46.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "android", "feature", "kroll", "refactor", "rplist" ], "versions": [], "issuelinks": [], "assignee": { "name": "mculpepper", "key": "mculpepper", "displayName": "Marshall Culpepper", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2011-04-17T01:57: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": "10202", "name": "Android", "description": "Android Platform" } ], "description": "{html}

This ticket is a placeholder for commits towards the new Android\nKroll refactor. This refactor includes:

\n
{html}", "attachment": [], "flagged": false, "summary": "Android: Kroll refactor", "creator": { "name": "mculpepper", "key": "mculpepper", "displayName": "Marshall Culpepper", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "mculpepper", "key": "mculpepper", "displayName": "Marshall Culpepper", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "126483", "author": { "name": "mculpepper", "key": "mculpepper", "displayName": "Marshall Culpepper", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

(from [0595585260b1ed294cfecdd26f7d09691332d7da])\nfirst stab at a complete port of Titanium to the new Kroll\n[#1732]

\n

This includes numerous improvements, including (but not limited\nto):
\n- The annotation processor has been broken out into it's own\nkroll-apt project, and is also an Eclipse plugin (this is the\neasiest way to run the new annotation processor). To build just run\nthe kroll-apt/pde-build.xml ant script inside Eclipse (more\ninstructions coming soon) - Support for optional arguments,\nInvocation injection, varargs, auto-generated \"createXX\" methods,\nand retained dynamic properties - A port of everything but\ntitanium-android to the new Kroll API - Several bug fixes in the\nannotation processor - Copy/cleanup of the old to/fromNative code\nto KrollConverter - Proxies now automatically bind themselves upon\ncreation - Better error handling in generated code - the kroll\nproject has been integrated back into the traditional \"titanium\"\nproject - faster Drillbit test launching in Android - an initial\nDrillbit test app.js for tests w/o UI \nhttp://github.com/appcelerator/titanium_mobile/commit/0595585260b1e...

{html}", "updateAuthor": { "name": "mculpepper", "key": "mculpepper", "displayName": "Marshall Culpepper", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T03:00:47.000+0000", "updated": "2011-04-15T03:00:47.000+0000" }, { "id": "126484", "author": { "name": "mculpepper", "key": "mculpepper", "displayName": "Marshall Culpepper", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

(from [c3bb89640388469f0650272ccc5592b25d3c475d])\ninitial implementation of new kroll module boot and binding\nfilters, fix for API.getName and method name overrides. [#1732]\n\nhttp://github.com/appcelerator/titanium_mobile/commit/c3bb896403884...

{html}", "updateAuthor": { "name": "mculpepper", "key": "mculpepper", "displayName": "Marshall Culpepper", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T03:00:47.000+0000", "updated": "2011-04-15T03:00:47.000+0000" }, { "id": "126485", "author": { "name": "mculpepper", "key": "mculpepper", "displayName": "Marshall Culpepper", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

(from [bcf5cf16cac639595aa7cbb223f255d9c0fb3a5c])\nthe annotation processor now keeps state between rounds in JSON so\nwe don't lose any state if Eclipse decides to only build a few\nfiles in a round. added a @Kroll.runOnUiThread annotation to\nautomatically wrap dynamic properties and/or methods, added module\nfixed some bugs for Kitchensink [#1732]\n\nhttp://github.com/appcelerator/titanium_mobile/commit/bcf5cf16cac63...

{html}", "updateAuthor": { "name": "mculpepper", "key": "mculpepper", "displayName": "Marshall Culpepper", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T03:00:47.000+0000", "updated": "2011-04-15T03:00:47.000+0000" }, { "id": "126486", "author": { "name": "mculpepper", "key": "mculpepper", "displayName": "Marshall Culpepper", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

(from [52df63ed425045ad220fab099d5a1eb9102e790e])\nadded a new top level binding annotation @Kroll.topLevel (binds a\nmodule or method as a top level binding i.e. on the same level as\n\"Ti\"). lots of bug fixes for KitchenSink [#1732]\n\nhttp://github.com/appcelerator/titanium_mobile/commit/52df63ed42504...

{html}", "updateAuthor": { "name": "mculpepper", "key": "mculpepper", "displayName": "Marshall Culpepper", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T03:00:48.000+0000", "updated": "2011-04-15T03:00:48.000+0000" }, { "id": "126487", "author": { "name": "mculpepper", "key": "mculpepper", "displayName": "Marshall Culpepper", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

(from [58854d6c79b3b89a308ea4078c915fa74cd5e8fb])\nmore drillbit fixes for the new kroll [#1732]\n\nhttp://github.com/appcelerator/titanium_mobile/commit/58854d6c79b3b...

{html}", "updateAuthor": { "name": "mculpepper", "key": "mculpepper", "displayName": "Marshall Culpepper", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T03:00:48.000+0000", "updated": "2011-04-15T03:00:48.000+0000" }, { "id": "126488", "author": { "name": "mculpepper", "key": "mculpepper", "displayName": "Marshall Culpepper", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

(from [4e2842818d5152160e9c729b91cf1f5a59d8d04f])\nbetter proxy/module name generation, a new API to retrieve the\ncurrent Ti/KrollContext, fixes for dynamic property and KrollObject\nconversion, a nice toString() for KrollInvocation and new create\nmethods that use the current TiContext. more bug fixes for KS\n[#1732] \nhttp://github.com/appcelerator/titanium_mobile/commit/4e2842818d515...

{html}", "updateAuthor": { "name": "mculpepper", "key": "mculpepper", "displayName": "Marshall Culpepper", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T03:00:48.000+0000", "updated": "2011-04-15T03:00:48.000+0000" }, { "id": "126489", "author": { "name": "dthorp", "key": "dthorp", "displayName": "Don Thorp", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

Please use Helpdesk\n42371 as a testcase.

{html}", "updateAuthor": { "name": "dthorp", "key": "dthorp", "displayName": "Don Thorp", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T03:00:48.000+0000", "updated": "2011-04-15T03:00:48.000+0000" }, { "id": "126490", "author": { "name": "mculpepper", "key": "mculpepper", "displayName": "Marshall Culpepper", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

(from [b1e6dde0d48b6541625c7ff009d99156e605d28f])\nthe big android_native_refactor + android_kroll_refactor hand\nmerge, some changes on top of resolving conflicts: - Kroll modules\nare now singleton and are only instantiated/bound once - Split up\nbinding into 3 phases: bindToParent, bindProperties, and\nbindContextSpecific - Ported lots of new code / modules to new API\n- Enabled production deploy type checking (and a manual property\noverride: ti.android.compilejs) in compiler.py [#1732]\nMerge branch 'android_native_refactor' of\ngithub.com:appcelerator/titanium_mobile into android_refactor

\n

Conflicts:

\n
\nandroid/modules/bump/src/ti/modules/titanium/bump/BumpModule.java\nandroid/modules/contacts/src/ti/modules/titanium/contacts/PersonProxy.java\nandroid/modules/database/src/ti/modules/titanium/database/DatabaseModule.java\nandroid/modules/filesystem/src/ti/modules/titanium/filesystem/FileProxy.java\nandroid/modules/geolocation/src/ti/modules/titanium/geolocation/TiLocation.java\nandroid/modules/media/src/ti/modules/titanium/media/MediaModule.java\nandroid/modules/network/src/ti/modules/titanium/network/HTTPClientProxy.java\nandroid/modules/platform/src/ti/modules/titanium/platform/DisplayCapsProxy.java\nandroid/modules/ui/src/ti/modules/titanium/ui/EmailDialogProxy.java\nandroid/modules/ui/src/ti/modules/titanium/ui/LabelProxy.java\nandroid/modules/ui/src/ti/modules/titanium/ui/TabGroupProxy.java\nandroid/modules/ui/src/ti/modules/titanium/ui/TiUIWindow.java\nandroid/modules/ui/src/ti/modules/titanium/ui/android/AndroidModule.java\nandroid/modules/ui/src/ti/modules/titanium/ui/widget/TiUITabGroup.java\nandroid/modules/ui/src/ti/modules/titanium/ui/widget/TiUIText.java\nandroid/modules/ui/src/ti/modules/titanium/ui/widget/picker/TiUIDateSpinner.java\nandroid/modules/ui/src/ti/modules/titanium/ui/widget/picker/TiUIPicker.java\nandroid/modules/ui/src/ti/modules/titanium/ui/widget/tableview/TiBaseTableViewItem.java\nandroid/modules/utils/src/ti/modules/titanium/utils/UtilsModule.java\nandroid/modules/xml/src/ti/modules/titanium/xml/NodeProxy.java\nandroid/modules/xml/src/ti/modules/titanium/xml/XMLModule.java\nandroid/titanium/src/org/appcelerator/titanium/TiActivity.java\nandroid/titanium/src/org/appcelerator/titanium/TiApplication.java\nandroid/titanium/src/org/appcelerator/titanium/TiContext.java\nandroid/titanium/src/org/appcelerator/titanium/TiModule.java\nandroid/titanium/src/org/appcelerator/titanium/TiProxy.java\nandroid/titanium/src/org/appcelerator/titanium/TiRootActivity.java\nandroid/titanium/src/org/appcelerator/titanium/kroll/KrollBridge.java\nandroid/titanium/src/org/appcelerator/titanium/kroll/KrollCallback.java\nandroid/titanium/src/org/appcelerator/titanium/kroll/KrollContext.java\nandroid/titanium/src/org/appcelerator/titanium/kroll/KrollObject.java\nandroid/titanium/src/org/appcelerator/titanium/proxy/TiViewProxy.java\nandroid/titanium/src/org/appcelerator/titanium/util/TiConvert.java\nandroid/titanium/src/org/appcelerator/titanium/util/TiUIHelper.java\nandroid/titanium/src/org/appcelerator/titanium/view/Ti2DMatrix.java\nandroid/titanium/src/org/appcelerator/titanium/view/TiUIView.java\nandroid/titanium/src/ti/modules/titanium/TitaniumModule.java\nsupport/android/compiler.py\nsupport/android/templates/App.java\n
\n

\nhttp://github.com/appcelerator/titanium_mobile/commit/b1e6dde0d48b6...

{html}", "updateAuthor": { "name": "mculpepper", "key": "mculpepper", "displayName": "Marshall Culpepper", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T03:00:48.000+0000", "updated": "2011-04-15T03:00:48.000+0000" }, { "id": "126491", "author": { "name": "mculpepper", "key": "mculpepper", "displayName": "Marshall Culpepper", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

(from [4494349e526e05c694b94e9a89be873ea86fd093])\nsome renaming: KrollProperty is now the base interface for all\nproperties, KrollDynamicProperty is the subclass for properties\nimplemented with getters/setters, and KrollReflectionProperty is\nthe subclass for properties implemented with java instance members.\ndynamic getters/setters are now implemented in source code\ngeneration rather than using reflection. fixed up a few\nmis-annotated APIs [#1732] \nhttp://github.com/appcelerator/titanium_mobile/commit/4494349e526e0...

{html}", "updateAuthor": { "name": "mculpepper", "key": "mculpepper", "displayName": "Marshall Culpepper", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T03:00:48.000+0000", "updated": "2011-04-15T03:00:48.000+0000" }, { "id": "126492", "author": { "name": "mculpepper", "key": "mculpepper", "displayName": "Marshall Culpepper", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

(from [b8f077c92df3d0d0e1e27aacd4e258025c4d448a])\nnew markdown documentation for installing, using, and debugging the\nnew Kroll annotation processor for Android [#1732]\n\nhttp://github.com/appcelerator/titanium_mobile/commit/b8f077c92df3d...

{html}", "updateAuthor": { "name": "mculpepper", "key": "mculpepper", "displayName": "Marshall Culpepper", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T03:00:49.000+0000", "updated": "2011-04-15T03:00:49.000+0000" }, { "id": "126493", "author": { "name": "mschmulen", "key": "mschmulen", "displayName": "Matt Schmulen", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

Titanium SDK version: 1.5.0 (12/01/10 09:30 ac7cfd8), Drillbit,\nAndroid Sim 1.6, 2.1

{html}", "updateAuthor": { "name": "mschmulen", "key": "mschmulen", "displayName": "Matt Schmulen", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T03:00:50.000+0000", "updated": "2011-04-15T03:00:50.000+0000" } ], "maxResults": 11, "total": 11, "startAt": 0 } } }