Titlebar cleanup

- Removed timer based Titlebar animation
- Always show Titlebar when keyboard is up
- Block webpage scroll when Titlebar is focused
- Added command line switch to disable top controls
- Fix rendering issue seen when user exits fullscreen video

Change-Id: I9d0afe7be907522b3678746c04049c2904118a4b
diff --git a/src/com/android/browser/BaseUi.java b/src/com/android/browser/BaseUi.java
index 3a05724..2d53daa 100644
--- a/src/com/android/browser/BaseUi.java
+++ b/src/com/android/browser/BaseUi.java
@@ -72,9 +72,6 @@
         ViewGroup.LayoutParams.MATCH_PARENT,
         Gravity.CENTER);
 
-    private static final int MSG_HIDE_TITLEBAR = 1;
-    public static final int HIDE_TITLEBAR_DELAY = 1500; // in ms
-
     Activity mActivity;
     UiController mUiController;
     TabControl mTabControl;
@@ -90,8 +87,6 @@
     private CustomViewCallback mCustomViewCallback;
     private int mOriginalOrientation;
 
-    private UrlBarAutoShowManager mUrlBarAutoShowManager;
-
     private Toast mStopToast;
 
     // the default <video> poster
@@ -131,7 +126,6 @@
                 mContentView);
         mTitleBar.setProgress(100);
         mNavigationBar = mTitleBar.getNavigationBar();
-        mUrlBarAutoShowManager = new UrlBarAutoShowManager(this);
 
         // install system ui visibility listeners
         mDecorView = mActivity.getWindow().getDecorView();
@@ -219,6 +213,12 @@
         return false;
     }
 
+    public boolean isFullScreen() {
+        if (mTabControl.getCurrentTab() != null)
+            return mTabControl.getCurrentTab().isTabFullScreen();
+        return false;
+    }
+
     @Override
     public boolean onMenuKey() {
         return false;
@@ -281,7 +281,6 @@
 
         // block unnecessary focus change animations during tab switch
         mBlockFocusAnimations = true;
-        mHandler.removeMessages(MSG_HIDE_TITLEBAR);
         if ((tab != mActiveTab) && (mActiveTab != null)) {
             tabToRemove = mActiveTab;
             WebView web = mActiveTab.getWebView();
@@ -292,7 +291,6 @@
         mActiveTab = tab;
 
         BrowserWebView web = (BrowserWebView) mActiveTab.getWebView();
-        updateUrlBarAutoShowManagerTarget();
         attachTabToContentView(tab);
         if (web != null) {
             // Request focus on the top window.
@@ -310,7 +308,6 @@
         scheduleRemoveTab(tabToRemove, tabToWaitFor);
 
         updateTabSecurityState(tab);
-        mTitleBar.setSkipTitleBarAnimations(false);
     }
 
     Tab mTabToRemove = null;
@@ -378,13 +375,6 @@
         mTabToWaitFor = null;
     }
 
-    protected void updateUrlBarAutoShowManagerTarget() {
-        WebView web = mActiveTab != null ? mActiveTab.getWebView() : null;
-        if (web instanceof BrowserWebView) {
-            mUrlBarAutoShowManager.setTarget((BrowserWebView) web);
-        }
-    }
-
     Tab getActiveTab() {
         return mActiveTab;
     }
@@ -598,15 +588,14 @@
     }
 
     protected void showTitleBar() {
-        mHandler.removeMessages(MSG_HIDE_TITLEBAR);
         if (canShowTitleBar()) {
-            mTitleBar.show();
+            mTitleBar.showTopControls(false);
         }
     }
 
     protected void hideTitleBar() {
         if (mTitleBar.isShowing()) {
-            mTitleBar.hide();
+            mTitleBar.enableTopControls(false);
         }
     }
 
