fix action appearing after cab

    Bug: 3426763
    Due to a bug in frameworks, the action bar re-appears after being hidden
    this CL works around the bug by posting the hide

Change-Id: I253bdaa3a5a76ffe82e665b915d8a9f7101ff7c6
diff --git a/src/com/android/browser/XLargeUi.java b/src/com/android/browser/XLargeUi.java
index 371e649..6225ad4 100644
--- a/src/com/android/browser/XLargeUi.java
+++ b/src/com/android/browser/XLargeUi.java
@@ -17,7 +17,6 @@
 package com.android.browser;
 
 import com.android.browser.ScrollWebView.ScrollListener;
-import com.android.browser.UI.DropdownChangeListener;
 
 import android.animation.Animator;
 import android.animation.Animator.AnimatorListener;
@@ -26,6 +25,7 @@
 import android.app.Activity;
 import android.content.pm.PackageManager;
 import android.os.Bundle;
+import android.os.Handler;
 import android.util.Log;
 import android.view.ActionMode;
 import android.view.Gravity;
@@ -52,6 +52,7 @@
     private boolean mUseQuickControls;
     private PieControl mPieControl;
     private boolean mInAnimation = false;
+    private Handler mHandler;
 
     /**
      * @param browser
@@ -59,6 +60,7 @@
      */
     public XLargeUi(Activity browser, UiController controller) {
         super(browser, controller);
+        mHandler = new Handler();
         mTitleBar = new TitleBarXLarge(mActivity, mUiController, this);
         mTitleBar.setProgress(100);
         mTabBar = new TabBar(mActivity, mUiController, this);
@@ -83,10 +85,12 @@
 
     @Override
     public void hideComboView() {
-        checkTabCount();
-        super.hideComboView();
-        // ComboView changes the action bar, set it back up to what we want
-        setupActionBar();
+        if (isComboViewShowing()) {
+            super.hideComboView();
+            // ComboView changes the action bar, set it back up to what we want
+            setupActionBar();
+            checkTabCount();
+        }
     }
 
     private void setUseQuickControls(boolean useQuickControls) {
@@ -119,9 +123,13 @@
         if (mUseQuickControls) {
             int n = mTabBar.getTabCount();
             if (n >= 2) {
-                mActivity.getActionBar().show();
+                mActionBar.show();
             } else if (n == 1) {
-                mActivity.getActionBar().hide();
+                mHandler.post(new Runnable() {
+                    public void run() {
+                        mActionBar.hide();
+                    }
+                });
             }
         }
     }