{ "id": "124770", "key": "AC-1871", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "12217", "key": "AC", "name": "Appcelerator - INBOX", "projectCategory": { "id": "10000", "description": "", "name": "Customer Service" } }, "resolution": { "id": "3", "description": "The problem is a duplicate of an existing issue.", "name": "Duplicate" }, "resolutiondate": "2014-01-15T05:56:13.000+0000", "created": "2014-01-14T13:02:17.000+0000", "labels": [ "android", "nullpointerexception", "touchEnabled", "webview" ], "versions": [], "issuelinks": [ { "id": "34304", "type": { "id": "10002", "name": "Duplicate", "inward": "is duplicated by", "outward": "duplicates" }, "outwardIssue": { "id": "124090", "key": "TIMOB-16063", "fields": { "summary": "Android: Field Service App crashes with java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Boolean", "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" } }, "priority": { "name": "Critical", "id": "1" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "ragrawal", "key": "ragrawal", "displayName": "Ritu Agrawal", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2016-03-08T07:40:47.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": "14548", "name": "Titanium SDK & CLI", "description": "Please enter tickets related to the MobileSDK here." } ], "description": " h2. Problem\r\n\r\nAfter clicking a webView on Android that has touchEnabled set to false, the app crashes and throws a NullPointerException. This error does not occur with Titanium 3.1.3.\r\n\r\nh2. Test case\r\n\r\n{code:lang=javascript|title=app.js}\r\nvar win = Ti.UI.createWindow();\r\nvar webView = Ti.UI.createWebView({\r\n\turl: 'http://www.google.com',\r\n\ttouchEnabled: false\r\n});\r\nwin.add(webView);\r\nwin.open();\r\n{code}\r\n\r\nh2. Logs\r\n\r\n{code:lang=none|title=console}\r\n[ERROR] TiApplication: (main) [13523,45913] Sending event: exception on thread: main msg:java.lang.NullPointerException; Titanium 3.2.0,2013/12/20 10:57,d9182d6\r\n[ERROR] TiApplication: java.lang.NullPointerException\r\n[ERROR] TiApplication: \tat ti.modules.titanium.ui.widget.webview.TiUIWebView$TiWebView.onTouchEvent(TiUIWebView.java:112)\r\n[ERROR] TiApplication: \tat android.view.View.dispatchTouchEvent(View.java:7384)\r\n[ERROR] TiApplication: \tat android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2203)\r\n[ERROR] TiApplication: \tat android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1938)\r\n[ERROR] TiApplication: \tat android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2209)\r\n[ERROR] TiApplication: \tat android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1910)\r\n[ERROR] TiApplication: \tat android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2209)\r\n[ERROR] TiApplication: \tat android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1910)\r\n[ERROR] TiApplication: \tat android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2209)\r\n[ERROR] TiApplication: \tat android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1910)\r\n[ERROR] TiApplication: \tat android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2209)\r\n[ERROR] TiApplication: \tat android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1910)\r\n[ERROR] TiApplication: \tat android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2209)\r\n[ERROR] TiApplication: \tat android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1910)\r\n[ERROR] TiApplication: \tat com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1966)\r\n[ERROR] TiApplication: \tat com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1418)\r\n[ERROR] TiApplication: \tat android.app.Activity.dispatchTouchEvent(Activity.java:2424)\r\n[ERROR] TiApplication: \tat com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1914)\r\n[ERROR] TiApplication: \tat android.view.View.dispatchPointerEvent(View.java:7564)\r\n[ERROR] TiApplication: \tat android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:3883)\r\n[ERROR] TiApplication: \tat android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:3778)\r\n[ERROR] TiApplication: \tat android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3379)\r\n[ERROR] TiApplication: \tat android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3429)\r\n[ERROR] TiApplication: \tat android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3398)\r\n[ERROR] TiApplication: \tat android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3483)\r\n[ERROR] TiApplication: \tat android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3406)\r\n[ERROR] TiApplication: \tat android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3540)\r\n[ERROR] TiApplication: \tat android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3379)\r\n[ERROR] TiApplication: \tat android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3429)\r\n[ERROR] TiApplication: \tat android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3398)\r\n[ERROR] TiApplication: \tat android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3406)\r\n[ERROR] TiApplication: \tat android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3379)\r\n[ERROR] TiApplication: \tat android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5419)\r\n[ERROR] TiApplication: \tat android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5399)\r\n[ERROR] TiApplication: \tat android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5370)\r\n[ERROR] TiApplication: \tat android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:5493)\r\n[ERROR] TiApplication: \tat android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:182)\r\n[ERROR] TiApplication: \tat android.os.MessageQueue.nativePollOnce(Native Method)\r\n[ERROR] TiApplication: \tat android.os.Looper.loop(Looper.java:124)\r\n[ERROR] TiApplication: \tat android.app.ActivityThread.main(ActivityThread.java:5103)\r\n[ERROR] TiApplication: \tat java.lang.reflect.Method.invokeNative(Native Method)\r\n[ERROR] TiApplication: \tat java.lang.reflect.Method.invoke(Method.java:525)\r\n[ERROR] TiApplication: \tat com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)\r\n[ERROR] TiApplication: \tat com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)\r\n[ERROR] TiApplication: \tat dalvik.system.NativeStart.main(Native Method)\r\n{code} ", "attachment": [], "flagged": false, "summary": "Android: WebView - Setting touchEnabled to false crashes webView after click", "creator": { "name": "martint", "key": "martint", "displayName": "Martin Tietz", "active": true, "timeZone": "Europe/Berlin" }, "subtasks": [], "reporter": { "name": "martint", "key": "martint", "displayName": "Martin Tietz", "active": true, "timeZone": "Europe/Berlin" }, "environment": "Titanium SDK version: 3.2.0,2013/12/20 10:57,d9182d6\r\nPlatform & version: Android 4.3\r\nDevice Details: Samsung Galaxy Nexus\r\nHost Operating System: OS X 10.9.1", "comment": { "comments": [ { "id": "288230", "author": { "name": "ragrawal", "key": "ragrawal", "displayName": "Ritu Agrawal", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Thanks for reporting this issue. This issue is already covered by TIMOB-16063 and have been fixed. You can work around this issue for now by using a boolean value in a string i.e. \"false\". Note that this issue is limited to touchEnabled property.", "updateAuthor": { "name": "ragrawal", "key": "ragrawal", "displayName": "Ritu Agrawal", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-01-15T05:55:43.000+0000", "updated": "2014-01-15T05:55:43.000+0000" } ], "maxResults": 1, "total": 1, "startAt": 0 } } }