@@ -871,36 +860,34 @@
         if (getWebView() != null) {
             BrowserWebView bwv = (BrowserWebView) getWebView();
             if (fullScreen) {
-                //hide topbar
-                bwv.enableTopControls(false);
+                // hide titlebar
                 mTitleBar.hideTopControls(true);
             } else {
-                bwv.enableTopControls(true);
-                //show the topbar
-                mTitleBar.showTopControls(true);
-                //enable for auto-hide
+                // show titlebar
+                mTitleBar.showTopControls(false);
+                // enable auto hide titlebar
                 if (!mTitleBar.isFixed())
-                    mTitleBar.enableTopControls(true);
+                    mTitleBar.enableTopControls(false);
             }
         }
     }
 
     public void translateTitleBar(float topControlsOffsetYPix) {
-        if (mTitleBar != null && !mInActionMode) {
+        if (mTitleBar == null || mTitleBar.isFixed())
+            return;
+        if (!mInActionMode) {
             if (topControlsOffsetYPix != 0.0) {
                 mTitleBar.setEnabled(false);
             } else {
                 mTitleBar.setEnabled(true);
             }
-            if (!mTitleBar.isFixed()) {
-                float currentY = mTitleBar.getTranslationY();
-                float height = mNavigationBar.getHeight();
-                if ((height + currentY) <= 0 && (height + topControlsOffsetYPix) > 0) {
-                    mTitleBar.requestLayout();
-                } else if ((height + topControlsOffsetYPix) <= 0) {
-                    topControlsOffsetYPix -= 1;
-                    mTitleBar.getParent().requestTransparentRegion(mTitleBar);
-                }
+            float currentY = mTitleBar.getTranslationY();
+            float height = mNavigationBar.getHeight();
+            if ((height + currentY) <= 0 && (height + topControlsOffsetYPix) > 0) {
+                mTitleBar.requestLayout();
+            } else if ((height + topControlsOffsetYPix) <= 0) {
+                topControlsOffsetYPix -= 1;
+                mTitleBar.getParent().requestTransparentRegion(mTitleBar);
             }
             // This was done to get HTML5 fullscreen API to work with fixed mode since
             // topcontrols are used to implement HTML5 fullscreen
@@ -931,28 +918,6 @@
         return mActiveTab != null ? mActiveTab.inPageLoad() : false;
     }
 
-    /**
-     * Suggest to the UI that the title bar can be hidden. The UI will then
-     * decide whether or not to hide based off a number of factors, such
-     * as if the user is editing the URL bar or if the page is loading
-     */
-    public void suggestHideTitleBar() {
-        if (!isLoading() && !isEditingUrl() && !mTitleBar.wantsToBeVisible()
-                && !mNavigationBar.isMenuShowing()) {
-            hideTitleBar();
-        }
-    }
-
-    protected final void showTitleBarForDuration() {
-        showTitleBarForDuration(HIDE_TITLEBAR_DELAY);
-    }
-
-    protected final void showTitleBarForDuration(long duration) {
-        showTitleBar();
-        Message msg = Message.obtain(mHandler, MSG_HIDE_TITLEBAR);
-        mHandler.sendMessageDelayed(msg, duration);
-    }
-
     protected void setMenuItemVisibility(Menu menu, int id,
                                          boolean visibility) {
         MenuItem item = menu.findItem(id);
@@ -965,9 +930,6 @@
 
         @Override
         public void handleMessage(Message msg) {
-            if (msg.what == MSG_HIDE_TITLEBAR) {
-                suggestHideTitleBar();
-            }
             BaseUi.this.handleMessage(msg);
         }
     };
diff --git a/src/com/android/browser/BrowserConfigBase.java b/src/com/android/browser/BrowserConfigBase.java
index 495e735..e2ef779 100644
--- a/src/com/android/browser/BrowserConfigBase.java
+++ b/src/com/android/browser/BrowserConfigBase.java
@@ -83,10 +83,8 @@
 
     public void initCommandLineSwitches() {
         //SWE-hide-title-bar - enable following flags
-        BrowserCommandLine.appendSwitch(BrowserSwitches.ENABLE_TOP_CONTROLS);
         BrowserCommandLine.appendSwitchWithValue(BrowserSwitches.TOP_CONTROLS_SHOW_THRESHOLD, "0.5");
         BrowserCommandLine.appendSwitchWithValue(BrowserSwitches.TOP_CONTROLS_HIDE_THRESHOLD, "0.5");
-        BrowserCommandLine.appendSwitch(BrowserSwitches.ENABLE_SWE);
 
         // Allow to override UserAgent
         overrideUserAgent();
diff --git a/src/com/android/browser/BrowserSwitches.java b/src/com/android/browser/BrowserSwitches.java
index 137b259..1a9767e 100644
--- a/src/com/android/browser/BrowserSwitches.java
+++ b/src/com/android/browser/BrowserSwitches.java
@@ -50,7 +50,7 @@
 
     public static final String ENABLE_SWE = "enabled-swe";
 
-    public static final String ENABLE_TOP_CONTROLS = "enable-top-controls-position-calculation";
+    public static final String DISABLE_TOP_CONTROLS = "disable-top-controls";
 
     public static final String TOP_CONTROLS_HIDE_THRESHOLD = "top-controls-hide-threshold";
 
@@ -68,4 +68,4 @@
 
     public static final String AUTO_UPDATE_SERVER_CMD = "auto-update-server";
 
-}
\ No newline at end of file
+}
diff --git a/src/com/android/browser/BrowserWebView.java b/src/com/android/browser/BrowserWebView.java
index 0159cb7..9aa044c 100644
--- a/src/com/android/browser/BrowserWebView.java
+++ b/src/com/android/browser/BrowserWebView.java
@@ -21,6 +21,7 @@
 import android.content.res.Resources;
 import android.util.AttributeSet;
 import android.view.KeyEvent;
+import android.view.MotionEvent;
 import android.view.View;
 import org.codeaurora.swe.WebChromeClient;
 import org.codeaurora.swe.WebView;
@@ -161,6 +162,17 @@
     }
 
     @Override
+    public boolean onTouchEvent(MotionEvent event) {
+        // block touch event if title bar is selected
+        if (mTitleBar.isEditingUrl()) {
+            requestFocus();
+            return true;
+        }
+        else
+            return super.onTouchEvent(event);
+    }
+
+    @Override
     public void onScrollChanged(int l, int t, int oldl, int oldt) {
         // NOTE: this function seems to not be called when the WebView is scrolled (it may be fine)
         super.onScrollChanged(l, t, oldl, oldt);
diff --git a/src/com/android/browser/NavScreen.java b/src/com/android/browser/NavScreen.java
index e7c4be6..80201da 100644
--- a/src/com/android/browser/NavScreen.java
+++ b/src/com/android/browser/NavScreen.java
@@ -243,10 +243,8 @@
                         mTabViews.remove(tab);
                     } else if (tabview.isTitle(v)) {
                         switchToTab(tab);
-                        mUi.getTitleBar().setSkipTitleBarAnimations(true);
                         close(position, false);
                         mUi.editUrl(false, true);
-                        mUi.getTitleBar().setSkipTitleBarAnimations(false);
                     } else if (tabview.isWebView(v)) {
                         close(position);
                     }
diff --git a/src/com/android/browser/NavigationBarBase.java b/src/com/android/browser/NavigationBarBase.java
index f063cdb..7de1a5d 100644
--- a/src/com/android/browser/NavigationBarBase.java
+++ b/src/com/android/browser/NavigationBarBase.java
@@ -466,7 +466,6 @@
                     setDisplayTitle(currentTab.getUrl());
                 }
             }
