From 8a009498bfca64556c2082cbb32f68506d6962db Mon Sep 17 00:00:00 2001 From: Michael Kolb Date: Mon, 15 Aug 2011 15:37:30 -0700 Subject: Fix monkey bug Bug: 5166733 added missing return statements and valid active tab check Change-Id: Ida7ffa6faf77a95eaf19ef566176ad522be4efef --- src/com/android/browser/Controller.java | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'src/com/android/browser/Controller.java') diff --git a/src/com/android/browser/Controller.java b/src/com/android/browser/Controller.java index 3f126c07..24072c9e 100644 --- a/src/com/android/browser/Controller.java +++ b/src/com/android/browser/Controller.java @@ -2684,23 +2684,32 @@ public class Controller } 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; } } -- cgit v1.2.3