another round of UI refresh
moved buttons in the url bar
fixed selected tab visuals (activated)
Change-Id: Ib69f9ca68b3d8cc8dfe6856f7248f21267127ae8
diff --git a/res/drawable-hdpi/ic_clear_search.png b/res/drawable-hdpi/ic_clear_search.png
new file mode 100644
index 0000000..e8e67b4
--- /dev/null
+++ b/res/drawable-hdpi/ic_clear_search.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_favorite_off_normal.png b/res/drawable-hdpi/ic_favorite_off_normal.png
new file mode 100644
index 0000000..4741464
--- /dev/null
+++ b/res/drawable-hdpi/ic_favorite_off_normal.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_go_normal_white.png b/res/drawable-hdpi/ic_go_normal_white.png
new file mode 100644
index 0000000..1ae9ed9
--- /dev/null
+++ b/res/drawable-hdpi/ic_go_normal_white.png
Binary files differ
diff --git a/res/drawable-hdpi/ic_web_white.png b/res/drawable-hdpi/ic_web_white.png
new file mode 100644
index 0000000..fec99ca
--- /dev/null
+++ b/res/drawable-hdpi/ic_web_white.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_clear_search.png b/res/drawable-mdpi/ic_clear_search.png
new file mode 100644
index 0000000..e8e67b4
--- /dev/null
+++ b/res/drawable-mdpi/ic_clear_search.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_favorite_off_normal.png b/res/drawable-mdpi/ic_favorite_off_normal.png
new file mode 100644
index 0000000..4741464
--- /dev/null
+++ b/res/drawable-mdpi/ic_favorite_off_normal.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_go_normal_white.png b/res/drawable-mdpi/ic_go_normal_white.png
new file mode 100644
index 0000000..1ae9ed9
--- /dev/null
+++ b/res/drawable-mdpi/ic_go_normal_white.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_web_white.png b/res/drawable-mdpi/ic_web_white.png
new file mode 100644
index 0000000..fec99ca
--- /dev/null
+++ b/res/drawable-mdpi/ic_web_white.png
Binary files differ
diff --git a/res/drawable/tab_background.xml b/res/drawable/tab_background.xml
index 8e1881e..6fc3ee3 100644
--- a/res/drawable/tab_background.xml
+++ b/res/drawable/tab_background.xml
@@ -17,10 +17,10 @@
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item
- android:state_selected="true"
+ android:state_activated="true"
android:drawable="@drawable/tab_selected_bg" />
<item
- android:state_selected="false"
+ android:state_activated="false"
android:drawable="@drawable/tab_unselected_bg">
</item>
</selector>
diff --git a/res/layout/url_bar.xml b/res/layout/url_bar.xml
index b803881..e85ad83 100644
--- a/res/layout/url_bar.xml
+++ b/res/layout/url_bar.xml
@@ -21,8 +21,7 @@
android:layout_width="match_parent"
android:layout_height="48dip"
android:orientation="horizontal"
- android:background="@drawable/urlbar_bg"
- >
+ android:background="@drawable/urlbar_bg">
<ImageButton
android:id="@+id/back"
android:src="@drawable/ic_back_normal"
@@ -45,28 +44,19 @@
style="@style/HoloButton"
android:gravity="center_vertical"
android:src="@drawable/ic_stop_normal" />
- <ImageButton
- android:id="@+id/all_btn"
- android:layout_width="wrap_content"
- android:layout_height="match_parent"
- android:scaleType="center"
- style="@style/HoloButton"
- android:background="@drawable/browserbarbutton"
- android:src="@drawable/ic_bookmarks_history_normal" />
<LinearLayout
android:id="@+id/urlbar_unfocused"
android:layout_width="0dip"
android:layout_height="match_parent"
android:layout_weight="1.0"
android:background="@null"
- android:orientation="horizontal" >
- <ImageButton
- android:id="@+id/star"
- android:src="@drawable/ic_favorite_on_normal"
+ android:orientation="horizontal">
+ <ImageView
+ android:id="@+id/browsericon"
+ android:src="@drawable/ic_web_white"
android:layout_width="wrap_content"
android:layout_height="match_parent"
- style="@style/HoloButton"
- android:background="@drawable/browserbarbutton" />
+ style="@style/HoloButton" />
<ImageView
android:id="@+id/lock"
android:layout_width="wrap_content"
@@ -90,11 +80,10 @@
android:inputType="textUri"
android:imeOptions="actionGo" />
<ImageButton
- android:id="@+id/search"
- android:src="@drawable/ic_search_normal"
+ android:id="@+id/star"
+ android:src="@drawable/ic_favorite_off_normal"
android:layout_width="wrap_content"
android:layout_height="match_parent"
- android:gravity="center_vertical"
style="@style/HoloButton"
android:background="@drawable/browserbarbutton" />
</LinearLayout>
@@ -105,8 +94,7 @@
android:layout_weight="1.0"
android:orientation="horizontal"
android:background="@drawable/text_field_results"
- android:visibility="gone"
- >
+ android:visibility="gone">
<ImageView
android:id="@+id/searchicon"
android:src="@drawable/ic_search_category_suggest"
@@ -129,22 +117,45 @@
android:scrollHorizontally="true"
android:inputType="textUri"
android:imeOptions="actionGo" />
- <ImageButton
- android:id="@+id/go"
- android:src="@drawable/ic_go_dark"
+ <ImageView
+ android:id="@+id/clear"
+ android:src="@drawable/ic_clear_search"
android:layout_width="wrap_content"
android:layout_height="match_parent"
- android:gravity="center_vertical"
- style="@style/HoloButton"
- android:background="@drawable/browserbarbutton" />
+ style="@style/HoloButton" />
</LinearLayout>
+ <ImageButton
+ android:id="@+id/go"
+ android:src="@drawable/ic_go_normal_white"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:visibility="gone"
+ android:gravity="center_vertical"
+ style="@style/HoloButton"
+ android:background="@drawable/browserbarbutton" />
+ <ImageButton
+ android:id="@+id/search"
+ android:src="@drawable/ic_search_normal"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:gravity="center_vertical"
+ style="@style/HoloButton"
+ android:background="@drawable/browserbarbutton" />
+ <ImageButton
+ android:id="@+id/all_btn"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:scaleType="center"
+ style="@style/HoloButton"
+ android:background="@drawable/browserbarbutton"
+ android:src="@drawable/ic_bookmarks_history_normal" />
</LinearLayout>
<com.android.browser.PageProgressView
android:id="@+id/progress"
android:layout_width="match_parent"
android:layout_height="22dip"
- android:background = "@null"
- android:src = "@drawable/progress"
+ android:background="@null"
+ android:src="@drawable/progress"
android:layout_marginTop="-11dip"
android:visibility="gone" />
</LinearLayout>
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);
}
}