{ "id": "124616", "key": "TIMOB-16199", "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": "15972", "description": "Release 3.4.0", "name": "Release 3.4.0", "archived": false, "released": true, "releaseDate": "2014-09-28" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2014-07-07T22:33:08.000+0000", "created": "2014-01-09T19:25:51.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "android", "camera", "module_media", "qe-manualtest", "regression" ], "versions": [], "issuelinks": [], "assignee": { "name": "pwang", "key": "pwang", "displayName": "Ping Wang", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2016-08-12T14:45:26.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": [], "description": "The takePicture() function on Android is firing the success function multiple (3) times when using a custom camera overlay. Example:\r\n\r\napp.js\r\n{code}\r\n// Containing window\r\nvar win = Ti.UI.createWindow({\r\n navBarHidden: true,\r\n backgroundColor: \"#ffffff\",\r\n height: Ti.UI.FILL,\r\n width: Ti.UI.FILL\r\n});\r\n \r\n// Blue button that opens the camera\r\nvar open_camera = Ti.UI.createButton({\r\n height: Ti.UI.SIZE,\r\n width: Ti.UI.SIZE,\r\n bottom: 50,\r\n title: 'Camera'\r\n});\r\n// Adding the \"open camera\" button\r\nwin.add(open_camera);\r\n \r\n// Function to show the camera\r\nfunction openCamera(){\r\n alert('opening');\r\n open_camera.backgroundColor = \"#00ff00\"; // Just checking if we got here\r\n \r\n // The camera overlay I want displayed over the camera\r\n var camera_overlay = Ti.UI.createView({\r\n top: 0,\r\n left: 0,\r\n height: Ti.UI.FILL,\r\n width: Ti.UI.FILL\r\n });\r\n \r\n var take_picture = Ti.UI.createButton({\r\n height: Ti.UI.SIZE,\r\n width: Ti.UI.SIZE,\r\n bottom: 50,\r\n title: 'Take Picture'\r\n });\r\n take_picture.addEventListener('click', function () {\r\n Ti.Media.takePicture();\r\n });\r\n camera_overlay.add(take_picture);\r\n \r\n // The actual show camera part\r\n Ti.Media.showCamera({\r\n success:function(e)\r\n {\r\n alert('success'); // I want this!\r\n },\r\n cancel:function(e)\r\n {\r\n },\r\n error:function(error)\r\n {\r\n },\r\n autohide: false,\r\n showControls: false,\r\n mediaTypes: [Ti.Media.MEDIA_TYPE_PHOTO],\r\n overlay: camera_overlay // The camera overlay being added to camera view\r\n });\r\n};\r\n \r\n// Click event to show the camera\r\nopen_camera.addEventListener(\"click\", function(e){\r\n openCamera();\r\n});\r\n \r\n// Open the window\r\nwin.open();\r\n{code}\r\n\r\nlog:\r\n{code}\r\n[INFO] : I/dalvikvm-heap: Grow heap (frag case) to 17.483MB for 1811991-byte allocation\r\n[INFO] : ALERT: (KrollRuntimeThread) [6602,83973] success\r\n[INFO] : I/dalvikvm-heap: Grow heap (frag case) to 19.187MB for 1363520-byte allocation\r\n[INFO] : ALERT: (KrollRuntimeThread) [248,84221] success\r\n[INFO] : I/dalvikvm-heap: Grow heap (frag case) to 20.975MB for 1830730-byte allocation\r\n[INFO] : ALERT: (KrollRuntimeThread) [281,84502] success\r\n{code}\r\n\r\nReference: [http://developer.appcelerator.com/question/161324/android-camera-taking-3-pictures-at-a-time]\r\n", "attachment": [], "flagged": false, "summary": "Android: camera with overlay takePicture() firing success function multiple times", "creator": { "name": "mfogg", "key": "mfogg", "displayName": "Mike Fogg", "active": true, "timeZone": "America/New_York" }, "subtasks": [], "reporter": { "name": "mfogg", "key": "mfogg", "displayName": "Mike Fogg", "active": true, "timeZone": "America/New_York" }, "environment": "Samsung Galaxy Note 2\r\nAndroid, version: 4.1.1\r\nTitanium Studio 3.2.0.201312191547\r\nTitanium Mobile SDK 3.2.0GA", "closedSprints": [ { "id": 149, "state": "closed", "name": "2014 Sprint 14 SDK", "startDate": "2014-07-07T21:48:52.340Z", "endDate": "2014-07-19T00:00:00.000Z", "completeDate": "2014-07-21T15:58:32.928Z", "originBoardId": 114 }, { "id": 105, "state": "closed", "name": "2014 Sprint 11 SDK", "startDate": "2014-05-27T21:43:32.338Z", "endDate": "2014-06-07T00:00:00.000Z", "completeDate": "2014-06-09T21:36:37.587Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "287873", "author": { "name": "ragrawal", "key": "ragrawal", "displayName": "Ritu Agrawal", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I was not able to reproduce this issue on Samsung Galaxy Nexus device so it may be device specific. Would you be able to try it on another device? I see the success alert only once after I take the picture.", "updateAuthor": { "name": "ragrawal", "key": "ragrawal", "displayName": "Ritu Agrawal", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-01-12T06:32:56.000+0000", "updated": "2014-01-12T06:32:56.000+0000" }, { "id": "287944", "author": { "name": "mfogg", "key": "mfogg", "displayName": "Mike Fogg", "active": true, "timeZone": "America/New_York" }, "body": "@Ritu,\n\nI just tested the same code on an HTC EVO 4G and it worked fine (only saw success once).\n\nThe software on this version is 2.3.5 so it's really a tough test (completely different hardware and software version). Unfortunately, I can't get my hands on another device running 4.1.1 and/or another Samsung Galaxy Note 2 running a different version.", "updateAuthor": { "name": "mfogg", "key": "mfogg", "displayName": "Mike Fogg", "active": true, "timeZone": "America/New_York" }, "created": "2014-01-13T14:11:20.000+0000", "updated": "2014-01-13T14:11:20.000+0000" }, { "id": "288063", "author": { "name": "ragrawal", "key": "ragrawal", "displayName": "Ritu Agrawal", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I tried it on another device Samsung Galaxy S2 and it fires success only once so it may be specific to Note 2 device. I don't have a Note 2 device at hand but I will see if I can arrange one.", "updateAuthor": { "name": "ragrawal", "key": "ragrawal", "displayName": "Ritu Agrawal", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-01-14T04:25:49.000+0000", "updated": "2014-01-14T04:25:49.000+0000" }, { "id": "288338", "author": { "name": "mfogg", "key": "mfogg", "displayName": "Mike Fogg", "active": true, "timeZone": "America/New_York" }, "body": "Ok, I downloaded the titanium_mobile source and compiled it for android with some added debugging statements in the takePicture functions. Here's a shortened version of the results (with debug enabled for Android):\r\n\r\nWhat I did: \r\n1. Opened the app\r\n2. Opened the camera in the app\r\n3. Cleared the log\r\n4. Took a single picture\r\n\r\n*On Samsung Galaxy Note 2 running Android 4.1.1*\r\n\r\nShort Version:\r\n{code}\r\nshowCamera called\r\nCamera :: Currently running with focusMode active.\r\n...\r\nCamera :: Firing autofocus callback.\r\nCamera :: Firing shutterCallback.\r\nCamera :: Firing jpegCallback.\r\nCamera :: Firing successCallback.\r\nCamera :: Currently has autohide inactive.\r\n...\r\nCamera :: Firing autofocus callback.\r\nCamera :: Firing shutterCallback.\r\nCamera :: Firing jpegCallback.\r\nCamera :: Firing successCallback.\r\nCamera :: Currently has autohide inactive.\r\n...\r\nCamera :: Firing autofocus callback.\r\nCamera :: Firing shutterCallback.\r\nCamera :: Firing jpegCallback.\r\nCamera :: Firing successCallback.\r\n...\r\nUnable to load bitmap. Not enough memory: null\r\n{code}\r\n\r\nLonger Version:\r\n{code}\r\n...\r\n[DEBUG] : TiMedia: (KrollRuntimeThread) [4,33606] showCamera called\r\n...\r\n[DEBUG] : TiBaseActivity: (main) [25,33662] Activity ti.modules.titanium.media.TiCameraActivity@4209dd58 onCreate\r\n[DEBUG] : TiBaseActivity: (main) [9,33671] Activity ti.modules.titanium.media.TiCameraActivity@4209dd58 onStart\r\n[DEBUG] : TiBaseActivity: (main) [9,33680] Activity ti.modules.titanium.media.TiCameraActivity@4209dd58 onResume\r\n...\r\n[DEBUG] : TiCameraActivity: (KrollRuntimeThread) [3,38699] Camera :: Currently running with focusMode active.\r\n...\r\n[DEBUG] : TiCameraActivity: (main) [20,38757] Camera :: Firing autofocus callback.\r\n...\r\n[DEBUG] : TiCameraActivity: (main) [22,38966] Camera :: Firing shutterCallback.\r\n[DEBUG] : dalvikvm: GC_FOR_ALLOC freed 294K, 12% free 16691K/18887K, paused 19ms, total 19ms\r\n[INFO] : I/dalvikvm-heap: Grow heap (frag case) to 18.781MB for 2149647-byte allocation\r\n[DEBUG] : dalvikvm: GC_CONCURRENT freed <1K, 11% free 18790K/20999K, paused 11ms+1ms, total 26ms\r\n[DEBUG] : dalvikvm: WAIT_FOR_CONCURRENT_GC blocked 7ms\r\n...\r\n[DEBUG] : TiCameraActivity: (main) [70,39036] Camera :: Firing jpegCallback.\r\n[DEBUG] : TiCameraActivity: (main) [0,39036] Camera :: Firing successCallback.\r\n[DEBUG] : TiCameraActivity: (main) [5,39041] Camera :: Currently has autohide inactive.\r\n[DEBUG] : TiCameraActivity: (main) [0,39041] Camera :: Firing autofocus callback.\r\n...\r\n[DEBUG] : TiCameraActivity: (main) [4,39153] Camera :: Firing shutterCallback.\r\n...\r\n[DEBUG] : TiUIView: (main) [7,39182] starting animation\r\n[DEBUG] : TiAnimationBuilder: (main) [0,39182] Property Animations will be used.\r\n[DEBUG] : dalvikvm: GC_CONCURRENT freed 24K, 6% free 34453K/36615K, paused 12ms+6ms, total 61ms\r\n[DEBUG] : dalvikvm: WAIT_FOR_CONCURRENT_GC blocked 15ms\r\n[DEBUG] : dalvikvm: GC_FOR_ALLOC freed 3K, 6% free 34450K/36615K, paused 12ms, total 12ms\r\n[INFO] : I/dalvikvm-heap: Grow heap (frag case) to 35.833MB for 1845622-byte allocation\r\n[DEBUG] : dalvikvm: GC_FOR_ALLOC freed 2K, 6% free 36250K/38471K, paused 31ms, total 31ms\r\n...\r\n[DEBUG] : TiCameraActivity: (main) [0,39243] Camera :: Firing jpegCallback.\r\n[DEBUG] : TiCameraActivity: (main) [0,39243] Camera :: Firing successCallback.\r\n[DEBUG] : TiCameraActivity: (main) [1,39244] Camera :: Currently has autohide inactive.\r\n...\r\n[DEBUG] : dalvikvm: GC_FOR_ALLOC freed 62K, 6% free 36291K/38471K, paused 16ms, total 16ms\r\n[INFO] : I/dalvikvm-heap: Grow heap (frag case) to 51.112MB for 15980560-byte allocation\r\n[DEBUG] : dalvikvm: GC_FOR_ALLOC freed 1K, 5% free 51895K/54087K, paused 29ms, total 29ms\r\n...\r\n[DEBUG] : TiCameraActivity: (main) [1,39528] Camera :: Firing autofocus callback.\r\n...\r\n[DEBUG] : TiCameraActivity: (main) [3,39892] Camera :: Firing shutterCallback.\r\n[DEBUG] : TiCameraActivity: (main) [0,39892] Camera :: Firing jpegCallback.\r\n[DEBUG] : TiCameraActivity: (main) [1,39893] Camera :: Firing successCallback.\r\n...\r\n[DEBUG] : dalvikvm: GC_FOR_ALLOC freed 86K, 4% free 53984K/56199K, paused 15ms, total 15ms\r\n[INFO] : I/dalvikvm-heap: Forcing collection of SoftReferences for 15980560-byte allocation\r\n[DEBUG] : dalvikvm: GC_BEFORE_OOM freed 9K, 4% free 53974K/56199K, paused 37ms, total 37ms\r\n[ERROR] : E/dalvikvm-heap: Out of memory on a 15980560-byte allocation.\r\n[INFO] : dalvikvm: \"pool-3-thread-1\" prio=5 tid=12 RUNNABLE\r\n[INFO] : dalvikvm: | group=\"main\" sCount=0 dsCount=0 obj=0x42138408 self=0x60414158\r\n[INFO] : dalvikvm: | sysTid=18254 nice=0 sched=0/0 cgrp=apps handle=1605730104\r\n[INFO] : dalvikvm: | schedstat=( 411321756 119970746 446 ) utm=37 stm=3 core=1\r\n[INFO] : dalvikvm: at android.graphics.BitmapFactory.nativeDecodeStream(Native Method)\r\n[INFO] : dalvikvm: at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:650)\r\n[INFO] : dalvikvm: at org.appcelerator.titanium.view.TiDrawableReference.getBitmap(TiDrawableReference.java:324)\r\n[INFO] : dalvikvm: at org.appcelerator.titanium.util.TiLoadImageManager$LoadImageJob.run(TiLoadImageManager.java:128)\r\n[INFO] : dalvikvm: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)\r\n[INFO] : dalvikvm: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)\r\n[INFO] : dalvikvm: at java.lang.Thread.run(Thread.java:856)\r\n[INFO] : dalvikvm:\r\n[DEBUG] : skia: --- decoder->decode returned false\r\n[ERROR] : TiDrawableReference: (pool-3-thread-1) [54,40012] Unable to load bitmap. Not enough memory: null\r\n[ERROR] : TiDrawableReference: java.lang.OutOfMemoryError\r\n[ERROR] : TiDrawableReference: at android.graphics.BitmapFactory.nativeDecodeStream(Native Method)\r\n[ERROR] : TiDrawableReference: at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:650)\r\n[ERROR] : TiDrawableReference: at org.appcelerator.titanium.view.TiDrawableReference.getBitmap(TiDrawableReference.java:324)\r\n[ERROR] : TiDrawableReference: at org.appcelerator.titanium.util.TiLoadImageManager$LoadImageJob.run(TiLoadImageManager.java:128)\r\n[ERROR] : TiDrawableReference: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)\r\n[ERROR] : TiDrawableReference: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)\r\n[ERROR] : TiDrawableReference: at java.lang.Thread.run(Thread.java:856)\r\n{code}\r\n\r\n*On HTC EVO 4G running Android 2.3.5*\r\n\r\nShort Version:\r\n{code}\r\nshowCamera called\r\nCamera :: Currently running with focusMode active.\r\n...\r\nCamera :: Firing autofocus callback.\r\nCamera :: Firing shutterCallback.\r\nCamera :: Firing jpegCallback.\r\nCamera :: Firing successCallback.\r\nCamera :: Currently has autohide inactive.\r\n{code}\r\n\r\nLonger Version:\r\n{code}\r\n...\r\n[DEBUG] : TiMedia: (KrollRuntimeThread) [101,79171] showCamera called\r\n...\r\n[DEBUG] : TiBaseActivity: (main) [26,79232] Activity ti.modules.titanium.media.TiCameraActivity@40627d28 onCreate\r\n[DEBUG] : TiBaseActivity: (main) [9,79241] Activity ti.modules.titanium.media.TiCameraActivity@40627d28 onStart\r\n[DEBUG] : TiBaseActivity: (main) [1,79242] Activity ti.modules.titanium.media.TiCameraActivity@40627d28 onResume\r\n...\r\n[DEBUG] : TiCameraActivity: (KrollRuntimeThread) [40,83149] Camera :: Currently running with focusMode active.\r\n...\r\n[DEBUG] : TiCameraActivity: (main) [377,83785] Camera :: Firing autofocus callback.\r\n[DEBUG] : TiCameraActivity: (main) [266,84051] Camera :: Firing shutterCallback.\r\n...\r\n[DEBUG] : dalvikvm: GC_FOR_MALLOC freed 1138K, 30% free 7971K/11335K, external 15690K/17724K, paused 34ms\r\n[INFO] : I/dalvikvm-heap: Grow heap (frag case) to 28.419MB for 3392203-byte allocation\r\n[DEBUG] : dalvikvm: GC_CONCURRENT freed 1K, 24% free 11282K/14663K, external 15690K/17724K, paused 3ms+3ms\r\n...\r\n[DEBUG] : TiCameraActivity: (main) [1023,85074] Camera :: Firing jpegCallback.\r\n[DEBUG] : TiCameraActivity: (main) [40,85114] Camera :: Firing successCallback.\r\n[DEBUG] : TiCameraActivity: (main) [2,85116] Camera :: Currently has autohide inactive.\r\n{code}\r\n\r\n---\r\n\r\nAfter seeing that... it does look like the AutoFocus callback is being fired 3 times for some reason on the Samsung Galaxy Note 2. I'm going to look into it a bit more and see if I can figure out why that may be, but if anyone has any thoughts any help would be much appreciated.\r\n", "updateAuthor": { "name": "mfogg", "key": "mfogg", "displayName": "Mike Fogg", "active": true, "timeZone": "America/New_York" }, "created": "2014-01-15T21:00:19.000+0000", "updated": "2014-01-15T21:03:29.000+0000" }, { "id": "296546", "author": { "name": "arnaud_besnier", "key": "arnaud_besnier", "displayName": "Arnaud Besnier", "active": true, "timeZone": "Europe/Berlin" }, "body": "This behavior clearly appeared after the integration of the SDK 3.2.1.GA (we were using 3.1.3.GA before).\r\nSome of our app users said that \"when taking a picture, the camera takes a bunch of pics simultaneously (kind of like a burst)\".\r\n\r\nIt is clearly device specific. No issue on the HTC One for example.\r\nI reproduced this behavior on Samsung Galaxy S4 devices - I guess that some specific Samsung devices are affected -\r\nThis is a regression of the SDK 3.2.X\r\n\r\ndevices that crash:\r\n- Samsung Galaxy S4 (GT-9505) - Android version: 4.3\r\n- Samsung Galaxy S4 (GT-9505) - Android version: 4.3.1 (CyanogenMod)\r\n\r\nI tried on other Samsung devices but I did not reproduce this behavior:\r\n- Samsung Galaxy S3 (GT-I9300) - Android version: 4.3\r\n- Samsung Galaxy S2 (GT-I9100P) - Android version: 4.0.3\r\n- Samsung Galaxy Note (GT-N7000) - Android version: 4.1.2\r\n\r\n\r\nWe also noticed crash reports about the camera of our app on Google Play Developer Console.\r\nThey are clearly introduced by this new SDK...\r\nWe were very confident about camera improvements using this new SDK, but it brought a lot of crashes (we are using the overlay option) so we urgently published a new app using the old SDK (3.1.3.GA).\r\nIt is hard to create Jiras for these crashes because we did not reproduce on our devices.\r\n", "updateAuthor": { "name": "arnaud_besnier", "key": "arnaud_besnier", "displayName": "Arnaud Besnier", "active": true, "timeZone": "Europe/Berlin" }, "created": "2014-03-11T09:54:29.000+0000", "updated": "2014-03-11T09:54:29.000+0000" }, { "id": "296547", "author": { "name": "arnaud_besnier", "key": "arnaud_besnier", "displayName": "Arnaud Besnier", "active": true, "timeZone": "Europe/Berlin" }, "body": "Here is the simple test app I used (very similar to Mike's one):\r\n\r\n{code:javascript}\r\n// Window to open the camera ---------------------------------------------------\r\n\r\nvar snapshotCount = 0;\r\n\r\nvar win = Ti.UI.createWindow({\r\n\tbackgroundColor: 'white',\r\n\tnavBarHidden: true,\r\n\texitOnClose: true\r\n});\r\n\r\nvar view = Ti.UI.createView();\r\nwin.add(view);\r\n\r\nvar button = Ti.UI.createButton({\r\n\ttitle: 'OpenCamera',\r\n\theight: 'auto',\r\n\twidth: 'auto'\r\n});\r\nview.add(button);\r\n\r\n// Camera overlay --------------------------------------------------------------\r\n\r\nvar overlayView = Ti.UI.createView({});\r\n\r\nvar snapshotButton = Ti.UI.createButton({\r\n\ttitle: 'Take Snapshot',\r\n\tbottom: '10dp'\r\n});\r\noverlayView.add(snapshotButton);\r\n\r\nfunction takePicture() {\r\n\tsnapshotCount = 0;\r\n\tTi.Media.takePicture();\r\n}\r\n\r\nsnapshotButton.addEventListener('click', takePicture);\r\n\r\n// Camera opening --------------------------------------------------------------\r\n\r\nbutton.addEventListener('click', function(e) {\r\n\tTi.Media.showCamera({\r\n\t\tsuccess: function(){\r\n\t\t\tsnapshotCount += 1;\r\n\t\t\talert('Snapshot ' + snapshotCount + ' done');\r\n\t\t},\r\n\t\tcancel: function(){},\r\n\t\terror: function(){},\r\n\t\ttransform: false,\r\n\t\tmediaTypes: Ti.Media.MEDIA_TYPE_PHOTO,\r\n\t\toverlay: overlayView,\r\n\t\tshowControls: false,\r\n\t\tsaveToPhotoGallery: false,\r\n\t\tautohide: false\r\n\t});\r\n});\r\n\r\nwin.open();\r\n{code}", "updateAuthor": { "name": "arnaud_besnier", "key": "arnaud_besnier", "displayName": "Arnaud Besnier", "active": true, "timeZone": "Europe/Berlin" }, "created": "2014-03-11T09:57:00.000+0000", "updated": "2014-03-11T09:58:24.000+0000" }, { "id": "301091", "author": { "name": "arnaud_besnier", "key": "arnaud_besnier", "displayName": "Arnaud Besnier", "active": true, "timeZone": "Europe/Berlin" }, "body": "Is there something new about this issue?\r\nWithout fix, we cannot upgrade our Titanium SDK. And that makes us very sad :(", "updateAuthor": { "name": "arnaud_besnier", "key": "arnaud_besnier", "displayName": "Arnaud Besnier", "active": true, "timeZone": "Europe/Berlin" }, "created": "2014-04-16T12:34:16.000+0000", "updated": "2014-04-16T12:34:16.000+0000" }, { "id": "301118", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Hieu, thoughts?", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-04-16T17:40:59.000+0000", "updated": "2014-04-16T17:40:59.000+0000" }, { "id": "301163", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "The issue is reproducible with SDK version 3.2.2.GA & it is a regression as the user states they see after they updated from 3.1.3.GA.\n\nI used the code mentioned in the description above to reproduce it.\nThis might be device specific according to comments above.\n\nMy observations are as follows(with the devices we have):\nh5.With 3.2.2.GA:\n1. Reproducible on Samsung Galaxy S3(SGH-I747) - android 4.0.4 : I get continuous triggers of success after taking the pic.\n2. Not Reproducible on Samsung Galaxy S4 (SGH-I337) - android 4.2.2 : I get one success as expected.\n3. Not Reproducible on Nexus 5 - android 4.4.2 : I get one success as expected.\n4. Not Reproducible on Samsung Note 2 (SCH I-605) - android 4.3 : I get one success as expected.\n5. Not Reproducible on Sony Experia - android 2.3.7 : I get one success as expected.\n\nh5. With 3.2.3.v20140415094118:\n1. Reproducible on Samsung Galaxy S3(SGH-I747) - android 4.0.4 : I get continuous triggers of success after taking the pic.\n2. Reproducible on Samsung Galaxy S4 (SGH-I337) - android 4.2.2 : I get continuous triggers of success after taking the pic.\n3. Not Reproducible on Nexus 5 - android 4.4.2 : I get one success as expected.\n4. Not Reproducible on Samsung Note 2 (SCH I-605) - android 4.3 : I get one success as expected.\n5. Not Reproducible on Sony Experia - android 2.3.7 : I get one success as expected.", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-04-16T21:28:42.000+0000", "updated": "2014-04-16T21:28:42.000+0000" }, { "id": "312346", "author": { "name": "pwang", "key": "pwang", "displayName": "Ping Wang", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR: https://github.com/appcelerator/titanium_mobile/pull/5887", "updateAuthor": { "name": "pwang", "key": "pwang", "displayName": "Ping Wang", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-07-03T22:38:56.000+0000", "updated": "2014-07-03T22:38:56.000+0000" }, { "id": "315856", "author": { "name": "pwang", "key": "pwang", "displayName": "Ping Wang", "active": true, "timeZone": "America/Los_Angeles" }, "body": "3_3_X PR: https://github.com/appcelerator/titanium_mobile/pull/5937", "updateAuthor": { "name": "pwang", "key": "pwang", "displayName": "Ping Wang", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-07-25T18:41:02.000+0000", "updated": "2014-07-25T18:41:02.000+0000" }, { "id": "319359", "author": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "body": "Verified fix on:\r\n\r\nMac OSX 10.9.4\r\nAppcelerator Studio, build: 3.4.0.201408051600\r\nTitanium SDK build: 3.4.0.v20140815142514\r\nTitanium CLI, build: 3.4.0-dev\r\nAlloy: 1.6.0-dev\r\nAndroid Device S3 (4.0.4)\r\nAndroid Device Nexus (4.2.2)\r\nAndroid Device S4 (4.4.2)\r\n\r\nTested using the devices/OS version that Lokesh was able to reproduce the bugs on and the code in the description. After taking a picture the success function is fired only once on each device. Below is the output from the S4\r\n\r\n\r\nh5.S4 Output\r\n{code}\r\n[INFO] : ALERT: (KrollRuntimeThread) [6810,10213] opening\r\n[INFO] : ALERT: (KrollRuntimeThread) [3881,14094] success\r\n{code}\r\n\r\nClosing ticket.", "updateAuthor": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "created": "2014-08-19T21:56:39.000+0000", "updated": "2014-08-19T21:56:39.000+0000" }, { "id": "393009", "author": { "name": "mfogg", "key": "mfogg", "displayName": "Mike Fogg", "active": true, "timeZone": "America/New_York" }, "updateAuthor": { "name": "mfogg", "key": "mfogg", "displayName": "Mike Fogg", "active": true, "timeZone": "America/New_York" }, "created": "2016-08-12T14:45:26.000+0000", "updated": "2016-08-12T14:45:26.000+0000" } ], "maxResults": 17, "total": 17, "startAt": 0 } } }