-            mBaseUi.suggestHideTitleBar();
         }
         mUrlInput.clearNeedsUpdate();
     }
@@ -819,7 +818,6 @@
 
     private void onMenuHidden() {
         mOverflowMenuShowing = false;
-        mBaseUi.showTitleBarForDuration();
     }
 
 
diff --git a/src/com/android/browser/PhoneUi.java b/src/com/android/browser/PhoneUi.java
index 91f0d3f..063a21c 100644
--- a/src/com/android/browser/PhoneUi.java
+++ b/src/com/android/browser/PhoneUi.java
@@ -138,8 +138,6 @@
 
     @Override
     public void setActiveTab(final Tab tab) {
-        mTitleBar.cancelTitleBarAnimation(true);
-        mTitleBar.setSkipTitleBarAnimations(true);
         super.setActiveTab(tab);
 
         //if at Nav screen show, detach tab like what showNavScreen() do.
diff --git a/src/com/android/browser/SnapshotBar.java b/src/com/android/browser/SnapshotBar.java
index 29f2a90..344e732 100644
--- a/src/com/android/browser/SnapshotBar.java
+++ b/src/com/android/browser/SnapshotBar.java
@@ -44,7 +44,7 @@
 public class SnapshotBar extends LinearLayout implements OnClickListener {
 
     private static final int MSG_SHOW_TITLE = 1;
-    private static final long DURATION_SHOW_DATE = BaseUi.HIDE_TITLEBAR_DELAY;
+    private static final long DURATION_SHOW_DATE = 1500;
 
     private ImageView mFavicon;
     private ImageView mSnapshoticon;
@@ -100,7 +100,6 @@
             if (msg.what == MSG_SHOW_TITLE) {
                 mIsAnimating = false;
                 showTitle();
-                mTitleBar.getUi().showTitleBarForDuration();
             }
         }
     };
