summaryrefslogtreecommitdiffstats
path: root/src/com/android
diff options
context:
space:
mode:
authorMichael Kolb <kolby@google.com>2011-01-28 13:48:50 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-01-28 13:48:50 -0800
commitb2ba52bf182bf9e38f4a2367a7e137a1c4b4022a (patch)
treea891a6e0e650a1a8d051da36f2ef7b3255bb05f2 /src/com/android
parent87a44887f87c9a9f9e1d38d45a6798721140dea9 (diff)
parent47171d85e40b3d89e347f950d157036f6b0c1d8d (diff)
downloadpackages_apps_Browser-b2ba52bf182bf9e38f4a2367a7e137a1c4b4022a.zip
packages_apps_Browser-b2ba52bf182bf9e38f4a2367a7e137a1c4b4022a.tar.gz
packages_apps_Browser-b2ba52bf182bf9e38f4a2367a7e137a1c4b4022a.tar.bz2
Merge "fix focus handling in url input" into honeycomb
Diffstat (limited to 'src/com/android')
-rw-r--r--src/com/android/browser/TitleBarXLarge.java35
-rw-r--r--src/com/android/browser/UrlInputView.java6
-rw-r--r--src/com/android/browser/XLargeUi.java5
3 files changed, 26 insertions, 20 deletions
diff --git a/src/com/android/browser/TitleBarXLarge.java b/src/com/android/browser/TitleBarXLarge.java
index 2fd9d3d..0dcece6 100644
--- a/src/com/android/browser/TitleBarXLarge.java
+++ b/src/com/android/browser/TitleBarXLarge.java
@@ -133,7 +133,7 @@ public class TitleBarXLarge extends TitleBarBase
mUrlInput.setOnFocusChangeListener(this);
mUrlInput.setSelectAllOnFocus(true);
mUrlInput.addTextChangedListener(this);
- setUrlMode(false);
+ setEditMode(false);
}
void updateNavigationState(Tab tab) {
@@ -187,7 +187,11 @@ public class TitleBarXLarge extends TitleBarBase
if (!mEditable && hasFocus) {
mUi.editUrl(false);
} else {
- setUrlMode(hasFocus);
+ if (hasFocus) {
+ setEditMode(hasFocus);
+ } else {
+ mUrlInput.stopEditing();
+ }
}
mUrlContainer.setBackgroundDrawable(hasFocus
? mFocusDrawable : mUnfocusDrawable);
@@ -266,7 +270,7 @@ public class TitleBarXLarge extends TitleBarBase
private void clearOrClose() {
if (TextUtils.isEmpty(mUrlInput.getText())) {
// close
- setUrlMode(false);
+ mUrlInput.stopEditing();
} else {
// clear
mUrlInput.setText("");
@@ -307,15 +311,16 @@ public class TitleBarXLarge extends TitleBarBase
@Override
public void onDismiss() {
- Tab currentTab = mUi.getActiveTab();
- if (currentTab != null && currentTab.getWebView() != null) {
- currentTab.getWebView().requestFocus();
- }
+ final Tab currentTab = mUi.getActiveTab();
mUi.hideFakeTitleBar();
- // if top != null current must be set
- if ((currentTab != null) && !mInVoiceMode) {
- setDisplayTitle(currentTab.getUrl());
- }
+ post(new Runnable() {
+ public void run() {
+ TitleBarXLarge.this.clearFocus();
+ if ((currentTab != null) && !mInVoiceMode) {
+ setDisplayTitle(currentTab.getUrl());
+ }
+ }
+ });
}
/**
@@ -330,8 +335,8 @@ public class TitleBarXLarge extends TitleBarBase
}
}
- void setUrlMode(boolean focused) {
- if (focused) {
+ void setEditMode(boolean edit) {
+ if (edit) {
mUrlInput.setDropDownWidth(mUrlContainer.getWidth());
mUrlInput.setDropDownHorizontalOffset(-mUrlInput.getLeft());
mSearchButton.setVisibility(View.GONE);
@@ -343,9 +348,6 @@ public class TitleBarXLarge extends TitleBarBase
mWebIcon.setImageResource(R.drawable.ic_search_holo_dark);
updateSearchMode();
} else {
- if (mUrlInput.hasFocus()) {
- mUrlInput.clearFocus();
- }
mGoButton.setVisibility(View.GONE);
mVoiceSearch.setVisibility(View.GONE);
mStar.setVisibility(View.VISIBLE);
@@ -454,4 +456,5 @@ public class TitleBarXLarge extends TitleBarBase
void setIncognitoMode(boolean incognito) {
mUrlInput.setIncognitoMode(incognito);
}
+
}
diff --git a/src/com/android/browser/UrlInputView.java b/src/com/android/browser/UrlInputView.java
index 3e49c06..23e412d 100644
--- a/src/com/android/browser/UrlInputView.java
+++ b/src/com/android/browser/UrlInputView.java
@@ -166,14 +166,16 @@ public class UrlInputView extends AutoCompleteTextView
performFiltering(getText().toString(), 0);
showDropDown();
}
- } else {
- finishInput(null, null, null);
}
if (mWrappedFocusListener != null) {
mWrappedFocusListener.onFocusChange(v, hasFocus);
}
}
+ void stopEditing() {
+ finishInput(null, null, null);
+ }
+
public void setUrlInputListener(UrlInputListener listener) {
mListener = listener;
}
diff --git a/src/com/android/browser/XLargeUi.java b/src/com/android/browser/XLargeUi.java
index 2aaa029..0fa38cf 100644
--- a/src/com/android/browser/XLargeUi.java
+++ b/src/com/android/browser/XLargeUi.java
@@ -304,7 +304,7 @@ public class XLargeUi extends BaseUi implements ScrollListener {
@Override
protected void hideFakeTitleBar() {
if (isFakeTitleBarShowing()) {
- mFakeTitleBar.setUrlMode(false);
+ mFakeTitleBar.setEditMode(false);
mContentView.removeView(mFakeTitleBar);
mTabBar.onHideTitleBar();
}
@@ -417,7 +417,8 @@ public class XLargeUi extends BaseUi implements ScrollListener {
return true;
}
}
- if (event.isPrintingKey() && !mFakeTitleBar.isEditingUrl()) {
+ boolean ctrl = event.hasModifiers(KeyEvent.META_CTRL_ON);
+ if (!ctrl && event.isPrintingKey() && !mFakeTitleBar.isEditingUrl()) {
editUrl(true);
return mContentView.dispatchKeyEvent(event);
}