{ "id": "62462", "key": "TIMOB-1830", "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": [ { "id": "11225", "name": "Release 1.5.0", "archived": true, "released": true, "releaseDate": "2010-12-14" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2011-04-17T01:57:17.000+0000", "created": "2011-04-15T03:03:24.000+0000", "priority": { "name": "Trivial", "id": "5" }, "labels": [ "android", "defect" ], "versions": [], "issuelinks": [], "assignee": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "updated": "2011-04-17T01:57:17.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}

Simple failcase app.js:

\n
\n\nTitanium.UI.setBackgroundColor('#000');\nvar win = Titanium.UI.createWindow({  \n    title:'Map Test', backgroundColor:'#fff',\n    fullscreen: true, exitOnClose: true\n});\n\nvar open = Ti.UI.createButton({title: 'Open mapview window'});\nopen.addEventListener('click', function(){\n    var w2 = Ti.UI.createWindow({title: 'Map View', backgroundColor: 'green'});\n    var mapview = Titanium.Map.createView({\n        mapType: Titanium.Map.STANDARD_TYPE,\n        region: {latitude:33.74511, longitude:-84.38993, \n                latitudeDelta:0.01, longitudeDelta:0.01},\n        top: 0, left: 0, right: 0, height: 300\n    });\n    w2.add(mapview);\n    var close = Ti.UI.createButton({title: 'close', top: 305});\n    close.addEventListener('click', function(){ w2.close(); });\n    w2.add(close);\n    w2.open();\n});\nwin.add(open);\n\nwin.open();\n
\n

The map activity only gets destroyed when the \"parent\" activity\ngets destroyed. Since lightweight windows don't have their own\nactivities, destroy doesn't occur. If you try to the same or\nanother window with a mapview, it will therefore fail.

\n

We need a way to get that map activity destroyed even when the\nhost window is lightweight. In the past we've told some users about\nan undocumented hack, calling mapview.OnDestroy. But we shouldn't\ndo that as it's not cross-platform and may be unavailable with new\nKroll.

{html}", "attachment": [], "flagged": false, "summary": "Android: FC when trying to open lightweight window with Mapview a second time", "creator": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "subtasks": [], "reporter": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "environment": null, "comment": { "comments": [ { "id": "126775", "author": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "body": "{html}

(from [4fc1e678d66860acfedd139baf486f849eb934b8])\n[#1830 state:fixed-in-qa] Take care of destroying\nmap activity by overriding and hooking into releaseViews().\n\nhttp://github.com/appcelerator/titanium_mobile/commit/4fc1e678d6686...

{html}", "updateAuthor": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "created": "2011-04-15T03:03:24.000+0000", "updated": "2011-04-15T03:03:24.000+0000" }, { "id": "126776", "author": { "name": "thomashuelbert", "key": "thomashuelbert", "displayName": "Thomas Huelbert", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

confirmed on a G1 running 1.6, leaving in my pile till I get a\n2.1 and 2.2 device to close against.

{html}", "updateAuthor": { "name": "thomashuelbert", "key": "thomashuelbert", "displayName": "Thomas Huelbert", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T03:03:24.000+0000", "updated": "2011-04-15T03:03:24.000+0000" }, { "id": "126777", "author": { "name": "thomashuelbert", "key": "thomashuelbert", "displayName": "Thomas Huelbert", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

oops, did not set ticket state

{html}", "updateAuthor": { "name": "thomashuelbert", "key": "thomashuelbert", "displayName": "Thomas Huelbert", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T03:03:25.000+0000", "updated": "2011-04-15T03:03:25.000+0000" }, { "id": "126778", "author": { "name": "thomashuelbert", "key": "thomashuelbert", "displayName": "Thomas Huelbert", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

and again, lol

{html}", "updateAuthor": { "name": "thomashuelbert", "key": "thomashuelbert", "displayName": "Thomas Huelbert", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T03:03:25.000+0000", "updated": "2011-04-15T03:03:25.000+0000" } ], "maxResults": 4, "total": 4, "startAt": 0 } } }