Prevent NPE in case webview is lately initialized

(cherry picked from commit a9ebf50b86)
This commit is contained in:
denis 2013-07-01 15:37:29 +08:00 committed by Andrew Grieve
parent 8b3fa5c91e
commit dd770ef303

View File

@ -858,8 +858,8 @@ public class CordovaActivity extends Activity implements CordovaInterface {
LOG.d(TAG, "Incoming Result"); LOG.d(TAG, "Incoming Result");
super.onActivityResult(requestCode, resultCode, intent); super.onActivityResult(requestCode, resultCode, intent);
Log.d(TAG, "Request code = " + requestCode); Log.d(TAG, "Request code = " + requestCode);
ValueCallback<Uri> mUploadMessage = this.appView.getWebChromeClient().getValueCallback(); if (appView != null && requestCode == CordovaChromeClient.FILECHOOSER_RESULTCODE) {
if (requestCode == CordovaChromeClient.FILECHOOSER_RESULTCODE) { ValueCallback<Uri> mUploadMessage = this.appView.getWebChromeClient().getValueCallback();
Log.d(TAG, "did we get here?"); Log.d(TAG, "did we get here?");
if (null == mUploadMessage) if (null == mUploadMessage)
return; return;
@ -1079,9 +1079,7 @@ public class CordovaActivity extends Activity implements CordovaInterface {
@Override @Override
public boolean onKeyUp(int keyCode, KeyEvent event) public boolean onKeyUp(int keyCode, KeyEvent event)
{ {
//Get whatever has focus! if (appView != null && (appView.isCustomViewShowing() || appView.getFocusedChild() != null ) &&
View childView = appView.getFocusedChild();
if ((appView.isCustomViewShowing() || childView != null ) &&
(keyCode == KeyEvent.KEYCODE_BACK || keyCode == KeyEvent.KEYCODE_MENU)) { (keyCode == KeyEvent.KEYCODE_BACK || keyCode == KeyEvent.KEYCODE_MENU)) {
return appView.onKeyUp(keyCode, event); return appView.onKeyUp(keyCode, event);
} else { } else {
@ -1099,10 +1097,8 @@ public class CordovaActivity extends Activity implements CordovaInterface {
@Override @Override
public boolean onKeyDown(int keyCode, KeyEvent event) public boolean onKeyDown(int keyCode, KeyEvent event)
{ {
//Get whatever has focus!
View childView = appView.getFocusedChild();
//Determine if the focus is on the current view or not //Determine if the focus is on the current view or not
if (childView != null && (keyCode == KeyEvent.KEYCODE_BACK || keyCode == KeyEvent.KEYCODE_MENU)) { if (appView != null && appView.getFocusedChild() != null && (keyCode == KeyEvent.KEYCODE_BACK || keyCode == KeyEvent.KEYCODE_MENU)) {
return appView.onKeyDown(keyCode, event); return appView.onKeyDown(keyCode, event);
} }
else else