Update the appearance of the title bar in the browser.
Change the title bar to use the look of the search bar. Remove
the new tab button, which is now a part of the updated menu. Make
the title bar for each WebView span the width of the screen. Make
the title bar appear when pressing the menu button.
Change-Id: I7ad1c955412d422be0fc6f26ec8d286172a0a99a
diff --git a/src/com/android/browser/TitleBar.java b/src/com/android/browser/TitleBar.java
index 1d53e8d..42729d8 100644
--- a/src/com/android/browser/TitleBar.java
+++ b/src/com/android/browser/TitleBar.java
@@ -34,32 +34,42 @@
*/
public class TitleBar extends LinearLayout {
private TextView mTitle;
- private TextView mUrl;
private Drawable mCloseDrawable;
private ImageView mRtButton;
private ProgressBar mCircularProgress;
private ProgressBar mHorizontalProgress;
- private ImageView mFavicon;
- private ImageView mLockIcon; // FIXME: Needs to be below the favicon
+ private Drawable mFavicon;
+ private Drawable mLockIcon;
+ private Drawable mStopDrawable;
+ private Drawable mBookmarkDrawable;
private boolean mInLoad;
- private boolean mTitleSet;
private WebView mWebView;
+ private BrowserActivity mBrowserActivity;
- public TitleBar(Context context, WebView webview) {
+ public TitleBar(Context context, WebView webview, BrowserActivity ba) {
super(context, null);
LayoutInflater factory = LayoutInflater.from(context);
factory.inflate(R.layout.title_bar, this);
+ mBrowserActivity = ba;
mTitle = (TextView) findViewById(R.id.title);
- mUrl = (TextView) findViewById(R.id.url);
+ mTitle.setCompoundDrawablePadding(5);
- mRtButton = (ImageView) findViewById(R.id.rt_button);
-
+ mRtButton = (ImageView) findViewById(R.id.rt_btn);
+ mRtButton.setOnClickListener(new View.OnClickListener() {
+ public void onClick(View v) {
+ if (mInLoad) {
+ if (mWebView != null) {
+ mWebView.stopLoading();
+ }
+ } else {
+ mBrowserActivity.bookmarksOrHistoryPicker(false, false);
+ }
+ }
+ });
mCircularProgress = (ProgressBar) findViewById(R.id.progress_circular);
mHorizontalProgress = (ProgressBar) findViewById(
R.id.progress_horizontal);
- mFavicon = (ImageView) findViewById(R.id.favicon);
- mLockIcon = (ImageView) findViewById(R.id.lock_icon);
mWebView = webview;
}
@@ -71,15 +81,6 @@
}
/**
- * Determine whether a point (from a touch) hits the right button.
- */
- /* package */ boolean hitRightButton(int x, int y) {
- Rect hitRect = new Rect();
- mRtButton.getHitRect(hitRect);
- return hitRect.contains(x - getLeft(), y - getTop());
- }
-
- /**
* Return whether the associated WebView is currently loading. Needed to
* determine whether a click should stop the load or close the tab.
*/
@@ -91,19 +92,22 @@
* Set a new Drawable for the Favicon.
*/
/* package */ void setFavicon(Drawable d) {
- mFavicon.setImageDrawable(d);
+ if (d != null) {
+ d.setBounds(0, 0, 20, 20);
+ }
+ mTitle.setCompoundDrawables(d, null, mLockIcon, null);
+ mFavicon = d;
}
/**
* Set the Drawable for the lock icon, or null to hide it.
*/
/* package */ void setLock(Drawable d) {
- if (d == null) {
- mLockIcon.setVisibility(View.GONE);
- } else {
- mLockIcon.setImageDrawable(d);
- mLockIcon.setVisibility(View.VISIBLE);
+ if (d != null) {
+ d.setBounds(0, 0, 20, 20);
}
+ mTitle.setCompoundDrawables(mFavicon, null, d, null);
+ mLockIcon = d;
}
/**
@@ -113,31 +117,25 @@
if (newProgress == mCircularProgress.getMax()) {
mCircularProgress.setVisibility(View.GONE);
mHorizontalProgress.setVisibility(View.GONE);
- mRtButton.setVisibility(View.VISIBLE);
- mUrl.setVisibility(View.VISIBLE);
- if (mCloseDrawable != null) {
- mRtButton.setImageDrawable(mCloseDrawable);
+ if (mBookmarkDrawable != null) {
+ mRtButton.setImageDrawable(mBookmarkDrawable);
}
mInLoad = false;
- if (!mTitleSet) {
- mTitle.setText(mUrl.getText());
- mUrl.setText(null);
- mTitleSet = true;
- }
} else {
mCircularProgress.setProgress(newProgress);
mHorizontalProgress.setProgress(newProgress);
mCircularProgress.setVisibility(View.VISIBLE);
mHorizontalProgress.setVisibility(View.VISIBLE);
- mUrl.setVisibility(View.VISIBLE);
- if (mCloseDrawable == null) {
- // The drawable was assigned in the xml file, so it already
- // exists. Keep a pointer to it when we switch to the resource
- // so we can easily switch back.
- mCloseDrawable = mRtButton.getDrawable();
+ if (mBookmarkDrawable == null) {
+ mBookmarkDrawable = mRtButton.getDrawable();
}
- mRtButton.setImageResource(
- com.android.internal.R.drawable.ic_menu_stop);
+ if (mStopDrawable == null) {
+ mRtButton.setImageResource(
+ com.android.internal.R.drawable.ic_menu_stop);
+ mStopDrawable = mRtButton.getDrawable();
+ } else {
+ mRtButton.setImageDrawable(mStopDrawable);
+ }
mInLoad = true;
}
}
@@ -146,26 +144,11 @@
* Update the title and url.
*/
/* package */ void setTitleAndUrl(CharSequence title, CharSequence url) {
- if (url != null) {
- url = BrowserActivity.buildTitleUrl(url.toString());
- }
- if (null == title) {
- if (mInLoad) {
- mTitleSet = false;
- mTitle.setText(R.string.title_bar_loading);
- } else {
- // If the page has no title, put the url in the title space
- // and leave the url blank.
- mTitle.setText(url);
- mUrl.setText(null);
- mTitleSet = true;
- return;
- }
+ if (url == null) {
+ mTitle.setText(R.string.title_bar_loading);
} else {
- mTitle.setText(title);
- mTitleSet = true;
+ mTitle.setText(BrowserActivity.buildTitleUrl(url.toString()));
}
- mUrl.setText(url);
}
/* package */ void setToTabPicker() {
@@ -174,6 +157,5 @@
setLock(null);
mCircularProgress.setVisibility(View.GONE);
mHorizontalProgress.setVisibility(View.GONE);
- mUrl.setVisibility(View.INVISIBLE);
}
}