another round of UI refresh
moved buttons in the url bar
fixed selected tab visuals (activated)
Change-Id: Ib69f9ca68b3d8cc8dfe6856f7248f21267127ae8
diff --git a/src/com/android/browser/PageProgressView.java b/src/com/android/browser/PageProgressView.java
index 183566a..f512cef 100644
--- a/src/com/android/browser/PageProgressView.java
+++ b/src/com/android/browser/PageProgressView.java
@@ -20,6 +20,8 @@
import android.graphics.Canvas;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
+import android.os.Handler;
+import android.os.Message;
import android.util.AttributeSet;
import android.widget.ImageView;
@@ -28,9 +30,16 @@
*/
public class PageProgressView extends ImageView {
- private int mProgress;
- private int mMaxProgress;
+ public static final int MAX_PROGRESS = 10000;
+ private static final int MSG_UPDATE = 42;
+ private static final int STEPS = 10;
+ private static final int DELAY = 40;
+
+ private int mCurrentProgress;
+ private int mTargetProgress;
+ private int mIncrement;
private Rect mBounds;
+ private Handler mHandler;
/**
* @param context
@@ -60,27 +69,41 @@
}
private void init(Context ctx) {
- mMaxProgress = 10000;
mBounds = new Rect(0,0,0,0);
- mProgress = 0;
+ mCurrentProgress = 0;
+ mTargetProgress = 0;
+ mHandler = new Handler() {
+
+ @Override
+ public void handleMessage(Message msg) {
+ if (msg.what == MSG_UPDATE) {
+ mCurrentProgress = Math.min(mTargetProgress,
+ mCurrentProgress + mIncrement);
+ mBounds.right = getWidth() * mCurrentProgress / MAX_PROGRESS;
+ invalidate();
+ if (mCurrentProgress < mTargetProgress) {
+ sendMessageDelayed(mHandler.obtainMessage(MSG_UPDATE), DELAY);
+ }
+ }
+ }
+
+ };
}
@Override
public void onLayout(boolean f, int l, int t, int r, int b) {
mBounds.left = 0;
- mBounds.right = (r - l) * mProgress / mMaxProgress;
+ mBounds.right = (r - l) * mCurrentProgress / MAX_PROGRESS;
mBounds.top = 0;
mBounds.bottom = b-t;
}
- void setMaxProgress(int max) {
- mMaxProgress = max;
- }
-
void setProgress(int progress) {
- mProgress = progress;
- mBounds.right = getWidth()*mProgress/mMaxProgress;
- invalidate();
+ mCurrentProgress = mTargetProgress;
+ mTargetProgress = progress;
+ mIncrement = (mTargetProgress - mCurrentProgress) / STEPS;
+ mHandler.removeMessages(MSG_UPDATE);
+ mHandler.sendEmptyMessage(MSG_UPDATE);
}
@Override
diff --git a/src/com/android/browser/TabBar.java b/src/com/android/browser/TabBar.java
index cf0f27c..4c8ab26 100644
--- a/src/com/android/browser/TabBar.java
+++ b/src/com/android/browser/TabBar.java
@@ -250,14 +250,14 @@
}
@Override
- public void setSelected(boolean selected) {
+ public void setActivated(boolean selected) {
mSelected = selected;
mClose.setVisibility(mSelected ? View.VISIBLE : View.GONE);
mTitle.setTextAppearance(mBrowserActivity, mSelected ?
R.style.TabTitleSelected : R.style.TabTitleUnselected);
setHorizontalFadingEdgeEnabled(!mSelected);
setFadingEdgeLength(50);
- super.setSelected(selected);
+ super.setActivated(selected);
setLayoutParams(new LayoutParams(selected ?
mTabWidthSelected : mTabWidthUnselected,
LayoutParams.MATCH_PARENT));
diff --git a/src/com/android/browser/TabScrollView.java b/src/com/android/browser/TabScrollView.java
index b411416..435362d 100644
--- a/src/com/android/browser/TabScrollView.java
+++ b/src/com/android/browser/TabScrollView.java
@@ -80,12 +80,12 @@
void setSelectedTab(int position) {
View v = getSelectedTab();
if (v != null) {
- v.setSelected(false);
+ v.setActivated(false);
}
mSelected = position;
v = getSelectedTab();
if (v != null) {
- v.setSelected(true);
+ v.setActivated(true);
}
requestLayout();
}
@@ -104,12 +104,12 @@
void addTab(View tab) {
mContentView.addView(tab);
- tab.setSelected(false);
+ tab.setActivated(false);
}
void addTab(View tab, int pos) {
mContentView.addView(tab, pos);
- tab.setSelected(false);
+ tab.setActivated(false);
}
void removeTab(View tab) {
diff --git a/src/com/android/browser/TitleBarXLarge.java b/src/com/android/browser/TitleBarXLarge.java
index da39307..b652e15 100644
--- a/src/com/android/browser/TitleBarXLarge.java
+++ b/src/com/android/browser/TitleBarXLarge.java
@@ -57,6 +57,7 @@
private View mGoButton;
private ImageView mStopButton;
private View mAllButton;
+ private View mClearButton;
private PageProgressView mProgressView;
private UrlInputView mUrlFocused;
private TextView mUrlUnfocused;
@@ -88,6 +89,7 @@
mSearchButton = findViewById(R.id.search);
mLockIcon = (ImageView) findViewById(R.id.lock);
mGoButton = findViewById(R.id.go);
+ mClearButton = findViewById(R.id.clear);
mProgressView = (PageProgressView) findViewById(R.id.progress);
mFocusContainer = findViewById(R.id.urlbar_focused);
mUnfocusContainer = findViewById(R.id.urlbar_unfocused);
@@ -99,14 +101,15 @@
mStopButton.setOnClickListener(this);
mSearchButton.setOnClickListener(this);
mGoButton.setOnClickListener(this);
+ mClearButton.setOnClickListener(this);
mUrlFocused.setUrlInputListener(this);
mUrlUnfocused.setOnFocusChangeListener(this);
mUrlFocused.setContainer(mFocusContainer);
}
-
+
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
- swapUrlContainer(true);
+ setUrlMode(true);
mUrlFocused.selectAll();
mUrlFocused.requestFocus();
mUrlFocused.setDropDownWidth(mUnfocusContainer.getWidth());
@@ -132,6 +135,8 @@
if (!TextUtils.isEmpty(mUrlFocused.getText())) {
onAction(mUrlFocused.getText().toString());
}
+ } else if (mClearButton == v) {
+ mUrlFocused.setText("");
}
}
@@ -152,7 +157,7 @@
i.setAction(Intent.ACTION_SEARCH);
i.putExtra(SearchManager.QUERY, text);
mBrowserActivity.onNewIntent(i);
- swapUrlContainer(false);
+ setUrlMode(false);
setDisplayTitle(text);
}
@@ -160,8 +165,8 @@
public void onDismiss() {
mBrowserActivity.getTabControl().getCurrentTopWebView().requestFocus();
mBrowserActivity.hideFakeTitleBar();
+ setUrlMode(false);
setDisplayTitle(mBrowserActivity.getTabControl().getCurrentWebView().getUrl());
- swapUrlContainer(false);
}
@Override
@@ -172,6 +177,17 @@
}
}
+ private void setUrlMode(boolean focused) {
+ swapUrlContainer(focused);
+ if (focused) {
+ mSearchButton.setVisibility(View.GONE);
+ mGoButton.setVisibility(View.VISIBLE);
+ } else {
+ mSearchButton.setVisibility(View.VISIBLE);
+ mGoButton.setVisibility(View.GONE);
+ }
+ }
+
private void swapUrlContainer(boolean focus) {
mUnfocusContainer.setVisibility(focus ? View.GONE : View.VISIBLE);
mFocusContainer.setVisibility(focus ? View.VISIBLE : View.GONE);
@@ -203,6 +219,7 @@
@Override
void setProgress(int newProgress) {
if (newProgress >= PROGRESS_MAX) {
+ mProgressView.setProgress(PageProgressView.MAX_PROGRESS);
mProgressView.setVisibility(View.GONE);
mInLoad = false;
mStopButton.setImageDrawable(mReloadDrawable);
@@ -212,7 +229,8 @@
mInLoad = true;
mStopButton.setImageDrawable(mStopDrawable);
}
- mProgressView.setProgress(newProgress*10000/PROGRESS_MAX);
+ mProgressView.setProgress(newProgress * PageProgressView.MAX_PROGRESS
+ / PROGRESS_MAX);
}
}