[AC-1871] Android: WebView - Setting touchEnabled to false crashes webView after click
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | n/a |
Status | Closed |
Resolution | Duplicate |
Resolution Date | 2014-01-15T05:56:13.000+0000 |
Affected Version/s | n/a |
Fix Version/s | n/a |
Components | Titanium SDK & CLI |
Labels | android, nullpointerexception, touchEnabled, webview |
Reporter | Martin Tietz |
Assignee | Ritu Agrawal |
Created | 2014-01-14T13:02:17.000+0000 |
Updated | 2016-03-08T07:40:47.000+0000 |
Description
h2. Problem
After 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.
Test case
var win = Ti.UI.createWindow();
var webView = Ti.UI.createWebView({
url: 'http://www.google.com',
touchEnabled: false
});
win.add(webView);
win.open();
Logs
[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
[ERROR] TiApplication: java.lang.NullPointerException
[ERROR] TiApplication: at ti.modules.titanium.ui.widget.webview.TiUIWebView$TiWebView.onTouchEvent(TiUIWebView.java:112)
[ERROR] TiApplication: at android.view.View.dispatchTouchEvent(View.java:7384)
[ERROR] TiApplication: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2203)
[ERROR] TiApplication: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1938)
[ERROR] TiApplication: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2209)
[ERROR] TiApplication: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1910)
[ERROR] TiApplication: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2209)
[ERROR] TiApplication: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1910)
[ERROR] TiApplication: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2209)
[ERROR] TiApplication: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1910)
[ERROR] TiApplication: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2209)
[ERROR] TiApplication: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1910)
[ERROR] TiApplication: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2209)
[ERROR] TiApplication: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1910)
[ERROR] TiApplication: at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1966)
[ERROR] TiApplication: at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1418)
[ERROR] TiApplication: at android.app.Activity.dispatchTouchEvent(Activity.java:2424)
[ERROR] TiApplication: at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1914)
[ERROR] TiApplication: at android.view.View.dispatchPointerEvent(View.java:7564)
[ERROR] TiApplication: at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:3883)
[ERROR] TiApplication: at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:3778)
[ERROR] TiApplication: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3379)
[ERROR] TiApplication: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3429)
[ERROR] TiApplication: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3398)
[ERROR] TiApplication: at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3483)
[ERROR] TiApplication: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3406)
[ERROR] TiApplication: at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3540)
[ERROR] TiApplication: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3379)
[ERROR] TiApplication: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3429)
[ERROR] TiApplication: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3398)
[ERROR] TiApplication: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3406)
[ERROR] TiApplication: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3379)
[ERROR] TiApplication: at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5419)
[ERROR] TiApplication: at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5399)
[ERROR] TiApplication: at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5370)
[ERROR] TiApplication: at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:5493)
[ERROR] TiApplication: at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:182)
[ERROR] TiApplication: at android.os.MessageQueue.nativePollOnce(Native Method)
[ERROR] TiApplication: at android.os.Looper.loop(Looper.java:124)
[ERROR] TiApplication: at android.app.ActivityThread.main(ActivityThread.java:5103)
[ERROR] TiApplication: at java.lang.reflect.Method.invokeNative(Native Method)
[ERROR] TiApplication: at java.lang.reflect.Method.invoke(Method.java:525)
[ERROR] TiApplication: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
[ERROR] TiApplication: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
[ERROR] TiApplication: at dalvik.system.NativeStart.main(Native Method)
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.