fix NPE in dispatchKeyEvents

    Bug: 3514737

Change-Id: I38e448c32c9591004e422627125f9d05db5f8083
diff --git a/src/com/android/browser/XLargeUi.java b/src/com/android/browser/XLargeUi.java
index 371e649..8c39f16 100644
--- a/src/com/android/browser/XLargeUi.java
+++ b/src/com/android/browser/XLargeUi.java
@@ -460,22 +460,23 @@
 
     @Override
     public boolean dispatchKey(int code, KeyEvent event) {
-        WebView web = getActiveTab().getWebView();
-        if (event.getAction() == KeyEvent.ACTION_DOWN) {
-
-            switch (code) {
-                case KeyEvent.KEYCODE_TAB:
-                case KeyEvent.KEYCODE_DPAD_UP:
-                case KeyEvent.KEYCODE_DPAD_LEFT:
-                    if ((web != null) && web.hasFocus() && !mTitleBar.hasFocus()) {
-                        editUrl(false);
-                        return true;
-                    }
-            }
-            boolean ctrl = event.hasModifiers(KeyEvent.META_CTRL_ON);
-            if (!ctrl && isTypingKey(event) && !mTitleBar.isEditingUrl()) {
-                editUrl(true);
-                return mContentView.dispatchKeyEvent(event);
+        if (mActiveTab != null) {
+            WebView web = mActiveTab.getWebView();
+            if (event.getAction() == KeyEvent.ACTION_DOWN) {
+                switch (code) {
+                    case KeyEvent.KEYCODE_TAB:
+                    case KeyEvent.KEYCODE_DPAD_UP:
+                    case KeyEvent.KEYCODE_DPAD_LEFT:
+                        if ((web != null) && web.hasFocus() && !mTitleBar.hasFocus()) {
+                            editUrl(false);
+                            return true;
+                        }
+                }
+                boolean ctrl = event.hasModifiers(KeyEvent.META_CTRL_ON);
+                if (!ctrl && isTypingKey(event) && !mTitleBar.isEditingUrl()) {
+                    editUrl(true);
+                    return mContentView.dispatchKeyEvent(event);
+                }
             }
         }
         return false;