Fix monkey bug

    Bug: 5166733
    added missing return statements and valid active
    tab check

Change-Id: Ida7ffa6faf77a95eaf19ef566176ad522be4efef
diff --git a/src/com/android/browser/Controller.java b/src/com/android/browser/Controller.java
index 3f126c0..24072c9 100644
--- a/src/com/android/browser/Controller.java
+++ b/src/com/android/browser/Controller.java
@@ -2684,23 +2684,32 @@
     }
 
     public boolean dispatchKeyEvent(KeyEvent event) {
-        return mBlockEvents;
+        return mBlockEvents || hasNoActiveTab();
     }
 
     public boolean dispatchKeyShortcutEvent(KeyEvent event) {
-        return mBlockEvents;
+        return mBlockEvents || hasNoActiveTab();
     }
 
     public boolean dispatchTouchEvent(MotionEvent ev) {
-        return mBlockEvents;
+        return mBlockEvents || hasNoActiveTab();
     }
 
     public boolean dispatchTrackballEvent(MotionEvent ev) {
-        return mBlockEvents;
+        return mBlockEvents || hasNoActiveTab();
     }
 
     public boolean dispatchGenericMotionEvent(MotionEvent ev) {
-        return mBlockEvents;
+        return mBlockEvents || hasNoActiveTab();
+    }
+
+    private boolean hasNoActiveTab() {
+        Tab tab = getCurrentTab();
+        if (tab == null) {
+            Log.w(LOGTAG, "Received event with no active tab. Tab count: "
+                    + mTabControl.getTabCount());
+        }
+        return tab == null;
     }
 
 }
diff --git a/src/com/android/browser/PhoneUi.java b/src/com/android/browser/PhoneUi.java
index d77fcdb..23d7abb 100644
--- a/src/com/android/browser/PhoneUi.java
+++ b/src/com/android/browser/PhoneUi.java
@@ -329,10 +329,12 @@
         final Tab tab = mNavScreen.getSelectedTab();
         if ((tab != null) && !animate) {
             finishAnimateOut(tab);
+            return;
         }
         NavTabView tabview = (NavTabView) mNavScreen.getSelectedTabView();
         if (tabview == null) {
             finishAnimateOut(tab);
+            return;
         }
         mUiController.setBlockEvents(true);
         mUiController.setActiveTab(tab);