@@ -209,7 +208,7 @@
         } else if (mToggleContainer == v && !mIsAnimating) {
             mIsAnimating = true;
             showDate();
-            mTitleBar.getUi().showTitleBar();
+            mTitleBar.showTopControls(false);
             Message m = mHandler.obtainMessage(MSG_SHOW_TITLE);
             mHandler.sendMessageDelayed(m, DURATION_SHOW_DATE);
         }
diff --git a/src/com/android/browser/Tab.java b/src/com/android/browser/Tab.java
index 3fc6eb5..36aae4c 100644
--- a/src/com/android/browser/Tab.java
+++ b/src/com/android/browser/Tab.java
@@ -707,10 +707,16 @@
 
         @Override
         public void onKeyboardStateChange(boolean popup) {
+            boolean keyboardWasShowing = isKeyboardShowing();
             mIsKeyboardUp = popup;
+            Controller controller = (Controller)mWebViewController;
+            BaseUi ui = (BaseUi) controller.getUi();
+            // lock the title bar
+            if (popup)
+                ui.getTitleBar().showTopControls(true);
+            if (keyboardWasShowing && popup)
+                ui.getTitleBar().enableTopControls(true);
             if (BrowserSettings.getInstance().useFullscreen()) {
-                Controller controller = (Controller) mWebViewController;
-                BaseUi ui = (BaseUi) controller.getUi();
                 ui.forceDisableFullscreenMode(popup);
             }
         }
diff --git a/src/com/android/browser/TitleBar.java b/src/com/android/browser/TitleBar.java
index 3c2b5f1..03c207a 100644
--- a/src/com/android/browser/TitleBar.java
+++ b/src/com/android/browser/TitleBar.java
@@ -16,9 +16,6 @@
 
 package com.android.browser;
 
-import android.animation.Animator;
-import android.animation.Animator.AnimatorListener;
-import android.animation.ObjectAnimator;
 import android.content.Context;
 import android.content.res.Configuration;
 import android.content.res.Resources;
@@ -29,7 +26,8 @@
 import android.view.ViewStub;
 import android.view.ViewTreeObserver;
 import android.view.accessibility.AccessibilityManager;
-import android.view.animation.DecelerateInterpolator;
+
+import org.codeaurora.swe.BrowserCommandLine;
 import org.codeaurora.swe.WebView;
 
 import android.widget.FrameLayout;
@@ -54,8 +52,6 @@
     //state
     private boolean mShowing;
     private boolean mInLoad;
