diff options
| author | Michael Kolb <kolby@google.com> | 2011-08-31 16:23:57 -0700 |
|---|---|---|
| committer | Michael Kolb <kolby@google.com> | 2011-09-02 16:23:06 -0700 |
| commit | 94ec527ac5b4d4ca245c878de4eb559658a55d4d (patch) | |
| tree | c25476c5efcf66a19b078251f133afb7c27612f3 /src/com/android | |
| parent | 4f79a14a8aa067463dad15a018370012ed593608 (diff) | |
| download | packages_apps_Browser-94ec527ac5b4d4ca245c878de4eb559658a55d4d.tar.gz packages_apps_Browser-94ec527ac5b4d4ca245c878de4eb559658a55d4d.tar.bz2 packages_apps_Browser-94ec527ac5b4d4ca245c878de4eb559658a55d4d.zip | |
Fix focus highlight bug
Bug: 5240233
post the layout change on state change
add clear button when editing
Change-Id: I9db16619cd39611153503b28757d4b16e52ab9e3
Diffstat (limited to 'src/com/android')
| -rw-r--r-- | src/com/android/browser/NavigationBarPhone.java | 13 | ||||
| -rw-r--r-- | src/com/android/browser/UrlInputView.java | 20 |
2 files changed, 29 insertions, 4 deletions
diff --git a/src/com/android/browser/NavigationBarPhone.java b/src/com/android/browser/NavigationBarPhone.java index fee9604ff..7e8695b96 100644 --- a/src/com/android/browser/NavigationBarPhone.java +++ b/src/com/android/browser/NavigationBarPhone.java @@ -36,6 +36,8 @@ public class NavigationBarPhone extends NavigationBarBase implements private ImageView mStopButton; private ImageView mVoiceButton; + private ImageView mMagnify; + private ImageView mClearButton; private Drawable mStopDrawable; private Drawable mRefreshDrawable; private String mStopDescription; @@ -69,6 +71,9 @@ public class NavigationBarPhone extends NavigationBarBase implements mStopButton.setOnClickListener(this); mVoiceButton = (ImageView) findViewById(R.id.voice); mVoiceButton.setOnClickListener(this); + mClearButton = (ImageView) findViewById(R.id.clear); + mClearButton.setOnClickListener(this); + mMagnify = (ImageView) findViewById(R.id.magnify); mTabSwitcher = findViewById(R.id.tab_switcher); mTabSwitcher.setOnClickListener(this); mMore = findViewById(R.id.more); @@ -156,6 +161,8 @@ public class NavigationBarPhone extends NavigationBarBase implements ((PhoneUi) mBaseUi).toggleNavScreen(); } else if (mMore == v) { showMenu(mMore); + } else if (mClearButton == v) { + mUrlInput.setText(""); } else { super.onClick(v); } @@ -209,6 +216,8 @@ public class NavigationBarPhone extends NavigationBarBase implements case StateListener.STATE_NORMAL: mComboIcon.setVisibility(View.VISIBLE); mStopButton.setVisibility(View.GONE); + mClearButton.setVisibility(View.GONE); + mMagnify.setVisibility(View.GONE); setSearchMode(mInVoiceMode); mTabSwitcher.setVisibility(View.VISIBLE); mTitleContainer.setBackgroundDrawable(null); @@ -217,6 +226,8 @@ public class NavigationBarPhone extends NavigationBarBase implements case StateListener.STATE_HIGHLIGHTED: mComboIcon.setVisibility(View.GONE); mStopButton.setVisibility(View.VISIBLE); + mClearButton.setVisibility(View.GONE); + mMagnify.setVisibility(View.GONE); setSearchMode(true); mTabSwitcher.setVisibility(View.GONE); mMore.setVisibility(View.GONE); @@ -225,6 +236,8 @@ public class NavigationBarPhone extends NavigationBarBase implements case StateListener.STATE_EDITED: mComboIcon.setVisibility(View.GONE); mStopButton.setVisibility(View.GONE); + mClearButton.setVisibility(View.VISIBLE); + mMagnify.setVisibility(View.VISIBLE); setSearchMode(false); mTabSwitcher.setVisibility(View.GONE); mMore.setVisibility(View.GONE); diff --git a/src/com/android/browser/UrlInputView.java b/src/com/android/browser/UrlInputView.java index 2acc69b05..fbdf40056 100644 --- a/src/com/android/browser/UrlInputView.java +++ b/src/com/android/browser/UrlInputView.java @@ -56,6 +56,8 @@ public class UrlInputView extends SuggestiveAutoCompleteTextView static final String SUGGESTED = "browser-suggest"; static final String VOICE = "voice-search"; + static final int POST_DELAY = 100; + static interface StateListener { static final int STATE_NORMAL = 0; static final int STATE_HIGHLIGHTED = 1; @@ -123,16 +125,23 @@ public class UrlInputView extends SuggestiveAutoCompleteTextView protected void onFocusChanged(boolean focused, int direction, Rect prevRect) { super.onFocusChanged(focused, direction, prevRect); + int state = -1; if (focused) { if (hasSelection()) { - changeState(StateListener.STATE_HIGHLIGHTED); + state = StateListener.STATE_HIGHLIGHTED; } else { - changeState(StateListener.STATE_EDITED); + state = StateListener.STATE_EDITED; } } else { // reset the selection state - changeState(StateListener.STATE_NORMAL); + state = StateListener.STATE_NORMAL; } + final int s = state; + post(new Runnable() { + public void run() { + changeState(s); + } + }); } @Override @@ -141,7 +150,10 @@ public class UrlInputView extends SuggestiveAutoCompleteTextView boolean res = super.onTouchEvent(evt); if ((MotionEvent.ACTION_DOWN == evt.getActionMasked()) && hasSelection) { - changeState(StateListener.STATE_EDITED); + postDelayed(new Runnable() { + public void run() { + changeState(StateListener.STATE_EDITED); + }}, POST_DELAY); } return res; } |
