add tabbar scrolling indicators

    part of making the tab bar scrolling more discoverable
    show arrow indicators when there is more content available
    off screen

Change-Id: Id63be336e18bfbdabffa175a9f526a98ea49e5eb
diff --git a/src/com/android/browser/TabScrollView.java b/src/com/android/browser/TabScrollView.java
index fcd5a80..dc21cb6 100644
--- a/src/com/android/browser/TabScrollView.java
+++ b/src/com/android/browser/TabScrollView.java
@@ -17,6 +17,8 @@
 package com.android.browser;
 
 import android.content.Context;
+import android.graphics.Canvas;
+import android.graphics.drawable.Drawable;
 import android.util.AttributeSet;
 import android.view.View;
 import android.widget.HorizontalScrollView;
@@ -30,6 +32,8 @@
     private BrowserActivity mBrowserActivity;
     private LinearLayout mContentView;
     private int mSelected;
+    private Drawable mArrowLeft;
+    private Drawable mArrowRight;
 
     /**
      * @param context
@@ -67,6 +71,8 @@
                 LayoutParams.MATCH_PARENT));
         addView(mContentView);
         mSelected = -1;
+        mArrowLeft = ctx.getResources().getDrawable(R.drawable.ic_arrow_left);
+        mArrowRight = ctx.getResources().getDrawable(R.drawable.ic_arrow_right);
     }
 
     @Override
@@ -135,4 +141,22 @@
         }
     }
 
+    @Override
+    protected void dispatchDraw(Canvas canvas) {
+        super.dispatchDraw(canvas);
+        int l = getScrollX();
+        int r = l + getWidth();
+        int dis = 8;
+        if (l > 0) {
+            int aw = mArrowLeft.getIntrinsicWidth();
+            mArrowLeft.setBounds(l + dis, 0, l + dis + aw, getHeight());
+            mArrowLeft.draw(canvas);
+        }
+        if (r < mContentView.getWidth()) {
+            int aw = mArrowRight.getIntrinsicWidth();
+            mArrowRight.setBounds(r - dis - aw, 0, r - dis, getHeight());
+            mArrowRight.draw(canvas);
+        }
+    }
+
 }