-    private boolean mSkipTitleBarAnimations;
-    private Animator mTitleBarAnimator;
     private boolean mIsFixedTitleBar;
     private float mCurrentTranslationY;
     private boolean mUpdateTranslationY = false;
@@ -127,7 +123,8 @@
     }
 
     private void setFixedTitleBar() {
-        boolean isFixed = !getContext().getResources().getBoolean(R.bool.hide_title);
+        boolean isFixed = !getContext().getResources().getBoolean(R.bool.hide_title) ||
+                BrowserCommandLine.hasSwitch(BrowserSwitches.DISABLE_TOP_CONTROLS);
 
         isFixed |= mAccessibilityManager.isEnabled() &&
             mAccessibilityManager.isTouchExplorationEnabled();
@@ -135,9 +132,7 @@
         ViewGroup parent = (ViewGroup)getParent();
         if (mIsFixedTitleBar == isFixed && parent != null) return;
         mIsFixedTitleBar = isFixed;
-        setSkipTitleBarAnimations(true);
-        show();
-        setSkipTitleBarAnimations(false);
+        showTopControls(false);
         if (parent != null) {
             parent.removeView(this);
         }
@@ -161,98 +156,10 @@
         }
     }
 
-    void setSkipTitleBarAnimations(boolean skip) {
-        mSkipTitleBarAnimations = skip;
-    }
-
-    void setupTitleBarAnimator(Animator animator) {
-        Resources res = getContext().getResources();
-        int duration = res.getInteger(R.integer.titlebar_animation_duration);
-        animator.setInterpolator(new DecelerateInterpolator(
-                ANIM_TITLEBAR_DECELERATE));
-        animator.setDuration(duration);
-    }
-
-    //Disable stock autohide behavior in favor of top controls
-    private static final  boolean bOldStyleAutoHideDisabled = true;
-    void show() {
-        cancelTitleBarAnimation(false);
-        if (mSkipTitleBarAnimations) {
-            this.setVisibility(View.VISIBLE);
-            this.setTranslationY(0);
-            // reaffirm top-controls
-            if (isFixed() || isInLoad())
-                showTopControls(false);
-            else
-                enableTopControls(true);
-        } else if (!bOldStyleAutoHideDisabled) {
-            int visibleHeight = getVisibleTitleHeight();
-            float startPos = (-getEmbeddedHeight() + visibleHeight);
-            if (getTranslationY() != 0) {
-                startPos = Math.max(startPos, getTranslationY());
-            }
-            mTitleBarAnimator = ObjectAnimator.ofFloat(this,
-                    "translationY",
-                    startPos, 0);
-            setupTitleBarAnimator(mTitleBarAnimator);
-            mTitleBarAnimator.start();
-        }
-
-        mShowing = true;
-    }
-
-    void hide() {
-        if (mIsFixedTitleBar || bOldStyleAutoHideDisabled) return;
-        if (!mSkipTitleBarAnimations) {
-            cancelTitleBarAnimation(false);
-            int visibleHeight = getVisibleTitleHeight();
-            mTitleBarAnimator = ObjectAnimator.ofFloat(this,
-                    "translationY", getTranslationY(),
-                    (-getEmbeddedHeight() + visibleHeight));
-            mTitleBarAnimator.addListener(mHideTileBarAnimatorListener);
-            setupTitleBarAnimator(mTitleBarAnimator);
-            mTitleBarAnimator.start();
-        } else {
-            onScrollChanged();
-        }
-        mShowing = false;
-    }
-
     boolean isShowing() {
         return mShowing;
     }
 
