{ "id": "165092", "key": "TIMOB-24253", "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": "18928", "name": "Release 6.0.2", "archived": false, "released": true, "releaseDate": "2017-02-27" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2017-01-28T00:41:06.000+0000", "created": "2016-12-21T15:40:33.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [ "Android", "backbutton" ], "versions": [ { "id": "16980", "description": "New V8", "name": "Release 6.0.0", "archived": false, "released": true, "releaseDate": "2016-11-15" } ], "issuelinks": [], "assignee": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2017-03-08T03:54:32.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": "h5.Issue Description \r\n\r\nHi,\r\n\r\nTo prevent window close on android hardware back click, customer have been using \"andoridback\" event.\r\nThis was working properly till 5.5.1.GA. With 6.0.0.GA, even though this event is fired, it is not preventing the window close.\r\n\r\nh5. Steps to Replicate \r\n\r\n# Download the attached project \r\n# Make sure is running SDK 6.0.0GA (works on 5.5.1.GA)\r\n# Run\r\n# Click on Hello World to open a new screen\r\n# Click the back button\r\n# If the project is built with 5.5.1.GA, new screen will not close on hardware back click. But the new screen will close if the project is built with 6.0.0.GA.\r\n", "attachment": [ { "id": "61124", "filename": "TestAndroidBack.zip", "author": { "name": "rramirez", "key": "rramirez", "displayName": " Ricardo Ramirez", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-12-21T15:40:06.000+0000", "size": 10474697, "mimeType": "application/zip" } ], "flagged": false, "summary": "Android: androidback event not working in Ti SDK 6.0.0.GA", "creator": { "name": "rramirez", "key": "rramirez", "displayName": " Ricardo Ramirez", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "rramirez", "key": "rramirez", "displayName": " Ricardo Ramirez", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "SDK 6.0.0.GA\r\nAndroid 5\r\nAndroid 6", "closedSprints": [ { "id": 787, "state": "closed", "name": "2017 Sprint 01 SDK", "startDate": "2016-12-31T02:15:33.446Z", "endDate": "2017-01-14T02:15:00.000Z", "completeDate": "2017-01-15T00:00:19.006Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "403875", "author": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "body": "master: https://github.com/appcelerator/titanium_mobile/pull/8715", "updateAuthor": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-12-27T15:05:55.000+0000", "updated": "2016-12-27T15:05:55.000+0000" }, { "id": "404048", "author": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Verified fixed, screen does not close when the back button is pressed when using androidback event. \r\n*Environement*\r\n{code:java}\r\nAppcelerator Command-Line Interface, version 6.1.0\r\nAndroid 7.1 (Google Nexus 6P)\r\nOperating System Name: Mac OS X El Capitan\r\nOperating System Version: 10.11.6\r\nNode.js Version: 4.6.0\r\nnpm: 4.2.8\r\nTitanium SDK Version: 6.1.0.v20170103153718\r\nXcode: 8.0\r\nAppcelerator Studio: 4.8.1.201612050850\r\n{code}\r\n", "updateAuthor": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-01-04T00:58:44.000+0000", "updated": "2017-01-04T00:58:44.000+0000" }, { "id": "405030", "author": { "name": "michael", "key": "michael", "displayName": "Michael Gangolf", "active": true, "timeZone": "Europe/Berlin" }, "body": "Using a camera with an overlay I'll get the following error in 6.1.0:\r\n\r\n\r\n{code:java}\r\nERROR] InputEventSender: Exception dispatching finished signal.\r\n[ERROR] E/MessageQueue-JNI: Exception in MessageQueue callback: handleReceiveCallback\r\n[ERROR] E/MessageQueue-JNI: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean org.appcelerator.titanium.proxy.TiWindowProxy.hasProperty(java.lang.String)' on a null object reference\r\n[ERROR] E/MessageQueue-JNI: at org.appcelerator.titanium.TiBaseActivity.onBackPressed(TiBaseActivity.java:859)\r\n[ERROR] E/MessageQueue-JNI: at ti.modules.titanium.media.TiCameraActivity.onBackPressed(TiCameraActivity.java:935)\r\n[ERROR] E/MessageQueue-JNI: at android.app.Activity.onKeyUp(Activity.java:2494)\r\n[ERROR] E/MessageQueue-JNI: at android.view.KeyEvent.dispatch(KeyEvent.java:2686)\r\n[ERROR] E/MessageQueue-JNI: at android.app.Activity.dispatchKeyEvent(Activity.java:2747)\r\n[ERROR] E/MessageQueue-JNI: at org.appcelerator.titanium.TiBaseActivity.dispatchKeyEvent(TiBaseActivity.java:888)\r\n[ERROR] E/MessageQueue-JNI: at android.support.v7.view.WindowCallbackWrapper.dispatchKeyEvent(WindowCallbackWrapper.java:50)\r\n[ERROR] E/MessageQueue-JNI: at android.support.v7.app.AppCompatDelegateImplBase$AppCompatWindowCallbackBase.dispatchKeyEvent(AppCompatDelegateImplBase.java:224)\r\n[ERROR] E/MessageQueue-JNI: at com.android.internal.policy.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:2323)\r\n[ERROR] E/MessageQueue-JNI: at android.view.ViewRootImpl$ViewPostImeInputStage.processKeyEvent(ViewRootImpl.java:4323)\r\n[ERROR] E/MessageQueue-JNI: at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4285)\r\n[ERROR] E/MessageQueue-JNI: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3816)\r\n[ERROR] E/MessageQueue-JNI: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3875)\r\n[ERROR] E/MessageQueue-JNI: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3841)\r\n[ERROR] E/MessageQueue-JNI: at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3971)\r\n[ERROR] E/MessageQueue-JNI: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3849)\r\n[ERROR] E/MessageQueue-JNI: at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4028)\r\n[ERROR] E/MessageQueue-JNI: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3821)\r\n[ERROR] E/MessageQueue-JNI: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3875)\r\n[ERROR] E/MessageQueue-JNI: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3841)\r\n[ERROR] E/MessageQueue-JNI: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3849)\r\n[ERROR] E/MessageQueue-JNI: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3821)\r\n[ERROR] E/MessageQueue-JNI: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3875)\r\n[ERROR] E/MessageQueue-JNI: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3841)\r\n[ERROR] E/MessageQueue-JNI: at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4004)\r\n[ERROR] E/MessageQueue-JNI: at android.view.ViewRootImpl$ImeInputStage.onFinishedInputEvent(ViewRootImpl.java:4177)\r\n[ERROR] E/MessageQueue-JNI: at android.view.inputmethod.InputMethodManager$PendingEvent.run(InputMethodManager.java:2374)\r\n[ERROR] E/MessageQueue-JNI: at android.view.inputmethod.InputMethodManager.invokeFinishedInputEventCallback(InputMethodManager.java:1983)\r\n[ERROR] E/MessageQueue-JNI: at android.view.inputmethod.InputMethodManager.finishedInputEvent(InputMethodManager.java:1972)\r\n[ERROR] E/MessageQueue-JNI: at android.view.inputmethod.InputMethodManager$ImeInputEventSender.onInputEventFinished(InputMethodManager.java:2340)\r\n[ERROR] E/MessageQueue-JNI: at android.view.InputEventSender.dispatchInputEventFinished(InputEventSender.java:141)\r\n[ERROR] E/MessageQueue-JNI: at android.os.MessageQueue.nativePollOnce(Native Method)\r\n[ERROR] E/MessageQueue-JNI: at android.os.MessageQueue.next(MessageQueue.java:323)\r\n[ERROR] E/MessageQueue-JNI: at android.os.Looper.loop(Looper.java:144)\r\n[ERROR] E/MessageQueue-JNI: at android.app.ActivityThread.main(ActivityThread.java:5821)\r\n[ERROR] E/MessageQueue-JNI: at java.lang.reflect.Method.invoke(Native Method)\r\n[ERROR] E/MessageQueue-JNI: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:797)\r\n[ERROR] E/MessageQueue-JNI: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:687)\r\n\r\n{code}\r\n\r\n\r\nTest app:\r\n{code:javascript}\r\nvar win = Titanium.UI.createWindow();\r\nvar imageView = Ti.UI.createImageView({\r\n height: Ti.UI.FILL,\r\n width: Ti.UI.FILL\r\n});\r\n\r\nvar btn = Ti.UI.createButton({\r\n title: \"Cam\"\r\n});\r\nwin.add(btn);\r\n\r\nvar overlay = Ti.UI.createView({});\r\nvar btn2 = Ti.UI.createButton({\r\n title: \"take image\"\r\n});\r\nbtn2.addEventListener(\"click\",function(e){\r\n Ti.Media.takePicture();\r\n})\r\noverlay.add(btn2)\r\n\r\nbtn.addEventListener(\"click\", function(e) {\r\n console.log(\"----------------------------start camera------------------------\");\r\n Titanium.Media.showCamera({\r\n overlay: overlay,\r\n success: function(event) {\r\n imageView.image = f.nativePath;\r\n },\r\n cancel: function() { Ti.API.info('#### Camera Cancel'); },\r\n error: function(error) {},\r\n allowEditing: true\r\n });\r\n})\r\nwin.add(imageView);\r\nwin.addEventListener(\"open\", function() {\r\n\r\n});\r\nwin.open();\r\n{code}\r\n\r\nWhen the camera view is open press back\r\n\r\nDevice: HTC A9\r\n\r\nTi 6.0.1.GA is working fine", "updateAuthor": { "name": "michael", "key": "michael", "displayName": "Michael Gangolf", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-01-21T18:29:25.000+0000", "updated": "2017-01-21T18:29:25.000+0000" }, { "id": "405066", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "PR (6_0_X): https://github.com/appcelerator/titanium_mobile/pull/8775", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-01-23T14:14:29.000+0000", "updated": "2017-01-23T14:14:29.000+0000" }, { "id": "405092", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Reopening for the patch-PR provided by [~michael], thank you!\r\n\r\nPR (master): https://github.com/appcelerator/titanium_mobile/pull/8779\r\nPR (6_0_X): https://github.com/appcelerator/titanium_mobile/pull/8780", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-01-23T18:57:04.000+0000", "updated": "2017-01-23T18:58:55.000+0000" }, { "id": "405127", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~hansknoechel], I see the fix in SDK 6.0.2.v20170123140026 & 6.1.0.v20170123141052 but, I can still reproduce the camera issue.\r\n\r\nAppc Studio : 4.8.1.201612050850\r\nMac OS Version : 10.12.2\r\nXcode Version : Xcode 8.2.1 Build version 8C1002\r\nAppc CLI AND Appc NPM : {\"NPM\":\"4.2.9-1\",\"CLI\":\"6.1.0\"}\r\nTi CLI : 5.0.11\r\nAlloy : 1.9.5\r\nNode : v4.6.0\r\n", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-01-24T02:13:00.000+0000", "updated": "2017-01-24T02:13:00.000+0000" }, { "id": "405139", "author": { "name": "michael", "key": "michael", "displayName": "Michael Gangolf", "active": true, "timeZone": "Europe/Berlin" }, "body": "@lchoudhary are you sure that my fix was included in that version? Looking at travis it says the version should be 6.0.2.v20170123204635", "updateAuthor": { "name": "michael", "key": "michael", "displayName": "Michael Gangolf", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-01-24T07:44:07.000+0000", "updated": "2017-01-24T07:44:28.000+0000" }, { "id": "405183", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~michael], [~hansknoechel], I see this code for the fix on line no 859 of the TiBaseActivity.class file in both the SDK's:\r\n{code}\r\n if ((topWindow != null) || ((!topWindow.hasProperty(\"onBack\")) && (!topWindow.hasListeners(\"androidback\"))))\r\n{code}\r\n\r\nAnyhow I will check it again with the latest build.\r\n\r\n*UPDATE:*\r\nTravis says the build 6.0.2.v20170123204635 has been built but I do not see it on the builds page nor I can get it the CLI.\r\n\r\nI checked with latest master 6.1.0.v20170124071525 & my app still crashes with error:\r\n{code}\r\n[ERROR] : TiApplication: (main) [3907,6481] Sending event: exception on thread: main msg:java.lang.RuntimeException: Unable to resume activity {com.app.timob24253/org.appcelerator.titanium.TiActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean org.appcelerator.titanium.proxy.ActivityProxy.fireSyncEvent(java.lang.String, java.lang.Object)' on a null object reference; Titanium 6.1.0,2017/01/24 07:21,undefined\r\n[ERROR] : TiApplication: java.lang.RuntimeException: Unable to resume activity {com.app.timob24253/org.appcelerator.titanium.TiActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean org.appcelerator.titanium.proxy.ActivityProxy.fireSyncEvent(java.lang.String, java.lang.Object)' on a null object reference\r\n[ERROR] : TiApplication: \tat android.app.ActivityThread.performResumeActivity(ActivityThread.java:3103)\r\n[ERROR] : TiApplication: \tat android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3134)\r\n[ERROR] : TiApplication: \tat android.app.ActivityThread$H.handleMessage(ActivityThread.java:1388)\r\n[ERROR] : TiApplication: \tat android.os.Handler.dispatchMessage(Handler.java:102)\r\n[ERROR] : TiApplication: \tat android.os.Looper.loop(Looper.java:148)\r\n[ERROR] : TiApplication: \tat android.app.ActivityThread.main(ActivityThread.java:5417)\r\n[ERROR] : TiApplication: \tat java.lang.reflect.Method.invoke(Native Method)\r\n[ERROR] : TiApplication: \tat com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)\r\n[ERROR] : TiApplication: \tat com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)\r\n[ERROR] : TiApplication: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean org.appcelerator.titanium.proxy.ActivityProxy.fireSyncEvent(java.lang.String, java.lang.Object)' on a null object reference\r\n[ERROR] : TiApplication: \tat org.appcelerator.titanium.TiActivity.onResume(TiActivity.java:55)\r\n[ERROR] : TiApplication: \tat android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1258)\r\n[ERROR] : TiApplication: \tat android.app.Activity.performResume(Activity.java:6327)\r\n[ERROR] : TiApplication: \tat android.app.ActivityThread.performResumeActivity(ActivityThread.java:3092)\r\n[ERROR] : TiApplication: \t... 8 more\r\n{code}\r\n\r\n*EDIT* :\r\nIgnore my above comment about failing with latest master as travis says the build has failed:\r\nhttps://travis-ci.org/appcelerator/titanium_mobile/builds/194570882\r\n", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-01-24T17:29:49.000+0000", "updated": "2017-01-24T18:01:03.000+0000" }, { "id": "405184", "author": { "name": "michael", "key": "michael", "displayName": "Michael Gangolf", "active": true, "timeZone": "Europe/Berlin" }, "body": "That's correct. But I think the build you've tested was built before it was included. Or did you create an own version from source?", "updateAuthor": { "name": "michael", "key": "michael", "displayName": "Michael Gangolf", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-01-24T17:32:17.000+0000", "updated": "2017-01-24T17:32:17.000+0000" }, { "id": "405191", "author": { "name": "awaldman", "key": "awaldman", "displayName": "Andy Waldman", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Tuesday 24th January 2017\r\n\r\nEnvironment:\r\nAppcelerator Command-Line Interface, version 6.1.0\r\nAndroid 7.1 (Google Pixel)\r\nOperating System Name: MacOS Sierra\r\nOperating System Version: 10.12.1\r\nNode.js Version: 4.5.0\r\nNPM: 4.2.8\r\nAppc NPM: 4.2.8\r\nTitanium SDK Version: 6.0.2.v20170123062940\r\nXcode: 8.2.1\r\nStudio Build: 4.8.1.201612050850\r\n\r\nStep 1) Download the provided application (TestAndroidBack)\r\nStep 2) Update Guid and set SDK to 6.0.2\r\nStep 3) Run Application and press \"hello world\"\r\nStep 4) After being taken to the next screen with a yellow background, I pressed the hardware back button.\r\nStep 5) Observations that the application stayed on that page and the app stayed open\r\n\r\nThis Verified that the ticket is still fixed!\r\n\r\nStep 7) Run the same application after switching SDK to 6.0.0.GA to verify i can reproduce the error before confirming that the ticket is indeed closed .\r\nStep 8) After testing the application in the above the SDK the application and can confirm that when clicking the back button once progressing to the yellow screen, the application fails to stay on that page and does go back, meaning I have recreated the issue\r\n\r\nFrom the above steps i can confirm this ticket is closed for 6.0.2.", "updateAuthor": { "name": "awaldman", "key": "awaldman", "displayName": "Andy Waldman", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-01-24T18:01:14.000+0000", "updated": "2017-01-24T18:01:32.000+0000" }, { "id": "405193", "author": { "name": "michael", "key": "michael", "displayName": "Michael Gangolf", "active": true, "timeZone": "Europe/Berlin" }, "updateAuthor": { "name": "michael", "key": "michael", "displayName": "Michael Gangolf", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-01-24T18:07:35.000+0000", "updated": "2017-01-24T18:07:35.000+0000" }, { "id": "405202", "author": { "name": "awaldman", "key": "awaldman", "displayName": "Andy Waldman", "active": true, "timeZone": "America/Los_Angeles" }, "body": "However after looking at the camera issue above, the application crashes \r\n\r\nSDK: 6.0.2.v20170123140026\r\n\r\napp.js:\r\n\r\n\r\n{code:java}\r\nvar win = Titanium.UI.createWindow();\r\nvar imageView = Ti.UI.createImageView({\r\n height: Ti.UI.FILL,\r\n width: Ti.UI.FILL\r\n});\r\n \r\nvar btn = Ti.UI.createButton({\r\n title: \"Cam\"\r\n});\r\nwin.add(btn);\r\n \r\nvar overlay = Ti.UI.createView({});\r\nvar btn2 = Ti.UI.createButton({\r\n title: \"take image\"\r\n});\r\nbtn2.addEventListener(\"click\",function(e){\r\n Ti.Media.takePicture();\r\n})\r\noverlay.add(btn2)\r\n \r\nbtn.addEventListener(\"click\", function(e) {\r\n console.log(\"----------------------------start camera------------------------\");\r\n Titanium.Media.showCamera({\r\n overlay: overlay,\r\n success: function(event) {\r\n imageView.image = f.nativePath;\r\n },\r\n cancel: function() { Ti.API.info('#### Camera Cancel'); },\r\n error: function(error) {},\r\n allowEditing: true\r\n });\r\n})\r\nwin.add(imageView);\r\nwin.addEventListener(\"open\", function() {\r\n \r\n});\r\nwin.open();\r\n{code}\r\n\r\nas a result i will reopen the Ticket \r\n", "updateAuthor": { "name": "awaldman", "key": "awaldman", "displayName": "Andy Waldman", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-01-24T18:23:11.000+0000", "updated": "2017-01-24T18:23:11.000+0000" }, { "id": "405217", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "To sum up:\r\n1. Build 6.0.2.v20170124145857 is failing with the same original logs as Michael G even though I can see the fix in it.\r\n{code}\r\n[ERROR] : InputEventSender: Exception dispatching finished signal.\r\n[ERROR] : E/MessageQueue-JNI: Exception in MessageQueue callback: handleReceiveCallback\r\n[ERROR] : E/MessageQueue-JNI: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean org.appcelerator.titanium.proxy.TiWindowProxy.hasProperty(java.lang.String)' on a null object reference\r\n[ERROR] : E/MessageQueue-JNI: \tat org.appcelerator.titanium.TiBaseActivity.onBackPressed(TiBaseActivity.java:859)\r\n[ERROR] : E/MessageQueue-JNI: \tat ti.modules.titanium.media.TiCameraActivity.onBackPressed(TiCameraActivity.java:932)\r\n[ERROR] : E/MessageQueue-JNI: \tat android.app.Activity.onKeyUp(Activity.java:2483)\r\n[ERROR] : E/MessageQueue-JNI: \tat android.view.KeyEvent.dispatch(KeyEvent.java:2664)\r\n[ERROR] : E/MessageQueue-JNI: \tat android.app.Activity.dispatchKeyEvent(Activity.java:2736)\r\n[ERROR] : E/MessageQueue-JNI: \tat org.appcelerator.titanium.TiBaseActivity.dispatchKeyEvent(TiBaseActivity.java:888)\r\n[ERROR] : E/MessageQueue-JNI: \tat android.support.v7.view.WindowCallbackWrapper.dispatchKeyEvent(WindowCallbackWrapper.java:50)\r\n[ERROR] : E/MessageQueue-JNI: \tat android.support.v7.app.AppCompatDelegateImplBase$AppCompatWindowCallbackBase.dispatchKeyEvent(AppCompatDelegateImplBase.java:224)\r\n[ERROR] : E/MessageQueue-JNI: \tat com.android.internal.policy.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:2310)\r\n[ERROR] : E/MessageQueue-JNI: \tat android.view.ViewRootImpl$ViewPostImeInputStage.processKeyEvent(ViewRootImpl.java:4127)\r\n[ERROR] : E/MessageQueue-JNI: \tat android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4089)\r\n[ERROR] : E/MessageQueue-JNI: \tat android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3642)\r\n[ERROR] : E/MessageQueue-JNI: \tat android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3695)\r\n[ERROR] : E/MessageQueue-JNI: \tat android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3661)\r\n[ERROR] : E/MessageQueue-JNI: \tat android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3787)\r\n[ERROR] : E/MessageQueue-JNI: \tat android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3669)\r\n[ERROR] : E/MessageQueue-JNI: \tat android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3844)\r\n[ERROR] : E/MessageQueue-JNI: \tat android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3642)\r\n[ERROR] : E/MessageQueue-JNI: \tat android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3695)\r\n[ERROR] : E/MessageQueue-JNI: \tat android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3661)\r\n[ERROR] : E/MessageQueue-JNI: \tat android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3669)\r\n[ERROR] : E/MessageQueue-JNI: \tat android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3642)\r\n[ERROR] : E/MessageQueue-JNI: \tat android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3695)\r\n[ERROR] : E/MessageQueue-JNI: \tat android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3661)\r\n[ERROR] : E/MessageQueue-JNI: \tat android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3820)\r\n[ERROR] : E/MessageQueue-JNI: \tat android.view.ViewRootImpl$ImeInputStage.onFinishedInputEvent(ViewRootImpl.java:3981)\r\n[ERROR] : E/MessageQueue-JNI: \tat android.view.inputmethod.InputMethodManager$PendingEvent.run(InputMethodManager.java:2253)\r\n[ERROR] : E/MessageQueue-JNI: \tat android.view.inputmethod.InputMethodManager.invokeFinishedInputEventCallback(InputMethodManager.java:1874)\r\n[ERROR] : E/MessageQueue-JNI: \tat android.view.inputmethod.InputMethodManager.finishedInputEvent(InputMethodManager.java:1865)\r\n[ERROR] : E/MessageQueue-JNI: \tat android.view.inputmethod.InputMethodManager$ImeInputEventSender.onInputEventFinished(InputMethodManager.java:2230)\r\n[ERROR] : E/MessageQueue-JNI: \tat android.view.InputEventSender.dispatchInputEventFinished(InputEventSender.java:141)\r\n[ERROR] : E/MessageQueue-JNI: \tat android.os.MessageQueue.nativePollOnce(Native Method)\r\n[ERROR] : E/MessageQueue-JNI: \tat android.os.MessageQueue.next(MessageQueue.java:323)\r\n[ERROR] : E/MessageQueue-JNI: \tat android.os.Looper.loop(Looper.java:135)\r\n[ERROR] : E/MessageQueue-JNI: \tat android.app.ActivityThread.main(ActivityThread.java:5417)\r\n[ERROR] : E/MessageQueue-JNI: \tat java.lang.reflect.Method.invoke(Native Method)\r\n[ERROR] : E/MessageQueue-JNI: \tat com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)\r\n[ERROR] : E/MessageQueue-JNI: \tat com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)\r\n{code}\r\n\r\n2. Master 6.1.0.v20170124145731 fails due to other reason probably due to TIMOB-20459 with logs:\r\n{code}\r\n[ERROR] : TiApplication: (main) [6677,6677] Sending event: exception on thread: main msg:java.lang.RuntimeException: Unable to resume activity {com.app.zprodclassic/org.appcelerator.titanium.TiActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean org.appcelerator.titanium.proxy.ActivityProxy.fireSyncEvent(java.lang.String, java.lang.Object)' on a null object reference; Titanium 6.1.0,2017/01/24 14:58,undefined\r\n[ERROR] : TiApplication: java.lang.RuntimeException: Unable to resume activity {com.app.zprodclassic/org.appcelerator.titanium.TiActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean org.appcelerator.titanium.proxy.ActivityProxy.fireSyncEvent(java.lang.String, java.lang.Object)' on a null object reference\r\n[ERROR] : TiApplication: \tat android.app.ActivityThread.performResumeActivity(ActivityThread.java:3103)\r\n[ERROR] : TiApplication: \tat android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3134)\r\n[ERROR] : TiApplication: \tat android.app.ActivityThread$H.handleMessage(ActivityThread.java:1388)\r\n[ERROR] : TiApplication: \tat android.os.Handler.dispatchMessage(Handler.java:102)\r\n[ERROR] : TiApplication: \tat android.os.Looper.loop(Looper.java:148)\r\n[ERROR] : TiApplication: \tat android.app.ActivityThread.main(ActivityThread.java:5417)\r\n[ERROR] : TiApplication: \tat java.lang.reflect.Method.invoke(Native Method)\r\n[ERROR] : TiApplication: \tat com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)\r\n[ERROR] : TiApplication: \tat com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)\r\n[ERROR] : TiApplication: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean org.appcelerator.titanium.proxy.ActivityProxy.fireSyncEvent(java.lang.String, java.lang.Object)' on a null object reference\r\n[ERROR] : TiApplication: \tat org.appcelerator.titanium.TiActivity.onResume(TiActivity.java:55)\r\n[ERROR] : TiApplication: \tat android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1258)\r\n[ERROR] : TiApplication: \tat android.app.Activity.performResume(Activity.java:6327)\r\n[ERROR] : TiApplication: \tat android.app.ActivityThread.performResumeActivity(ActivityThread.java:3092)\r\n[ERROR] : TiApplication: \t... 8 more\r\n{code}", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-01-24T23:33:29.000+0000", "updated": "2017-01-24T23:44:05.000+0000" }, { "id": "405307", "author": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "updateAuthor": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-01-25T20:38:23.000+0000", "updated": "2017-01-25T20:49:48.000+0000" }, { "id": "405412", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Verified the fix is present in SDK 6.1.0.v20170126102557.\r\nWaiting for the fix for 6.0.2 branch.", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-01-26T19:16:59.000+0000", "updated": "2017-01-26T19:16:59.000+0000" }, { "id": "405426", "author": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "body": "master: https://github.com/appcelerator/titanium_mobile/pull/8796\r\n6_0_X: https://github.com/appcelerator/titanium_mobile/pull/8797\r\n\r\n[~michael] The 6_0_X fix https://github.com/appcelerator/titanium_mobile/pull/8780/files has a mistake and should have been {{==}}, I've amended that in my 6_0_X PR. Which is why the bug was still reproducible on {{6.0.2}}.\r\n\r\nFix for:\r\n{code}\r\njava.lang.NullPointerException: Attempt to invoke virtual method 'boolean org.appcelerator.titanium.proxy.TiWindowProxy.hasProperty(java.lang.String)' on a null object reference\r\n{code}", "updateAuthor": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-01-26T21:48:35.000+0000", "updated": "2017-01-26T22:07:14.000+0000" }, { "id": "405474", "author": { "name": "michael", "key": "michael", "displayName": "Michael Gangolf", "active": true, "timeZone": "Europe/Berlin" }, "body": "[~gmathews] Thanks for the fix! I shouldn't use the edit function on github and create patches there, stupid typo!", "updateAuthor": { "name": "michael", "key": "michael", "displayName": "Michael Gangolf", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-01-27T10:02:27.000+0000", "updated": "2017-01-27T10:02:27.000+0000" }, { "id": "405622", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Verified the fix is present in SDK 6.0.2.v20170130045621.\r\nClosing.\r\n", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-01-30T19:19:30.000+0000", "updated": "2017-01-30T19:19:30.000+0000" }, { "id": "409790", "author": { "name": "fahad86", "key": "fahad86", "displayName": "Muhammad Ahmed Fahad", "active": true, "timeZone": "Asia/Shanghai" }, "body": "Need to make-up your mind as to whether overriding the back button needs to happen via androidback or http://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.Window-property-onBack.\r\n\r\nThis request reverts to old behaviour!", "updateAuthor": { "name": "fahad86", "key": "fahad86", "displayName": "Muhammad Ahmed Fahad", "active": true, "timeZone": "Asia/Shanghai" }, "created": "2017-03-08T03:52:23.000+0000", "updated": "2017-03-08T03:52:23.000+0000" }, { "id": "409792", "author": { "name": "fahad86", "key": "fahad86", "displayName": "Muhammad Ahmed Fahad", "active": true, "timeZone": "Asia/Shanghai" }, "updateAuthor": { "name": "fahad86", "key": "fahad86", "displayName": "Muhammad Ahmed Fahad", "active": true, "timeZone": "Asia/Shanghai" }, "created": "2017-03-08T03:54:32.000+0000", "updated": "2017-03-08T03:54:32.000+0000" } ], "maxResults": 23, "total": 23, "startAt": 0 } } }