diff options
| author | Michael Kolb <kolby@google.com> | 2010-09-25 16:59:37 -0700 |
|---|---|---|
| committer | Michael Kolb <kolby@google.com> | 2010-09-28 10:32:35 -0700 |
| commit | b7b115e301334f813275aa13e7a2cc27bf15fe6a (patch) | |
| tree | e293d5a95ed77b008fd36a625501ba51dddfba66 /src/com/android | |
| parent | b2a477cb592a71901a21b5a9fc5e21603fba71b4 (diff) | |
| download | packages_apps_Browser-b7b115e301334f813275aa13e7a2cc27bf15fe6a.tar.gz packages_apps_Browser-b7b115e301334f813275aa13e7a2cc27bf15fe6a.tar.bz2 packages_apps_Browser-b7b115e301334f813275aa13e7a2cc27bf15fe6a.zip | |
another round of UI refresh
moved buttons in the url bar
fixed selected tab visuals (activated)
Change-Id: Ib69f9ca68b3d8cc8dfe6856f7248f21267127ae8
Diffstat (limited to 'src/com/android')
| -rw-r--r-- | src/com/android/browser/PageProgressView.java | 47 | ||||
| -rw-r--r-- | src/com/android/browser/TabBar.java | 4 | ||||
| -rw-r--r-- | src/com/android/browser/TabScrollView.java | 8 | ||||
| -rw-r--r-- | src/com/android/browser/TitleBarXLarge.java | 28 |
4 files changed, 64 insertions, 23 deletions
diff --git a/src/com/android/browser/PageProgressView.java b/src/com/android/browser/PageProgressView.java index 183566add..f512cefa1 100644 --- a/src/com/android/browser/PageProgressView.java +++ b/src/com/android/browser/PageProgressView.java @@ -20,6 +20,8 @@ import android.content.Context; 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 @@ import android.widget.ImageView; */ 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 @@ public class PageProgressView extends ImageView { } 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 cf0f27ca4..4c8ab26bc 100644 --- a/src/com/android/browser/TabBar.java +++ b/src/com/android/browser/TabBar.java @@ -250,14 +250,14 @@ public class TabBar extends LinearLayout } @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 b41141679..435362dbf 100644 --- a/src/com/android/browser/TabScrollView.java +++ b/src/com/android/browser/TabScrollView.java @@ -80,12 +80,12 @@ public class TabScrollView extends HorizontalScrollView { 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 @@ public class TabScrollView extends HorizontalScrollView { 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 da39307f4..b652e15ca 100644 --- a/src/com/android/browser/TitleBarXLarge.java +++ b/src/com/android/browser/TitleBarXLarge.java @@ -57,6 +57,7 @@ public class TitleBarXLarge extends TitleBarBase 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 @@ public class TitleBarXLarge extends TitleBarBase 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 @@ public class TitleBarXLarge extends TitleBarBase 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 @@ public class TitleBarXLarge extends TitleBarBase if (!TextUtils.isEmpty(mUrlFocused.getText())) { onAction(mUrlFocused.getText().toString()); } + } else if (mClearButton == v) { + mUrlFocused.setText(""); } } @@ -152,7 +157,7 @@ public class TitleBarXLarge extends TitleBarBase i.setAction(Intent.ACTION_SEARCH); i.putExtra(SearchManager.QUERY, text); mBrowserActivity.onNewIntent(i); - swapUrlContainer(false); + setUrlMode(false); setDisplayTitle(text); } @@ -160,8 +165,8 @@ public class TitleBarXLarge extends TitleBarBase public void onDismiss() { mBrowserActivity.getTabControl().getCurrentTopWebView().requestFocus(); mBrowserActivity.hideFakeTitleBar(); + setUrlMode(false); setDisplayTitle(mBrowserActivity.getTabControl().getCurrentWebView().getUrl()); - swapUrlContainer(false); } @Override @@ -172,6 +177,17 @@ public class TitleBarXLarge extends TitleBarBase } } + 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 @@ public class TitleBarXLarge extends TitleBarBase @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 @@ public class TitleBarXLarge extends TitleBarBase mInLoad = true; mStopButton.setImageDrawable(mStopDrawable); } - mProgressView.setProgress(newProgress*10000/PROGRESS_MAX); + mProgressView.setProgress(newProgress * PageProgressView.MAX_PROGRESS + / PROGRESS_MAX); } } |