-    void cancelTitleBarAnimation(boolean reset) {
-        if (mTitleBarAnimator != null) {
-            mTitleBarAnimator.cancel();
-            mTitleBarAnimator = null;
-        }
-        if (reset) {
-            setTranslationY(0);
-        }
-    }
-
-    private AnimatorListener mHideTileBarAnimatorListener = new AnimatorListener() {
-
-        @Override
-        public void onAnimationStart(Animator animation) {
-        }
-
-        @Override
-        public void onAnimationRepeat(Animator animation) {
-        }
-
-        @Override
-        public void onAnimationEnd(Animator animation) {
-            // update position
-            onScrollChanged();
-        }
-
-        @Override
-        public void onAnimationCancel(Animator animation) {
-        }
-    };
-
     private int getVisibleTitleHeight() {
         Tab tab = mBaseUi.getActiveTab();
         WebView webview = tab != null ? tab.getWebView() : null;
@@ -260,20 +167,28 @@
     }
 
     protected void hideTopControls(boolean animate) {
+        if (mIsFixedTitleBar)
+            return;
         Tab tab = mBaseUi.getActiveTab();
         WebView view = tab != null ? tab.getWebView() : null;
-        if (view != null)
+        if (view != null) {
             view.updateTopControls(true, false, animate);
+        }
+        mShowing = false;
     }
 
     protected void showTopControls(boolean animate) {
         Tab tab = mBaseUi.getActiveTab();
         WebView view = tab != null ? tab.getWebView() : null;
-        if (view != null)
+        if (view != null) {
             view.updateTopControls(false, true, animate);
+        }
+        mShowing = true;
     }
 
     protected void enableTopControls(boolean animate) {
+        if (mIsFixedTitleBar)
+            return;
         Tab tab = mBaseUi.getActiveTab();
         WebView view = tab != null ? tab.getWebView() : null;
         if (view != null)
@@ -290,15 +205,8 @@
             mProgress.setVisibility(View.GONE);
             mInLoad = false;
             mNavBar.onProgressStopped();
-            // check if needs to be hidden
-            if (!isEditingUrl() && !wantsToBeVisible()) {
-                mBaseUi.showTitleBarForDuration();
-            }
-
             //onPageFinished
-            showTopControls(false);
-            if(!isFixed())
-                enableTopControls(true);
+            enableTopControls(true);
 
         } else {
             if (!mInLoad) {
@@ -310,9 +218,6 @@
             }
             mProgress.setProgress(newProgress * PageProgressView.MAX_PROGRESS
                     / PROGRESS_MAX);
-            if (!mShowing) {
-                show();
-            }
             showTopControls(false);
         }
     }
