diff options
| author | Michael Kolb <kolby@google.com> | 2011-07-18 16:38:02 -0700 |
|---|---|---|
| committer | Michael Kolb <kolby@google.com> | 2011-07-18 16:38:02 -0700 |
| commit | 20be26d3aaa0ba44a0258e6eb490303330109587 (patch) | |
| tree | f3bc2ccf5188a4428bb936b1cde6231c0847b6d8 /src/com/android/browser/NavigationBarPhone.java | |
| parent | 8441d4bdc99f8e4a84d8292c7c2a6cdf4e562fff (diff) | |
| download | packages_apps_Browser-20be26d3aaa0ba44a0258e6eb490303330109587.tar.gz packages_apps_Browser-20be26d3aaa0ba44a0258e6eb490303330109587.tar.bz2 packages_apps_Browser-20be26d3aaa0ba44a0258e6eb490303330109587.zip | |
fix tab switcher and menu
Change-Id: Ibcda8fc9fa73f11dba7d8f2f8061740910cedc55
Diffstat (limited to 'src/com/android/browser/NavigationBarPhone.java')
| -rw-r--r-- | src/com/android/browser/NavigationBarPhone.java | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/src/com/android/browser/NavigationBarPhone.java b/src/com/android/browser/NavigationBarPhone.java index 2da0424dd..7e367a46a 100644 --- a/src/com/android/browser/NavigationBarPhone.java +++ b/src/com/android/browser/NavigationBarPhone.java @@ -46,6 +46,7 @@ public class NavigationBarPhone extends NavigationBarBase implements private View mMore; private Drawable mTextfieldBgDrawable; private PopupMenu mPopupMenu; + private boolean mMenuShowing; private boolean mNeedsMenu; public NavigationBarPhone(Context context) { @@ -154,7 +155,7 @@ public class NavigationBarPhone extends NavigationBarBase implements } else if (v == mVoiceButton) { mUiController.startVoiceSearch(); } else if (v == mTabSwitcher) { - mBaseUi.onMenuKey(); + ((PhoneUi) mBaseUi).toggleNavScreen(); } else if (mMore == v) { showMenu(mMore); } else { @@ -163,15 +164,35 @@ public class NavigationBarPhone extends NavigationBarBase implements } public boolean isMenuShowing() { - return (mPopupMenu != null); + return mMenuShowing; } void showMenu() { // called from menu key, use tab switcher as anchor - showMenu(mTabSwitcher); + mMenuShowing = true; + if (isEditingUrl()) { + stopEditingUrl(); + post(new Runnable() { + @Override + public void run() { + showMenu(); + } + }); + } else { + mBaseUi.getTitleBar().setSkipTitleBarAnimations(true); + mBaseUi.showTitleBar(); + mBaseUi.getTitleBar().setSkipTitleBarAnimations(false); + post(new Runnable() { + @Override + public void run() { + showMenu(mTabSwitcher); + } + }); + } } void showMenu(View anchor) { + mMenuShowing = true; mPopupMenu = new PopupMenu(mContext, anchor); Menu menu = mPopupMenu.getMenu(); mPopupMenu.getMenuInflater().inflate(R.menu.browser, menu); @@ -184,6 +205,7 @@ public class NavigationBarPhone extends NavigationBarBase implements void dismissMenu() { if (mPopupMenu != null) { mPopupMenu.dismiss(); + mBaseUi.suggestHideTitleBar(); } } @@ -203,6 +225,7 @@ public class NavigationBarPhone extends NavigationBarBase implements } private void onMenuHidden() { + mMenuShowing = false; mPopupMenu = null; mBaseUi.showTitleBarForDuration(); } |
