Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-13221] Android: Maps V2 Module - addAnnotations method not working on a map

GitHub Issuen/a
TypeBug
PriorityHigh
StatusClosed
ResolutionDuplicate
Resolution Date2013-03-29T22:21:57.000+0000
Affected Version/sRelease 2.1.3, Release 3.1.0
Fix Version/sCo-3.1.0
ComponentsAndroid
LabelssupportTeam, triage
ReporterEduardo Gomez
AssigneeIngo Muschenetz
Created2013-03-26T19:32:21.000+0000
Updated2017-03-22T20:41:42.000+0000

Description

Issue

addAnnotations method forces app to close.

Steps to reproduce

1. load app - app opens and run Maps as expected 2. click on any annotation - offending code under Resources/ui/common/FirstView.js 3. Monitor logs - from there

console logs

03-26 13:16:51.689: I/ActivityManager(499): Start proc com.map for activity com.map/.MaptestActivity: pid=11910 uid=10150 gids={1015, 3003}
03-26 13:16:51.744: I/TiApplication(11910): (main) [0,0] checkpoint, app created.
03-26 13:16:51.775: I/TiApplication(11910): (main) [34,34] Titanium 2.1.3.MapsModule (2013/03/04 08:32 15997d0)
03-26 13:16:51.853: I/TiApplication(11910): (main) [82,116] Titanium Javascript runtime: v8
03-26 13:16:51.861: D/dalvikvm(11910): Trying to load lib /data/data/com.map/lib/libstlport_shared.so 0x4051b880
03-26 13:16:51.861: D/dalvikvm(11910): Added shared lib /data/data/com.map/lib/libstlport_shared.so 0x4051b880
03-26 13:16:51.861: D/dalvikvm(11910): No JNI_OnLoad found in /data/data/com.map/lib/libstlport_shared.so 0x4051b880, skipping init
03-26 13:16:51.861: D/dalvikvm(11910): Trying to load lib /data/data/com.map/lib/libkroll-v8.so 0x4051b880
03-26 13:16:51.869: D/dalvikvm(11910): Added shared lib /data/data/com.map/lib/libkroll-v8.so 0x4051b880
03-26 13:16:51.924: I/TiRootActivity(11910): (main) [0,0] checkpoint, on root activity create, savedInstanceState: null
03-26 13:16:52.127: E/TiApplication(11910): (KrollRuntimeThread) [204,204] APP PROXY: ti.modules.titanium.app.AppModule@405baf10
03-26 13:16:52.150: D/dalvikvm(11910): Trying to load lib /data/data/com.map/lib/libti.map.so 0x4051b880
03-26 13:16:52.150: D/dalvikvm(11910): Added shared lib /data/data/com.map/lib/libti.map.so 0x4051b880
03-26 13:16:52.150: D/dalvikvm(11910): No JNI_OnLoad found in /data/data/com.map/lib/libti.map.so 0x4051b880, skipping init
03-26 13:16:52.181: D/Module(11910): Loading module: ui/tablet/ApplicationWindow -> Resources/ui/tablet/ApplicationWindow.js
03-26 13:16:52.189: D/Module(11910): Loading module: ui/common/FirstView -> Resources/ui/common/FirstView.js
03-26 13:16:52.220: W/ProcessStats(499): Skipping unknown process pid 11954
03-26 13:16:52.260: I/dalvikvm(11910): Could not find method org.appcelerator.titanium.TiBlob.getImage, referenced from method ti.map.AnnotationProxy.handleCustomView
03-26 13:16:52.260: W/dalvikvm(11910): VFY: unable to resolve virtual method 5930: Lorg/appcelerator/titanium/TiBlob;.getImage ()Landroid/graphics/Bitmap;
03-26 13:16:52.260: D/dalvikvm(11910): VFY: replacing opcode 0x6e at 0x0017
03-26 13:16:52.260: D/dalvikvm(11910): VFY: dead code 0x001a-0025 in Lti/map/AnnotationProxy;.handleCustomView (Ljava/lang/Object;)V
03-26 13:16:52.260: D/dalvikvm(11910): VFY: dead code 0x0027-003f in Lti/map/AnnotationProxy;.handleCustomView (Ljava/lang/Object;)V
03-26 13:16:52.314: I/dalvikvm(11910): Could not find method org.appcelerator.kroll.common.Log.d, referenced from method ti.map.TiUIMapView.onMarkerDrag
03-26 13:16:52.314: W/dalvikvm(11910): VFY: unable to resolve static method 5483: Lorg/appcelerator/kroll/common/Log;.d (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
03-26 13:16:52.314: D/dalvikvm(11910): VFY: replacing opcode 0x71 at 0x0006
03-26 13:16:52.322: D/dalvikvm(11910): VFY: dead code 0x0009-0009 in Lti/map/TiUIMapView;.onMarkerDrag (Lcom/google/android/gms/maps/model/Marker;)V
03-26 13:16:52.322: I/dalvikvm(11910): Could not find method org.appcelerator.titanium.util.TiConvert.toBoolean, referenced from method ti.map.TiUIMapView.processMapProperties
03-26 13:16:52.322: W/dalvikvm(11910): VFY: unable to resolve static method 6734: Lorg/appcelerator/titanium/util/TiConvert;.toBoolean (Ljava/util/HashMap;Ljava/lang/String;Z)Z
03-26 13:16:52.322: D/dalvikvm(11910): VFY: replacing opcode 0x71 at 0x0079
03-26 13:16:52.322: D/dalvikvm(11910): VFY: dead code 0x007c-007f in Lti/map/TiUIMapView;.processMapProperties (Lorg/appcelerator/kroll/KrollDict;)V
03-26 13:16:52.322: I/dalvikvm(11910): Could not find method org.appcelerator.titanium.util.TiConvert.toBoolean, referenced from method ti.map.TiUIMapView.propertyChanged
03-26 13:16:52.322: W/dalvikvm(11910): VFY: unable to resolve static method 6732: Lorg/appcelerator/titanium/util/TiConvert;.toBoolean (Ljava/lang/Object;Z)Z
03-26 13:16:52.322: D/dalvikvm(11910): VFY: replacing opcode 0x71 at 0x0066
03-26 13:16:52.322: D/dalvikvm(11910): VFY: dead code 0x0069-006d in Lti/map/TiUIMapView;.propertyChanged (Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Lorg/appcelerator/kroll/KrollProxy;)V
03-26 13:16:52.369: D/dalvikvm(11910): GC_EXTERNAL_ALLOC freed 603K, 46% free 3343K/6087K, external 2357K/2773K, paused 31ms
03-26 13:16:52.424: D/dalvikvm(11910): Trying to load lib /data/data/com.map/lib/libtiverify.so 0x4051b880
03-26 13:16:52.424: D/dalvikvm(11910): Added shared lib /data/data/com.map/lib/libtiverify.so 0x4051b880
03-26 13:16:52.431: W/dalvikvm(11910): VFY: unable to resolve static field 549 (common_google_play_services_install_title) in Lcom/google/android/gms/R$string;
03-26 13:16:52.431: D/dalvikvm(11910): VFY: replacing opcode 0x60 at 0x0041
03-26 13:16:52.431: W/dalvikvm(11910): VFY: unable to resolve static field 545 (common_google_play_services_enable_title) in Lcom/google/android/gms/R$string;
03-26 13:16:52.431: D/dalvikvm(11910): VFY: replacing opcode 0x60 at 0x004c
03-26 13:16:52.431: W/dalvikvm(11910): VFY: unable to resolve static field 553 (common_google_play_services_update_title) in Lcom/google/android/gms/R$string;
03-26 13:16:52.431: D/dalvikvm(11910): VFY: replacing opcode 0x60 at 0x0057
03-26 13:16:52.431: D/dalvikvm(11910): VFY: dead code 0x0043-004a in Lcom/google/android/gms/common/GooglePlayServicesUtil;.a (ILandroid/app/Activity;ILandroid/content/DialogInterface$OnCancelListener;I)Landroid/app/Dialog;
03-26 13:16:52.431: D/dalvikvm(11910): VFY: dead code 0x004e-0056 in Lcom/google/android/gms/common/GooglePlayServicesUtil;.a (ILandroid/app/Activity;ILandroid/content/DialogInterface$OnCancelListener;I)Landroid/app/Dialog;
03-26 13:16:52.431: D/dalvikvm(11910): VFY: dead code 0x0059-0061 in Lcom/google/android/gms/common/GooglePlayServicesUtil;.a (ILandroid/app/Activity;ILandroid/content/DialogInterface$OnCancelListener;I)Landroid/app/Dialog;
03-26 13:16:52.431: W/dalvikvm(11910): VFY: unable to resolve static field 546 (common_google_play_services_install_button) in Lcom/google/android/gms/R$string;
03-26 13:16:52.431: D/dalvikvm(11910): VFY: replacing opcode 0x60 at 0x0009
03-26 13:16:52.431: W/dalvikvm(11910): VFY: unable to resolve static field 543 (common_google_play_services_enable_button) in Lcom/google/android/gms/R$string;
03-26 13:16:52.431: D/dalvikvm(11910): VFY: replacing opcode 0x60 at 0x0010
03-26 13:16:52.431: W/dalvikvm(11910): VFY: unable to resolve static field 551 (common_google_play_services_update_button) in Lcom/google/android/gms/R$string;
03-26 13:16:52.431: D/dalvikvm(11910): VFY: replacing opcode 0x60 at 0x0017
03-26 13:16:52.431: D/dalvikvm(11910): VFY: dead code 0x000b-000f in Lcom/google/android/gms/common/GooglePlayServicesUtil;.a (Landroid/content/Context;I)Ljava/lang/String;
03-26 13:16:52.431: D/dalvikvm(11910): VFY: dead code 0x0012-0016 in Lcom/google/android/gms/common/GooglePlayServicesUtil;.a (Landroid/content/Context;I)Ljava/lang/String;
03-26 13:16:52.431: D/dalvikvm(11910): VFY: dead code 0x0019-001d in Lcom/google/android/gms/common/GooglePlayServicesUtil;.a (Landroid/content/Context;I)Ljava/lang/String;
03-26 13:16:52.431: W/dalvikvm(11910): VFY: unable to resolve static field 550 (common_google_play_services_unknown_issue) in Lcom/google/android/gms/R$string;
03-26 13:16:52.431: D/dalvikvm(11910): VFY: replacing opcode 0x60 at 0x0004
03-26 13:16:52.431: D/dalvikvm(11910): VFY: dead code 0x0006-0065 in Lcom/google/android/gms/common/GooglePlayServicesUtil;.b (Landroid/content/Context;II)Ljava/lang/String;
03-26 13:16:52.431: D/dalvikvm(11910): DexOpt: couldn't find field Landroid/content/res/Configuration;.smallestScreenWidthDp
03-26 13:16:52.431: W/dalvikvm(11910): VFY: unable to resolve instance field 30
03-26 13:16:52.431: D/dalvikvm(11910): VFY: replacing opcode 0x52 at 0x0012
03-26 13:16:52.431: D/dalvikvm(11910): VFY: dead code 0x0014-0018 in Lcom/google/android/gms/common/GooglePlayServicesUtil;.b (Landroid/content/res/Resources;)Z
03-26 13:16:52.431: I/dalvikvm(11910): DexOpt: unable to optimize static field ref 0x0224 at 0x18 in Lcom/google/android/gms/common/GooglePlayServicesUtil;.b
03-26 13:16:52.431: I/dalvikvm(11910): DexOpt: unable to optimize static field ref 0x0223 at 0x38 in Lcom/google/android/gms/common/GooglePlayServicesUtil;.b
03-26 13:16:52.431: I/dalvikvm(11910): DexOpt: unable to optimize static field ref 0x0220 at 0x3f in Lcom/google/android/gms/common/GooglePlayServicesUtil;.b
03-26 13:16:52.431: I/dalvikvm(11910): DexOpt: unable to optimize static field ref 0x0228 at 0x46 in Lcom/google/android/gms/common/GooglePlayServicesUtil;.b
03-26 13:16:52.478: W/dalvikvm(11910): Unable to resolve superclass of Lmaps/p/s; (427)
03-26 13:16:52.478: W/dalvikvm(11910): Link of class 'Lmaps/p/s;' failed
03-26 13:16:52.478: W/dalvikvm(11910): Unable to resolve superclass of Lmaps/y/bo; (3820)
03-26 13:16:52.478: W/dalvikvm(11910): Link of class 'Lmaps/y/bo;' failed
03-26 13:16:52.478: W/dalvikvm(11910): Unable to resolve superclass of Lmaps/i/k; (4208)
03-26 13:16:52.478: W/dalvikvm(11910): Link of class 'Lmaps/i/k;' failed
03-26 13:16:52.478: E/dalvikvm(11910): Could not find class 'maps.i.k', referenced from method maps.z.ag.a
03-26 13:16:52.478: W/dalvikvm(11910): VFY: unable to resolve new-instance 3540 (Lmaps/i/k;) in Lmaps/z/ag;
03-26 13:16:52.478: D/dalvikvm(11910): VFY: replacing opcode 0x22 at 0x006d
03-26 13:16:52.486: D/dalvikvm(11910): VFY: dead code 0x006f-007f in Lmaps/z/ag;.a (Landroid/view/LayoutInflater;Lcom/google/android/gms/maps/GoogleMapOptions;ZLjava/lang/String;)Lmaps/z/ag;
03-26 13:16:52.588: I/TiRootActivity(11910): (main) [0,0] checkpoint, on root activity resume. activity = com.map.MaptestActivity@405a2128
03-26 13:16:52.650: I/gralloc(499): Allocated 0x660072 size 6488161
03-26 13:16:52.713: D/dalvikvm(11910): GC_CONCURRENT freed 965K, 44% free 4079K/7175K, external 5955K/6705K, paused 2ms+3ms
03-26 13:16:52.744: D/libEGL(11910): loaded /system/lib/egl/libGLES_android.so
03-26 13:16:52.744: D/libEGL(11910): loaded /system/lib/egl/libEGL_POWERVR_SGX540_120.so
03-26 13:16:52.744: D/libEGL(11910): loaded /system/lib/egl/libGLESv1_CM_POWERVR_SGX540_120.so
03-26 13:16:52.752: I/ActivityManager(499): Displayed com.map/.MaptestActivity: +1s60ms
03-26 13:16:52.760: D/libEGL(11910): loaded /system/lib/egl/libGLESv2_POWERVR_SGX540_120.so
03-26 13:16:52.760: W/InputManagerService(499): Starting input on non-focused client com.android.internal.view.IInputMethodClient$Stub$Proxy@409415c8 (uid=10035 pid=861)
03-26 13:16:52.799: W/SocketListener(260): Num of active clients:1
03-26 13:16:52.814: I/gralloc(499): Allocated 0x660072 size 6488161
03-26 13:16:52.869: W/dalvikvm(11910): VFY: unable to resolve static field 554 (MapAttrs) in Lcom/google/android/gms/R$styleable;
03-26 13:16:52.869: D/dalvikvm(11910): VFY: replacing opcode 0x62 at 0x000d
03-26 13:16:52.869: D/dalvikvm(11910): VFY: dead code 0x000f-0066 in Lcom/google/android/gms/maps/model/CameraPosition;.createFromAttributes (Landroid/content/Context;Landroid/util/AttributeSet;)Lcom/google/android/gms/maps/model/CameraPosition;
03-26 13:16:52.877: I/gralloc(499): Allocated 0x660072 size 6488161
03-26 13:16:52.908: I/gralloc(499): Allocated 0x660072 size 6488161
03-26 13:16:53.150: W/SocketListener(260): Num of active clients:1
03-26 13:16:54.150: D/dalvikvm(11910): GC_FOR_MALLOC freed 1336K, 44% free 4578K/8071K, external 6468K/6705K, paused 47ms
03-26 13:16:55.252: D/dalvikvm(11910): GC_FOR_MALLOC freed 991K, 44% free 4956K/8775K, external 6150K/6705K, paused 30ms
03-26 13:16:55.314: D/dalvikvm(11910): GC_EXTERNAL_ALLOC freed 12K, 43% free 5010K/8775K, external 6150K/6705K, paused 33ms
03-26 13:16:55.353: W/SocketListener(260): Num of active clients:1
03-26 13:16:55.572: W/SocketListener(260): Num of active clients:1
03-26 13:16:57.502: D/AndroidRuntime(11910): Shutting down VM
03-26 13:16:57.502: W/dalvikvm(11910): threadid=1: thread exiting with uncaught exception (group=0x4001e560)
03-26 13:16:57.510: E/TiApplication(11910): (main) [4912,4912] Sending event: exception on thread: main msg:java.lang.NullPointerException; Titanium 2.1.3.MapsModule,2013/03/04 08:32,15997d0
03-26 13:16:57.510: E/TiApplication(11910): java.lang.NullPointerException
03-26 13:16:57.510: E/TiApplication(11910): 	at ti.map.TiUIMapView.onMarkerClick(TiUIMapView.java:411)
03-26 13:16:57.510: E/TiApplication(11910): 	at com.google.android.gms.maps.GoogleMap$4.f(Unknown Source)
03-26 13:16:57.510: E/TiApplication(11910): 	at com.google.android.gms.internal.an$a.onTransact(Unknown Source)
03-26 13:16:57.510: E/TiApplication(11910): 	at android.os.Binder.transact(Binder.java:295)
03-26 13:16:57.510: E/TiApplication(11910): 	at com.google.android.gms.maps.internal.IOnMarkerClickListener$Stub$Proxy.onMarkerClick(IOnMarkerClickListener.java:84)
03-26 13:16:57.510: E/TiApplication(11910): 	at maps.z.by.a(Unknown Source)
03-26 13:16:57.510: E/TiApplication(11910): 	at maps.y.ba.a(Unknown Source)
03-26 13:16:57.510: E/TiApplication(11910): 	at maps.y.d.c(Unknown Source)
03-26 13:16:57.510: E/TiApplication(11910): 	at maps.y.bj.a(Unknown Source)
03-26 13:16:57.510: E/TiApplication(11910): 	at maps.y.v.c(Unknown Source)
03-26 13:16:57.510: E/TiApplication(11910): 	at maps.y.bf.onSingleTapConfirmed(Unknown Source)
03-26 13:16:57.510: E/TiApplication(11910): 	at maps.d.v.onSingleTapConfirmed(Unknown Source)
03-26 13:16:57.510: E/TiApplication(11910): 	at maps.d.j.handleMessage(Unknown Source)
03-26 13:16:57.510: E/TiApplication(11910): 	at android.os.Handler.dispatchMessage(Handler.java:99)
03-26 13:16:57.510: E/TiApplication(11910): 	at android.os.Looper.loop(Looper.java:130)
03-26 13:16:57.510: E/TiApplication(11910): 	at android.app.ActivityThread.main(ActivityThread.java:3859)
03-26 13:16:57.510: E/TiApplication(11910): 	at java.lang.reflect.Method.invokeNative(Native Method)
03-26 13:16:57.510: E/TiApplication(11910): 	at java.lang.reflect.Method.invoke(Method.java:507)
03-26 13:16:57.510: E/TiApplication(11910): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:840)
03-26 13:16:57.510: E/TiApplication(11910): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:598)
03-26 13:16:57.510: E/TiApplication(11910): 	at dalvik.system.NativeStart.main(Native Method)
03-26 13:16:57.572: E/AndroidRuntime(11910): FATAL EXCEPTION: main
03-26 13:16:57.572: E/AndroidRuntime(11910): java.lang.NullPointerException
03-26 13:16:57.572: E/AndroidRuntime(11910): 	at ti.map.TiUIMapView.onMarkerClick(TiUIMapView.java:411)
03-26 13:16:57.572: E/AndroidRuntime(11910): 	at com.google.android.gms.maps.GoogleMap$4.f(Unknown Source)
03-26 13:16:57.572: E/AndroidRuntime(11910): 	at com.google.android.gms.internal.an$a.onTransact(Unknown Source)
03-26 13:16:57.572: E/AndroidRuntime(11910): 	at android.os.Binder.transact(Binder.java:295)
03-26 13:16:57.572: E/AndroidRuntime(11910): 	at com.google.android.gms.maps.internal.IOnMarkerClickListener$Stub$Proxy.onMarkerClick(IOnMarkerClickListener.java:84)
03-26 13:16:57.572: E/AndroidRuntime(11910): 	at maps.z.by.a(Unknown Source)
03-26 13:16:57.572: E/AndroidRuntime(11910): 	at maps.y.ba.a(Unknown Source)
03-26 13:16:57.572: E/AndroidRuntime(11910): 	at maps.y.d.c(Unknown Source)
03-26 13:16:57.572: E/AndroidRuntime(11910): 	at maps.y.bj.a(Unknown Source)
03-26 13:16:57.572: E/AndroidRuntime(11910): 	at maps.y.v.c(Unknown Source)
03-26 13:16:57.572: E/AndroidRuntime(11910): 	at maps.y.bf.onSingleTapConfirmed(Unknown Source)
03-26 13:16:57.572: E/AndroidRuntime(11910): 	at maps.d.v.onSingleTapConfirmed(Unknown Source)
03-26 13:16:57.572: E/AndroidRuntime(11910): 	at maps.d.j.handleMessage(Unknown Source)
03-26 13:16:57.572: E/AndroidRuntime(11910): 	at android.os.Handler.dispatchMessage(Handler.java:99)
03-26 13:16:57.572: E/AndroidRuntime(11910): 	at android.os.Looper.loop(Looper.java:130)
03-26 13:16:57.572: E/AndroidRuntime(11910): 	at android.app.ActivityThread.main(ActivityThread.java:3859)
03-26 13:16:57.572: E/AndroidRuntime(11910): 	at java.lang.reflect.Method.invokeNative(Native Method)
03-26 13:16:57.572: E/AndroidRuntime(11910): 	at java.lang.reflect.Method.invoke(Method.java:507)
03-26 13:16:57.572: E/AndroidRuntime(11910): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:840)
03-26 13:16:57.572: E/AndroidRuntime(11910): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:598)
03-26 13:16:57.572: E/AndroidRuntime(11910): 	at dalvik.system.NativeStart.main(Native Method)
03-26 13:16:57.580: W/ActivityManager(499):   Force finishing activity com.map/.MaptestActivity
03-26 13:16:57.713: D/dalvikvm(499): GC_EXTERNAL_ALLOC freed 221K, 35% free 9552K/14535K, external 9368K/9368K, paused 114ms
03-26 13:16:57.744: W/ApplicationContext(499): Unable to create files directory
03-26 13:16:57.759: I/gralloc(499): Allocated 0x64657375 size 1818322493
03-26 13:16:58.088: W/ActivityManager(499): Activity pause timeout for HistoryRecord{40702598 com.map/.MaptestActivity}
03-26 13:16:58.103: D/ActivitityRenderTarget(861): onResume
03-26 13:16:58.127: W/IMGSRV(861): eglglue.c:778: InitContext: ignoring buffer type CBUF_TYPE_PDS_VERT_SECONDARY_PREGEN_BUFFER