diff --git a/src/com/android/browser/UrlBarAutoShowManager.java b/src/com/android/browser/UrlBarAutoShowManager.java
deleted file mode 100644
index 4ef1765..0000000
--- a/src/com/android/browser/UrlBarAutoShowManager.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Copyright (C) 2011 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.browser;
-
-import android.os.SystemClock;
-import android.view.MotionEvent;
-import android.view.View;
-import android.view.View.OnTouchListener;
-import android.view.ViewConfiguration;
-import org.codeaurora.swe.WebView;
-
-import com.android.browser.BrowserWebView.OnScrollChangedListener;
-
-/**
- * Helper class to manage when to show the URL bar based off of touch
- * input, and when to begin the hide timer.
- */
-public class UrlBarAutoShowManager implements OnTouchListener,
-        OnScrollChangedListener {
-
-    private static float V_TRIGGER_ANGLE = .9f;
-    private static long SCROLL_TIMEOUT_DURATION = 150;
-    private static long IGNORE_INTERVAL = 250;
-
-    private BrowserWebView mTarget;
-    private BaseUi mUi;
-
-    private int mSlop;
-
-    private float mStartTouchX;
-    private float mStartTouchY;
-    private boolean mIsTracking;
-    private boolean mHasTriggered;
-    private long mLastScrollTime;
-    private long mTriggeredTime;
-    private boolean mIsScrolling;
-
-    public UrlBarAutoShowManager(BaseUi ui) {
-        mUi = ui;
-        ViewConfiguration config = ViewConfiguration.get(mUi.getActivity());
-        mSlop = config.getScaledTouchSlop() * 2;
-    }
-
-    public void setTarget(BrowserWebView v) {
-        if (mTarget == v) return;
-
-        if (mTarget != null) {
-            mTarget.setOnTouchListener(null);
-            mTarget.setOnScrollChangedListener(null);
-        }
-        mTarget = v;
-        if (mTarget != null) {
-            mTarget.setOnTouchListener(this);
-            mTarget.setOnScrollChangedListener(this);
-        }
-    }
-
-    @Override
-    public void onScrollChanged(int l, int t, int oldl, int oldt) {
-        mLastScrollTime = SystemClock.uptimeMillis();
-        mIsScrolling = true;
-        if (t != 0) {
-            // If it is showing, extend it
-            if (mUi.isTitleBarShowing()) {
-                long remaining = mLastScrollTime - mTriggeredTime;
-                remaining = Math.max(BaseUi.HIDE_TITLEBAR_DELAY - remaining,
-                        SCROLL_TIMEOUT_DURATION);
-                mUi.showTitleBarForDuration(remaining);
-            }
-        } else {
-            mUi.suggestHideTitleBar();
-        }
-    }
-
-    void stopTracking() {
-        if (mIsTracking) {
-            mIsTracking = false;
-            mIsScrolling = false;
-            if (mUi.isTitleBarShowing()) {
-                mUi.showTitleBarForDuration();
-            }
-        }
-    }
-
-    @Override
-    public boolean onTouch(View v, MotionEvent event) {
-        if (event.getPointerCount() > 1) {
-            stopTracking();
-        }
-        switch (event.getAction()) {
-        case MotionEvent.ACTION_DOWN:
-            if (!mIsTracking && event.getPointerCount() == 1) {
-                long sinceLastScroll =
-                        SystemClock.uptimeMillis() - mLastScrollTime;
-                if (sinceLastScroll < IGNORE_INTERVAL) {
-                    break;
-                }
-                mStartTouchY = event.getY();
-                mStartTouchX = event.getX();
-                mIsTracking = true;
-                mHasTriggered = false;
-            }
-            break;
-        case MotionEvent.ACTION_MOVE:
-            if (mIsTracking && !mHasTriggered) {
-                WebView web = (WebView) v;
-                float dy = event.getY() - mStartTouchY;
-                float ady = Math.abs(dy);
-                float adx = Math.abs(event.getX() - mStartTouchX);
-                if (ady > mSlop) {
-                    mHasTriggered = true;
-                    float angle = (float) Math.atan2(ady, adx);
-                    if (dy > mSlop && angle > V_TRIGGER_ANGLE
-                            && !mUi.isTitleBarShowing()
-                            && (web.getVisibleTitleHeight() == 0
-                            || (!mIsScrolling && web.getScrollY() > 0))) {
-                        mTriggeredTime = SystemClock.uptimeMillis();
-                        mUi.showTitleBar();
-                    }
-                }
-            }
-            break;
-        case MotionEvent.ACTION_CANCEL:
-        case MotionEvent.ACTION_UP:
-            stopTracking();
-            break;
-        }
-        return false;
-    }
-
-}
diff --git a/src/com/android/browser/XLargeUi.java b/src/com/android/browser/XLargeUi.java
index f4a3f5b..92e30ad 100644
--- a/src/com/android/browser/XLargeUi.java
+++ b/src/com/android/browser/XLargeUi.java
@@ -176,8 +176,6 @@
 
     @Override
     public void setActiveTab(final Tab tab) {
-        mTitleBar.cancelTitleBarAnimation(true);
-        mTitleBar.setSkipTitleBarAnimations(true);
         super.setActiveTab(tab);
         BrowserWebView view = (BrowserWebView) tab.getWebView();
         // TabControl.setCurrentTab has been called before this,
@@ -196,11 +194,8 @@
 
     @Override
     public void removeTab(Tab tab) {
-        mTitleBar.cancelTitleBarAnimation(true);
-        mTitleBar.setSkipTitleBarAnimations(true);
         super.removeTab(tab);
         mTabBar.onRemoveTab(tab);
-        mTitleBar.setSkipTitleBarAnimations(false);
     }
 
     @Override