fix tab bar layout bug

    http://b/issue?id=3344140
    changed layout width of scroll view
    fixed quickcontrols handling

Change-Id: I6fbe8e7c35ce3f21a2e0fc03b4650fc5a47f0fcc
diff --git a/res/layout/tab_bar.xml b/res/layout/tab_bar.xml
index e8f146c..0f636cd 100644
--- a/res/layout/tab_bar.xml
+++ b/res/layout/tab_bar.xml
@@ -24,8 +24,9 @@
     >
     <com.android.browser.TabScrollView
         android:id="@+id/tabs"
-        android:layout_width="wrap_content"
+        android:layout_width="0dip"
         android:layout_height="44dip"
+        android:layout_weight="1.0"
         android:orientation="horizontal" />
     <ImageButton
         android:id="@+id/newtab"
diff --git a/src/com/android/browser/TabBar.java b/src/com/android/browser/TabBar.java
index ba123d0..f1cdf2f 100644
--- a/src/com/android/browser/TabBar.java
+++ b/src/com/android/browser/TabBar.java
@@ -33,7 +33,6 @@
 import android.graphics.drawable.Drawable;
 import android.graphics.drawable.LayerDrawable;
 import android.graphics.drawable.PaintDrawable;
-import android.util.Log;
 import android.view.ContextMenu;
 import android.view.Gravity;
 import android.view.LayoutInflater;
@@ -136,7 +135,7 @@
 
         mInactiveShaderPaint.setStyle(Paint.Style.FILL);
         mInactiveShaderPaint.setAntiAlias(true);
-        
+
     }
 
     void setUseQuickControls(boolean useQuickControls) {
@@ -174,18 +173,22 @@
         // use paddingLeft and paddingTop
         int pl = getPaddingLeft();
         int pt = getPaddingTop();
-        if (mButtonWidth == -1) {
-            mButtonWidth = mNewTab.getMeasuredWidth() - mTabOverlap;
-        }
         int sw = mTabs.getMeasuredWidth();
         int w = right - left - pl;
-        if (w-sw < mButtonWidth) {
-            sw = w - mButtonWidth;
+        if (mUseQuickControls) {
+            mButtonWidth = 0;
+        } else {
+            mButtonWidth = mNewTab.getMeasuredWidth() - mTabOverlap;
+            if (w-sw < mButtonWidth) {
+                sw = w - mButtonWidth;
+            }
         }
         mTabs.layout(pl, pt, pl + sw, bottom - top);
         // adjust for overlap
-        mNewTab.layout(pl + sw - mTabOverlap, pt,
-                pl + sw + mButtonWidth - mTabOverlap, bottom - top);
+        if (!mUseQuickControls) {
+            mNewTab.layout(pl + sw - mTabOverlap, pt,
+                    pl + sw + mButtonWidth - mTabOverlap, bottom - top);
+        }
     }
 
     public void onClick(View view) {
@@ -286,8 +289,8 @@
         drawable.setBounds(0, 0, width, height);
         drawable.draw(c);
         return b;
-    }    
-    
+    }
+
     /**
      * View used in the tab bar
      */
@@ -420,7 +423,7 @@
             super.onLayout(changed, l, t, r, b);
             setTabPath(mPath, 0, 0, r - l, b - t);
         }
-        
+
         @Override
         protected void dispatchDraw(Canvas canvas) {
             if (mCurrentTextureWidth != mUi.getContentWidth() ||
@@ -437,13 +440,13 @@
                     mActiveShader = new BitmapShader(activeTexture,
                             Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
                     mActiveShaderPaint.setShader(mActiveShader);
-    
+
                     mInactiveShader = new BitmapShader(inactiveTexture,
                             Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
                     mInactiveShaderPaint.setShader(mInactiveShader);
                 }
             }
-            
+
             int state = canvas.save();
             getLocationInWindow(mWindowPos);
             Paint paint = mSelected ? mActiveShaderPaint : mInactiveShaderPaint;