diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/com/android/browser/BrowserActivity.java | 27 | ||||
| -rw-r--r-- | src/com/android/browser/TitleBar.java | 23 | ||||
| -rw-r--r-- | src/com/android/browser/TitleBarSet.java | 12 |
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; } |