Additional details

Patched 2.1.3.GA SDK for use: http://dl.dropbox.com/u/34061091/mobilesdk-2.1.3.MapsModule-osx.zip

Further info

Map Module does not force the app to close as long as all the annotations have been added during Map creation i.e. "var map = MapModule.createView({ annotations : [anno1, anno2, anno3],"

Attachments

FileDateSize
TravisTestApp.zip2013-03-26T19:32:21.000+00002901515

Comments

  1. Vishal Duggal 2013-03-26

    The logs indicate that it is essentially failing since it can not find the method getImage() on TiBlob. This was implemented as part of TIMOB-10080 in 3.0.0. Since a patched SDK is being used, can you see if the method actually exists in this version of the SDK?
  2. Eduardo Gomez 2013-03-26

    On TiBlob.java there is no getImage() method for the 2.1.3.GA sdk that have been patched. We looked for getImage() as is seen below:
       +  public Bitmap getImage()
       +  {
       +    switch(type) {
       +      case TYPE_FILE:
       +        return BitmapFactory.decodeStream(getInputStream());
       +      case TYPE_DATA:
       +        byte[] byteArray = (byte[])data;
       +        return BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);
       +    }
       +    return image;
       +  }
       
    PR https://github.com/pingwang2011/titanium_mobile/commit/44d71ff33595c9142ab57357bcc0595b092139b7#L1R448
  3. Ping Wang 2013-03-27

    PR to fix the NPE: https://github.com/appcelerator/titanium_modules/pull/94
  4. Lee Morris 2017-03-22

    Closing ticket as duplicate of the ticket that is mentioned above and has since been closed.

JSON Source