summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/com/android/browser/BrowserActivity.java27
-rw-r--r--src/com/android/browser/TitleBar.java23
-rw-r--r--src/com/android/browser/TitleBarSet.java12
3 files changed, 38 insertions, 24 deletions
diff --git a/src/com/android/browser/BrowserActivity.java b/src/com/android/browser/BrowserActivity.java
index adb9b7da6..66a0d4390 100644
--- a/src/com/android/browser/BrowserActivity.java
+++ b/src/com/android/browser/BrowserActivity.java
@@ -90,6 +90,7 @@ import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
+import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
@@ -946,17 +947,31 @@ public class BrowserActivity extends Activity
private void showFakeTitleBar() {
if (mFakeTitleBar == null) {
- WebView webView = getTopWindow();
+ final WebView webView = getTopWindow();
mFakeTitleBar = new TitleBar(this, webView);
mFakeTitleBar.setTitleAndUrl(null, webView.getUrl());
mFakeTitleBar.setProgress(webView.getProgress());
mFakeTitleBar.setFavicon(webView.getFavicon());
updateLockIconToLatest();
- View title = mFakeTitleBar.findViewById(R.id.title);
- title.setOnClickListener(new View.OnClickListener() {
- public void onClick(View v) {
- onSearchRequested();
- closeOptionsMenu();
+ final View title = mFakeTitleBar.findViewById(R.id.title);
+ mFakeTitleBar.setOnTouchListener(new View.OnTouchListener() {
+ public boolean onTouch(View v, MotionEvent event) {
+ if (event.getAction() == MotionEvent.ACTION_UP) {
+ if (event.getX() > title.getRight()) {
+ if (webView != null
+ && webView.getProgress() < 100) {
+ if (webView != null) {
+ webView.stopLoading();
+ }
+ } else {
+ bookmarksOrHistoryPicker(false);
+ }
+ } else {
+ onSearchRequested();
+ }
+ closeOptionsMenu();
+ }
+ return true;
}
});
diff --git a/src/com/android/browser/TitleBar.java b/src/com/android/browser/TitleBar.java
index e830727e6..857aa38be 100644
--- a/src/com/android/browser/TitleBar.java
+++ b/src/com/android/browser/TitleBar.java
@@ -45,7 +45,7 @@ public class TitleBar extends LinearLayout {
private ImageView mRtButton;
private Drawable mCircularProgress;
private ProgressBar mHorizontalProgress;
- private Drawable mFavicon;
+ private ImageView mFavicon;
private ImageView mLockIcon;
private Drawable mStopDrawable;
private Drawable mBookmarkDrawable;
@@ -65,19 +65,9 @@ public class TitleBar extends LinearLayout {
mTitle.setCompoundDrawablePadding(5);
mLockIcon = (ImageView) findViewById(R.id.lock);
+ mFavicon = (ImageView) findViewById(R.id.favicon);
mRtButton = (ImageView) findViewById(R.id.rt_btn);
- mRtButton.setOnClickListener(new View.OnClickListener() {
- public void onClick(View v) {
- if (mInLoad) {
- if (mWebView != null) {
- mWebView.stopLoading();
- }
- } else {
- mBrowserActivity.bookmarksOrHistoryPicker(false);
- }
- }
- });
Resources resources = context.getResources();
mCircularProgress = (Drawable) resources.getDrawable(
com.android.internal.R.drawable.search_spinner);
@@ -123,10 +113,7 @@ public class TitleBar extends LinearLayout {
LayerDrawable d = new LayerDrawable(array);
d.setLayerInset(1, 1, 1, 1, 1);
d.setLayerInset(2, 2, 2, 2, 2);
- d.setBounds(0, 0, mIconDimension, mIconDimension);
- Drawable progress = mInLoad ? mCircularProgress : null;
- mTitle.setCompoundDrawables(d, null, progress, null);
- mFavicon = d;
+ mFavicon.setImageDrawable(d);
}
/**
@@ -146,7 +133,7 @@ public class TitleBar extends LinearLayout {
*/
/* package */ void setProgress(int newProgress) {
if (newProgress == mHorizontalProgress.getMax()) {
- mTitle.setCompoundDrawables(mFavicon, null, null, null);
+ mTitle.setCompoundDrawables(null, null, null, null);
((Animatable) mCircularProgress).stop();
mHorizontalProgress.setVisibility(View.INVISIBLE);
if (mBookmarkDrawable != null) {
@@ -156,7 +143,7 @@ public class TitleBar extends LinearLayout {
} else {
mHorizontalProgress.setProgress(newProgress);
if (!mInLoad) {
- mTitle.setCompoundDrawables(mFavicon, null, mCircularProgress,
+ mTitle.setCompoundDrawables(null, null, mCircularProgress,
null);
((Animatable) mCircularProgress).start();
mHorizontalProgress.setVisibility(View.VISIBLE);
diff --git a/src/com/android/browser/TitleBarSet.java b/src/com/android/browser/TitleBarSet.java
index 9cfce8650..ba6c23a5e 100644
--- a/src/com/android/browser/TitleBarSet.java
+++ b/src/com/android/browser/TitleBarSet.java
@@ -177,6 +177,18 @@ public class TitleBarSet extends Gallery
if (titleBar != getTitleBarAt(position)) {
return false;
}
+ View textfield = titleBar.findViewById(R.id.title);
+ // Interpret all touches past the right edge of the search field as
+ // a touch on the icon on the right.
+ if ((int) mLastTouchUp.getX() > textfield.getRight()) {
+ WebView webView = titleBar.getWebView();
+ if (webView != null && webView.getProgress() < 100) {
+ webView.stopLoading();
+ } else {
+ mBrowserActivity.bookmarksOrHistoryPicker(false);
+ }
+ return true;
+ }
mBrowserActivity.onSearchRequested();
return true;
}