{ "id": "90931", "key": "TIMOB-8899", "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": [], "resolution": { "id": "7", "description": "", "name": "Invalid" }, "resolutiondate": "2012-05-04T08:22:35.000+0000", "created": "2012-04-26T14:55:05.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "api" ], "versions": [ { "id": "13070", "description": "Release 1.8 Service Pack 2", "name": "Release 1.8.2", "archived": true, "released": true, "releaseDate": "2012-02-29" }, { "id": "13272", "description": "Release 2.0.1", "name": "Release 2.0.1", "archived": true, "released": true, "releaseDate": "2012-04-16" } ], "issuelinks": [], "assignee": { "name": "pwang", "key": "pwang", "displayName": "Ping Wang", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2017-03-09T23:26:45.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": "showCamera does not work on the HTC Sensation with no sd card\r\n\r\nh4. Steps to repro:\r\nStep 1: run the code below on an HTC Sensation 2.3.3 with no sd card\r\nStep 2: tap the blue window (nothing will happen)\r\nStep 3: check logcat\r\nStep 4: you will see the error posted below\r\n\r\n{code:js}\r\nvar win = Ti.UI.createWindow({backgroundColor: 'blue'});\r\nwin.open();\r\n\r\nwin.addEventListener('click', function(){\r\n\tvar params = {\r\n\t\tsuccess:function(e){\r\n\t\t\tTi.API.info('SUCCESS');\r\n\t\t},\r\n\t\terror:function(e){\r\n\t\t\tTi.API.info('ERROR '+e);\r\n\t\t},\r\n\t\tcancel:function(e){\r\n\t\t\tTi.API.info('CANCEL '+e);\r\n\t\t},\r\n\t\tallowEditing:true,\r\n\t\tmediaTypes:[Ti.Media.MEDIA_TYPE_PHOTO]\r\n\r\n\t};\r\n\tTi.Media.showCamera(params);\r\n});\r\n{code}\r\n\r\nh4. Console\r\n{code}\r\nD/CameraService(20431): CameraService::connect E (pid 23291, id 0), max 2\r\nI/CameraService(20431): cameraId:0\r\nI/CameraService(20431): 2D mode only\r\nI/QualcommCameraHardware3D(20431): openCameraHardware: call createInstance cameraId 0\r\nI/QualcommCameraHardware3D(20431): createInstance: E\r\nI/QualcommCameraHardware3D(20431): QualcommCameraHardware constructor E\r\nI/QualcommCameraHardware3D(20431): 2D mode only\r\nI/QualcommCameraHardware3D(20431): QualcommCameraHardware constructor EX\r\nI/QualcommCameraHardware3D(20431): createInstance: created hardware=0xc1290\r\nI/mm-camera(20431): set sensor selection :0\r\nD/mm-camera(20431): mm_camera_init, open FD: 27\r\nD/QualcommCameraHardware3D(20431): startCamera: 2D mode\r\nI/ (20431): [AWB Calibration] from kernel: fuse_id: 0x0, 0x0, 0x1, 0x6c76dc\r\nD/mm-camera(20431): sensor_load_chromatix: Sensor name: s5k3h1gx cnt=7\r\nD/mm-camera(20431): sensor_load_chromatix:1746:chromatix library Name = libchromatix_s5k3h1gx_preview.so\r\nD/mm-camera(20431): sensor_load_chromatix:1771: dlclose(libchromatix_handle) refcount 0\r\nI/mm-camera-s5k3h1gx_u(20431): Inside s5k3h1gx_process_start \r\nI/mm-camera-s5k3h1gx_u(20431): s5k3h1gx_process_start: prev_res=SENSOR_FULL_SIZE\r\nI/mm-camera(20431): [LSC Calibration]Sensor_set_mesh\r\nI/mm-camera(20431): [LSC Calibration] : call awb_get_fuseid\r\nI/mm-camera(20431): Read /data/lsc_cal fail\r\nI/mm-camera(20431): Read from file OK: /data/lsc_cal or /sys/android_camera_awb_cal/awb_cal\r\nI/mm-camera(20431): [LSC Calibration]: lsc_checksum=49913beb, lsc_verify=c1b\r\nI/mm-camera(20431): [LSC Calibration]: fuseid_1=0,fuseid_2=0,fuseid_3=1,fuseid_4=6c76dc, sfuse.fuse_id_word1=0,sfuse.fuse_id_word2=0,sfuse.fuse_id_word3=1,sfuse.fuse_id_word4=6c76dc\r\nI/mm-camera(20431): LSC_Calibration: \taddr=a77b403c, & addr=a77b403c\r\nI/mm-camera(20431): LSC_Calibration: \taddr=a77b4e10, & addr=a77b4e10\r\nI/mm-camera(20431): LSC_Calibration: \taddr=a77b5be4, & addr=a77b5be4\r\nI/mm-camera(20431): LSC_Calibration: \taddr=a77b69b8, & addr=a77b69b8\r\nI/mm-camera(20431): LSC_Calibration: \taddr=a77b778c, & addr=a77b778c\r\nI/mm-camera-s5k3h1gx_u(20431): s5k3h1gx_process_start: [LSC Calibration] LSC is valid and set NEW mesh value\r\nI/ (20431): [AWB Calibration] fuse_id : 0x0, 0x0, 0x1, 0x6c76dc\r\nI/ (20431): [AWB Calibration] fail to read /data/awb_cal, try another file\r\nI/ (20431): [AWB Calibration] read from file OK: /sys/android_camera_awb_cal/awb_cal\r\nI/ (20431): [AWB Calibration] nandflash data: 0xc1b, 0x30a, 0x2a3, 0x0, 0x0, 0x1, 0x6c76dc, 0x593227b6\r\nI/ (20431): [AWB Calibration] check sum=593227b6, OK\r\nI/ (20431): [AWB Calibration] valid bit and fuseID pass, use new white points\r\nI/ (20431): [AWB Calibration] use light version: v3\r\nI/mm-camera-s5k3h1gx_u(20431): s5k3h1gx_register: table = 0xa77af7c0\r\nI/mm-camera-s5k3h1gx_u(20431): get snapshot size pointer:0xa772f659\r\nD/mm-camera(20431): af_init_process_exhaustive_search sensor->af_exhaust_downhill_allowance 2, sensor->af_exhaust_fv_drop_allowance 0.750000\r\nI/mm-camera(20431): sctrl:0xa77aeba8\r\nI/mm-camera(20431): sctrl->fn_table:0xa7730231\r\nI/mm-camera(20431): sctrl->fn_table.get_snapshot_sizes:0xa772f659\r\nI/mm-camera-s5k3h1gx_u(20431): get table\r\nI/QualcommCameraHardware3D(20431): initDefaultParameters E\r\nD/mm-camera(20431): dimension.cam_mode = 0\r\nD/mm-camera(20431): config_proc_CAMERA_SET_PARM_DIMENSION:107: chromatixType=0\r\nI/mm-camera(20431): set sensor selection :0\r\nI/mm-camera(20431): set sensor selection :0\r\nE/mm-camera(20431): camera_issue_ctrl_cmd: error (I/O error): type 48, length 364, status 60704, FD: 27 27\r\nE/QualcommCameraHardware3D(20431): Failed to get maximum zoom value...setting max zoom to zero\r\nI/mm-camera(20431): set sensor selection :0\r\nI/mm-camera(20431): set sensor selection :0\r\nD/GPUPostEffect(20431): SIMON: void* mlabs::GPUPostEffect::threadMain() E.\r\nI/GEManager(20431): [GEManager] enter\r\nD/GEManager(20431): [GEManager] m_eglDisplay successfully\r\nD/GEManager(20431): [GEManager] eglInitialize successfully\r\nD/GEManager(20431): [GEManager] eglChooseConfig successfully\r\nE/Adreno200-ES20(20431): rb verson is SBA #24\r\nD/QualcommCameraHardware3D(20431): setFrontCameraMode(), flip-video = -1\r\nI/QualcommCameraHardware3D(20431): requested preview frame rate is 31\r\nD/mm-camera(20431): config_proc_CAMERA_SET_PARM_FPS: 31\r\nD/ (20431): [GECameraParameters::getGPUEffect] enter\r\nD/ (20431): [GECameraParameters::getGPUEffect] leave. no key GPU-effect\r\nD/ (20431): [GECameraParameters::getGPUEffectParam] leave. no key GE-param0\r\nD/ (20431): [GECameraParameters::getGPUEffectParam] leave. no key GE-param1\r\nD/ (20431): [GECameraParameters::getGPUEffectParam] leave. no key GE-param3\r\nD/GEManager(20431): [GEManager] eglCreateContext successfully\r\nD/GEManager(20431): [GEManager] eglCreatePbufferSurface successfully\r\nD/GEManager(20431): [GEManager] eglMakeCurrent successfully\r\nI/GEManager(20431): [GEManager] leave\r\nI/GPUPostEffect(20431): SIMON: int mlabs::GPUPostEffect::setParameters(mlabs::GPUPostEffect::GPUTask*): old effect = 0, new effect = -1.\r\nD/GPUPostEffect(20431): SIMON: setParameters: isGEInit == false: no call to ChooseEffect.\r\nI/QualcommCameraHardware3D(20431): initDefaultParameters X\r\nI/QualcommCameraHardware3D(20431): createInstance: X\r\nD/CameraService(20431): Client::Client E (pid 23291)\r\nI/AudioSystem(20431): getting audio flinger\r\nI/AudioSystem(20431): returning new audio session id\r\nD/AudioFlinger(20431): nextUniqueId, current 179\r\nI/StagefrightPlayer(20431): setDataSource('/system/media/audio/ui/camera_click.ogg')\r\nI/OMXCodec(20431): [Stagefright] use software codec=VorbisDecoder \r\nI/AudioSystem(20431): getting audio flinger\r\nI/AudioSystem(20431): returning new audio session id\r\nD/AudioFlinger(20431): nextUniqueId, current 180\r\nI/StagefrightPlayer(20431): setDataSource('/system/media/audio/ui/VideoRecord.ogg')\r\nI/OMXCodec(20431): [Stagefright] use software codec=VorbisDecoder \r\nD/CameraService(20431): getOrientation: degrees = 0, mirror = 0\r\nD/CameraService(20431): CameraService::loadSound ref=0\r\nI/AudioSystem(20431): getting audio flinger\r\nI/AudioSystem(20431): returning new audio session id\r\nD/AudioFlinger(20431): nextUniqueId, current 181\r\nI/StagefrightPlayer(20431): setDataSource('/system/media/audio/ui/camera_click.ogg')\r\nI/OMXCodec(20431): [Stagefright] use software codec=VorbisDecoder \r\nI/AudioSystem(20431): getting audio flinger\r\nI/AudioSystem(20431): returning new audio session id\r\nD/AudioFlinger(20431): nextUniqueId, current 182\r\nI/StagefrightPlayer(20431): setDataSource('/system/media/audio/ui/VideoRecord.ogg')\r\nI/OMXCodec(20431): [Stagefright] use software codec=VorbisDecoder \r\nD/CameraService(20431): Client::Client X (pid 23291)\r\nD/CameraService(20431): CameraService::connect X\r\nD/Camera-JNI(23291): native_release: context=0x340db8 camera=0xb1f18\r\nD/CameraService(20431): setPreviewCallbackFlag(0) (pid 23291)\r\nD/CameraService(20431): disconnect E (pid 23291)\r\nD/CameraService(20431): hardware teardown\r\nI/QualcommCameraHardware3D(20431): stopPreviewInternal E: 0\r\nD/QualcommCameraHardware3D(20431): mPreviewIsoPollingThread -1\r\nI/QualcommCameraHardware3D(20431): stopPreviewInternal X: 0\r\nI/QualcommCameraHardware3D(20431): release E\r\nD/mm-camera(20431): config_proc_CAMERA_STOP_SNAPSHOT: ctrl->state = 0\r\nD/ (20431): SIMON:GM: mlabs::GPUPostEffect::GPUTask* mlabs::GPUPostEffect::get(): cancel 0 tasks.\r\nI/GEManager(20431): [~GEManager] enter\r\nI/GEManager(20431): [Deinit] enter\r\nI/GEManager(20431): [Deinit] delete m_pCurrShader\r\nI/GEManager(20431): [Deinit] delete m_pShaderBypass\r\nI/GEManager(20431): [Deinit] delete m_pSrcTexture\r\nI/GEManager(20431): [Deinit] delete m_pDstFbo\r\nI/GEManager(20431): [Deinit] leave\r\nI/GEManager(20431): [~GEManager] eglMakeCurrent\r\nI/GEManager(20431): [~GEManager] eglDestroySurface\r\nI/GEManager(20431): [~GEManager] eglDestroyContext\r\nI/GEManager(20431): [~GEManager] eglTerminate\r\nI/GEManager(20431): [~GEManager] leave\r\nD/GPUPostEffect(20431): SIMON: void* mlabs::GPUPostEffect::threadMain() X.\r\nI/QualcommCameraHardware3D(20431): release: mCameraRunning = 0\r\nI/QualcommCameraHardware3D(20431): release: clearing resources done.\r\nD/mm-camera(20431): cam_conf: CAMERA_EXIT\r\nI/QualcommCameraHardware3D(20431): release:deinit camera done.\r\nD/mm-camera(20431): mm_camera_destroy ++\r\nD/mm-camera(20431): mm_camera_destroy FD: 27\r\nD/mm-camera(20431): mm_camera_destroy --\r\nI/QualcommCameraHardware3D(20431): release X: mCameraRunning = 0, mFrameThreadRunning = 0\r\nI/QualcommCameraHardware3D(20431): mVideoThreadRunning = 0, mSnapshotThreadRunning = 0, mJpegThreadRunning = 0\r\nI/QualcommCameraHardware3D(20431): camframe_timeout_flag = 0, mAutoFocusThreadRunning = 0\r\nI/QualcommCameraHardware3D(20431): ~QualcommCameraHardware E tid 20431\r\nI/QualcommCameraHardware3D(20431): ~QualcommCameraHardware X\r\nD/CameraService(20431): CameraService::removeClient E (pid 23291)\r\nD/CameraService(20431): removeClient: clear camera 0\r\nD/CameraService(20431): CameraService::removeClient X (pid 23291)\r\nD/CameraService(20431): disconnect X (pid 23291)\r\nW/TiMedia (23291): (KrollRuntimeThread) [22031,52433] Attempt to create '/sdcard/dcim/Camera/Test7' failed silently.\r\nW/TiFileHlpr(23291): (KrollRuntimeThread) [0,52433] getTempFile: Directory '/sdcard/dcim/Camera/Test7' does not exist. Call to File.createTempFile() will fail.\r\nE/TiMedia (23291): (KrollRuntimeThread) [0,52433] Unable to create temp file\r\nE/TiMedia (23291): java.io.IOException: Permission denied\r\nE/TiMedia (23291): \tat java.io.File.createNewFileImpl(Native Method)\r\nE/TiMedia (23291): \tat java.io.File.createNewFile(File.java:1257)\r\nE/TiMedia (23291): \tat java.io.File.createTempFile(File.java:1322)\r\nE/TiMedia (23291): \tat org.appcelerator.titanium.util.TiFileHelper.getTempFile(TiFileHelper.java:568)\r\nE/TiMedia (23291): \tat ti.modules.titanium.media.MediaModule.showCamera(MediaModule.java:204)\r\nE/TiMedia (23291): \tat ti.modules.titanium.media.MediaModulePrototype.showCamera(MediaModulePrototype.java:337)\r\nE/TiMedia (23291): \tat ti.modules.titanium.media.MediaModulePrototype.execIdCall(MediaModulePrototype.java:522)\r\nE/TiMedia (23291): \tat org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:129)\r\nE/TiMedia (23291): \tat org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1701)\r\nE/TiMedia (23291): \tat org.mozilla.javascript.Interpreter.interpret(Interpreter.java:854)\r\nE/TiMedia (23291): \tat org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:164)\r\nE/TiMedia (23291): \tat org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2520)\r\nE/TiMedia (23291): \tat org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:300)\r\nE/TiMedia (23291): \tat org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:129)\r\nE/TiMedia (23291): \tat org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:76)\r\nE/TiMedia (23291): \tat org.appcelerator.kroll.runtime.rhino.js.events._c_anonymous_2(/tmp/events.js:51)\r\nE/TiMedia (23291): \tat org.appcelerator.kroll.runtime.rhino.js.events.call(/tmp/events.js)\r\nE/TiMedia (23291): \tat org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:86)\r\nE/TiMedia (23291): \tat org.appcelerator.kroll.runtime.rhino.js.events._c_anonymous_3(/tmp/events.js:101)\r\nE/TiMedia (23291): \tat org.appcelerator.kroll.runtime.rhino.js.events.call(/tmp/events.js)\r\nE/TiMedia (23291): \tat org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:426)\r\nE/TiMedia (23291): \tat org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3177)\r\nE/TiMedia (23291): \tat org.appcelerator.kroll.runtime.rhino.js.events.call(/tmp/events.js)\r\nE/TiMedia (23291): \tat org.appcelerator.kroll.runtime.rhino.RhinoObject.fireEvent(RhinoObject.java:73)\r\nE/TiMedia (23291): \tat org.appcelerator.kroll.KrollProxy.doFireEvent(KrollProxy.java:441)\r\nE/TiMedia (23291): \tat org.appcelerator.kroll.KrollProxy.handleMessage(KrollProxy.java:602)\r\nE/TiMedia (23291): \tat org.appcelerator.titanium.proxy.TiViewProxy.handleMessage(TiViewProxy.java:347)\r\nE/TiMedia (23291): \tat android.os.Handler.dispatchMessage(Handler.java:95)\r\nE/TiMedia (23291): \tat android.os.Looper.loop(Looper.java:143)\r\nE/TiMedia (23291): \tat org.appcelerator.kroll.KrollRuntime$KrollRuntimeThread.run(KrollRuntime.java:102)\r\nI/TiAPI (23291): ERROR [object Object]\r\nD/CameraService(20431): Client::~Client E (pid 20431, this 0x79378)\r\nD/CameraService(20431): disconnect E (pid 20431)\r\nD/CameraService(20431): CameraService::releaseSound ref=1\r\nD/CameraService(20431): Client::~Client X (pid 20431, this 0x79378)\r\nI/wpa_supplicant(20467): Reset vh_switch_to_mobile_counter due to receive LINKSPEED cmd\r\nI/wpa_supplicant(20467): Reset vh_switch_to_mobile_counter due to receive LINKSPEED cmd\r\nI/Kineto::main(20003): WCMGetLinkMetricsCbk iRSSI:-74\r\nE/KINETO (20003): KLOG004- IPA_LinkMetric: -74 -74 0 18 0 0x00\r\nE/KINETO (20003): KLOG0B4- IPA_ZoneMetric: 8 8 -74 -75 -85 1 0x001 0 0\r\nI/wpa_supplicant(20467): Reset vh_switch_to_mobile_counter due to receive LINKSPEED cmd\r\nI/wpa_supplicant(20467): Reset vh_switch_to_mobile_counter due to receive LINKSPEED cmd\r\nI/wpa_supplicant(20467): Reset vh_switch_to_mobile_counter due to receive LINKSPEED cmd\r\nI/Kineto::main(20003): WCMGetLinkMetricsCbk iRSSI:-74\r\nE/KINETO (20003): KLOG004- IPA_LinkMetric: -74 -74 0 18 0 0x00\r\nE/KINETO (20003): KLOG0B4- IPA_ZoneMetric: 8 8 -74 -75 -85 1 0x001 0 0\r\nI/wpa_supplicant(20467): Reset vh_switch_to_mobile_counter due to receive LINKSPEED cmd\r\nE/KINETO (20003): KLOG082- select returned. retVal = 0\r\nE/KINETO (20003): \r\nE/KINETO (20003): KLOG082- send INFORMATIONAL exchange\r\nE/KINETO (20003): \r\nE/KINETO (20003): KLOG084- \r\nE/KINETO (20003): \r\nE/KINETO (20003): KLOG084- 04-26-2012 14:53:02.365 IKE 28 bytes 0.0.0.0 --> 208.54.5.1 \r\nE/KINETO (20003): KLOG084- IKEv2 INFO IQ 49 HDR [DPD]\r\nE/KINETO (20003): KLOG082- Send from 0.0.0.0[4500] to 208.54.5.1[4500] using socket 30\r\nE/KINETO (20003): \r\nE/KINETO (20003): KLOG084- \r\nE/KINETO (20003): \r\nE/KINETO (20003): KLOG084- 04-26-2012 14:53:02.365 IKE 80 bytes 0.0.0.0 --> 208.54.5.1 \r\nE/KINETO (20003): KLOG084- IKEv2 INFO IQ 49 HDR ENCR\r\nE/KINETO (20003): KLOG082- send len 80 persend 1 \r\nE/KINETO (20003): \r\nE/KINETO (20003): KLOG082- select returned. retVal = 1\r\nE/KINETO (20003): \r\nE/KINETO (20003): KLOG084- \r\nE/KINETO (20003): \r\nE/KINETO (20003): KLOG084- 04-26-2012 14:53:02.389 IKE 80 bytes 0.0.0.0 <-- 208.54.5.1 \r\nE/KINETO (20003): KLOG084- IKEv2 INFO RR 49 HDR ENCR\r\nE/KINETO (20003): KLOG084- \r\nE/KINETO (20003): \r\nE/KINETO (20003): KLOG084- 04-26-2012 14:53:02.390 IKE 28 bytes 0.0.0.0 <-- 208.54.5.1 \r\nE/KINETO (20003): KLOG084- IKEv2 INFO RR 49 HDR [DPD]\r\nE/KINETO (20003): KLOG082- Processing incoming packet type 37\r\nE/KINETO (20003): KLOG082- Delete ph2 spid 0 for -> \r\nE/KINETO (20003): \r\nE/KINETO (20003): KLOG082- After Calling ikev2_main\r\nE/KINETO (20003): \r\nI/wpa_supplicant(20467): Reset vh_switch_to_mobile_counter due to receive LINKSPEED cmd\r\nI/wpa_supplicant(20467): Reset vh_switch_to_mobile_counter due to receive LINKSPEED cmd\r\nI/Kineto::main(20003): WCMGetLinkMetricsCbk iRSSI:-73\r\nE/KINETO (20003): KLOG004- IPA_LinkMetric: -73 -73 0 18 0 0x00\r\nE/KINETO (20003): KLOG0B4- IPA_ZoneMetric: 8 8 -73 -75 -85 1 0x001 0 0\r\nI/wpa_supplicant(20467): Reset vh_switch_to_mobile_counter due to receive LINKSPEED cmd\r\nD/dalvikvm( 434): GC_EXPLICIT freed 2K, 50% free 4442K/8839K, external 6892K/8606K, paused 86ms\r\nI/wpa_supplicant(20467): Reset vh_switch_to_mobile_counter due to receive LINKSPEED cmd\r\nI/wpa_supplicant(20467): Reset vh_switch_to_mobile_counter due to receive LINKSPEED cmd\r\nI/Kineto::main(20003): WCMGetLinkMetricsCbk iRSSI:-72\r\n\r\n{code}", "attachment": [], "flagged": false, "summary": "Android: showCamera - does not work on htc sensation", "creator": { "name": "jalter", "key": "jalter", "displayName": "Jon Alter", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "jalter", "key": "jalter", "displayName": "Jon Alter", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "TiSDK 1.8.2\r\nTiSDK 2.0.1\r\nHTC Sensation 2.3.3", "comment": { "comments": [ { "id": "193096", "author": { "name": "pwang", "key": "pwang", "displayName": "Ping Wang", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR https://github.com/appcelerator/titanium_mobile/pull/2102", "updateAuthor": { "name": "pwang", "key": "pwang", "displayName": "Ping Wang", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-04-29T23:30:02.000+0000", "updated": "2012-04-29T23:30:02.000+0000" }, { "id": "411014", "author": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Closing ticket as invalid.", "updateAuthor": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-03-09T23:26:45.000+0000", "updated": "2017-03-09T23:26:45.000+0000" } ], "maxResults": 3, "total": 3, "startAt": 0 } } }