{ "id": "110091", "key": "TIMOB-12837", "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": "14162", "description": "Release 3.1.0", "name": "Release 3.1.0", "archived": true, "released": true, "releaseDate": "2013-04-16" }, { "id": "15273", "description": "2013 Sprint 05 API", "name": "2013 Sprint 05 API", "archived": true, "released": true, "releaseDate": "2013-03-11" }, { "id": "14815", "description": "2013 Sprint 05", "name": "2013 Sprint 05", "archived": true, "released": true, "releaseDate": "2013-03-11" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2013-02-25T21:57:35.000+0000", "created": "2013-02-24T07:19:42.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "api", "qe-mapv2" ], "versions": [ { "id": "14164", "description": "Release 3.0.2", "name": "Release 3.0.2", "archived": true, "released": true, "releaseDate": "2013-02-19" } ], "issuelinks": [], "assignee": { "name": "hpham", "key": "hpham", "displayName": "Hieu Pham", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2014-06-19T12:43:10.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": "When trying to pass in an array of annotations to an existing map using the \"addAnnotations\" method, the app crashes.\r\n\r\n{code}\r\nvar win = Ti.UI.createWindow({fullscreen: false});\r\nvar MapModule = require('ti.map');\r\n\r\nvar map = MapModule.createView({\r\n\tuserLocation: true,\r\n\tmapType: MapModule.NORMAL_TYPE,\r\n\tanimate: true,\r\n\t//annotations: [anno, anno2, anno4],\r\n\tregion: {latitude: -33.87365, longitude: 151.20689, latitudeDelta: 0.1, longitudeDelta: 0.1 } //Sydney\r\n});\r\n\r\nvar anno = MapModule.createAnnotation({latitude: -33.87365, image: 'map_pin.png', longitude: 151.20689, title: \"Sydney\", subtitle: \"Sydney is quite chill\", draggable: true});\r\nvar anno2 = MapModule.createAnnotation({latitude: -33.86365, pincolor: MapModule.ANNOTATION_BLUE, longitude: 151.21689, title: \"Anno2\", subtitle: \"Blue Draggable\", draggable: true});\r\nvar anno3 = MapModule.createAnnotation({latitude: -33.85365, longitude: 151.20689, title: \"Anno3\", subtitle: \"Not Draggable\", draggable: false});\r\nvar anno4 = MapModule.createAnnotation({latitude: -33.86365, longitude: 151.22689, title: \"Anno4\", subtitle: \"Draggable\", draggable: true});\r\n\r\nvar myAnnotations=[];\r\n\r\nmyAnnotations.push(MapModule.createAnnotation({\r\n latitude: 37.391232,\r\n longitude: -122.050923,\r\n pincolor: MapModule.ANNOTATION_GREEN\r\n}));\r\n\r\nmyAnnotations.push(MapModule.createAnnotation({\r\n latitude: -33.86365, \r\n longitude: 151.22689, \r\n title: \"Anno4\", \r\n subtitle: \"Draggable\", \r\n draggable: true\r\n}));\r\n\r\nwin.add(map);\r\n\r\nmap.addAnnotations(myAnnotations);\r\n\r\nwin.open();\r\n{code}\r\n\r\nSteps to reproduce:\r\n1) Use sample code above in your pre-configured app with Google map API v2 key\r\n2) Run the app\r\n\r\nResult:\r\nApp crash with adb log cat:\r\n\r\n{code}\r\nW/dalvikvm(29704): threadid=1: thread exiting with uncaught exception (group=0x41450930)\r\nE/TiApplication(29704): (main) [4298,4298] Sending event: exception on thread: main msg:java.lang.ClassCastException: java.lang.Object[] cannot be cast to ti.map.AnnotationProxy[]; Titanium 3.0.2,2013/02/15 19:02,5a77fe7\r\nE/TiApplication(29704): java.lang.ClassCastException: java.lang.Object[] cannot be cast to ti.map.AnnotationProxy[]\r\nE/TiApplication(29704): \tat ti.map.ViewProxy.handleMessage(ViewProxy.java:86)\r\nE/TiApplication(29704): \tat android.os.Handler.dispatchMessage(Handler.java:95)\r\nE/TiApplication(29704): \tat android.os.Looper.loop(Looper.java:137)\r\nE/TiApplication(29704): \tat android.app.ActivityThread.main(ActivityThread.java:5039)\r\nE/TiApplication(29704): \tat java.lang.reflect.Method.invokeNative(Native Method)\r\nE/TiApplication(29704): \tat java.lang.reflect.Method.invoke(Method.java:511)\r\nE/TiApplication(29704): \tat com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)\r\nE/TiApplication(29704): \tat com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)\r\nE/TiApplication(29704): \tat dalvik.system.NativeStart.main(Native Method)\r\nD/AudioStreamOutALSA( 165): mHandle->useCase: HiFi Lowlatency\r\nD/ALSAModule( 165): s_route: devices 0x2 in mode 0\r\nD/ALSAModule( 165): switchDevice: device 2 mode:0\r\nD/ALSAModule( 165): No valid input device: 0\r\nD/ALSAModule( 165): switchDevice,rxDev:Speaker, txDev:(null), curRxDev:Speaker, curTxDev:None\r\nD/alsa_ucm( 165): snd_use_case_set(): uc_mgr 0x40c25388 identifier _enadev value Speaker\r\nD/ALSAModule( 165): switchDevice: curTxUCMDevivce None curRxDevDevice Speaker\r\nD/alsa_ucm( 165): snd_use_case_set(): uc_mgr 0x40c25388 identifier _verb value HiFi Lowlatency\r\nD/alsa_ucm( 165): Set mixer controls for Speaker enable 1\r\nD/ACDB-LOADER( 165): ACDB -> send_afe_cal\r\nD/alsa_ucm( 165): Set mixer controls for HiFi Lowlatency enable 1\r\nD/ALSAModule( 165): Device value returned is hw:0,14\r\nD/ALSAModule( 165): setHardwareParams: reqBuffSize 1024 channels 2 sampleRate 48000\r\nD/ALSAModule( 165): setHardwareParams: buffer_size 2048, period_size 1024, period_cnt 2\r\nE/AndroidRuntime(29704): FATAL EXCEPTION: main\r\nE/AndroidRuntime(29704): java.lang.ClassCastException: java.lang.Object[] cannot be cast to ti.map.AnnotationProxy[]\r\nE/AndroidRuntime(29704): \tat ti.map.ViewProxy.handleMessage(ViewProxy.java:86)\r\nE/AndroidRuntime(29704): \tat android.os.Handler.dispatchMessage(Handler.java:95)\r\nE/AndroidRuntime(29704): \tat android.os.Looper.loop(Looper.java:137)\r\nE/AndroidRuntime(29704): \tat android.app.ActivityThread.main(ActivityThread.java:5039)\r\nE/AndroidRuntime(29704): \tat java.lang.reflect.Method.invokeNative(Native Method)\r\nE/AndroidRuntime(29704): \tat java.lang.reflect.Method.invoke(Method.java:511)\r\nE/AndroidRuntime(29704): \tat com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)\r\nE/AndroidRuntime(29704): \tat com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)\r\nE/AndroidRuntime(29704): \tat dalvik.system.NativeStart.main(Native Method)\r\nW/ActivityManager( 581): Force finishing activity com.appcelerator.mapmod/.Mapv2moduletestActivity\r\nD/overlay ( 162): FROM_STATE = OV_BYPASS_3_LAYER TO_STATE = OV_CLOSED\r\nW/ActivityManager( 581): Activity pause timeout for ActivityRecord{41d06c00 u0 com.appcelerator.mapmod/.Mapv2moduletestActivity}\r\n{code}\r\n\r\nExpected:\r\nAnnotations added to map", "attachment": [], "flagged": false, "summary": "Mapsv2 Module: App crash when attempting to use addAnnotations method.", "creator": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "Mac OS X 10.8.2\r\nMap Module v2", "comment": { "comments": [ { "id": "239609", "author": { "name": "hpham", "key": "hpham", "displayName": "Hieu Pham", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR: https://github.com/appcelerator/titanium_modules/pull/84", "updateAuthor": { "name": "hpham", "key": "hpham", "displayName": "Hieu Pham", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-02-25T06:19:41.000+0000", "updated": "2013-02-25T06:19:41.000+0000" }, { "id": "239732", "author": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Verified small app crash fixed with commit 79ecd69911a94b0193d4dec21fc17ad17bfe8239. Closing.", "updateAuthor": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-02-25T23:34:29.000+0000", "updated": "2013-02-25T23:34:29.000+0000" } ], "maxResults": 2, "total": 2, "startAt": 0 } } }