diff options
| author | Michael Kolb <kolby@google.com> | 2012-04-16 13:30:28 -0700 |
|---|---|---|
| committer | Michael Kolb <kolby@google.com> | 2012-04-16 14:36:28 -0700 |
| commit | da580634265a0add98d3c16b07103edbe724a5b3 (patch) | |
| tree | d5c1eb6fd61496240903cbfe6401145e0c1f805f /src/com/android | |
| parent | 891aded02d0f774f418aa10b169520667f8acddf (diff) | |
| download | packages_apps_Browser-da580634265a0add98d3c16b07103edbe724a5b3.tar.gz packages_apps_Browser-da580634265a0add98d3c16b07103edbe724a5b3.tar.bz2 packages_apps_Browser-da580634265a0add98d3c16b07103edbe724a5b3.zip | |
fix titlebar disappearing on tab switch
Bug: 6343476
Consolidate some quickcontrols code and set titlebar for BrowserWebView
before attaching
Change-Id: I3bc8100e3905538aae73be7a07fb611702c5e54b
Diffstat (limited to 'src/com/android')
| -rw-r--r-- | src/com/android/browser/BaseUi.java | 29 | ||||
| -rw-r--r-- | src/com/android/browser/PhoneUi.java | 20 | ||||
| -rw-r--r-- | src/com/android/browser/XLargeUi.java | 40 |
3 files changed, 38 insertions, 51 deletions
diff --git a/src/com/android/browser/BaseUi.java b/src/com/android/browser/BaseUi.java index 652f9d715..54b2f186d 100644 --- a/src/com/android/browser/BaseUi.java +++ b/src/com/android/browser/BaseUi.java @@ -32,7 +32,6 @@ import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.text.TextUtils; -import android.util.Log; import android.view.Gravity; import android.view.LayoutInflater; import android.view.Menu; @@ -112,6 +111,7 @@ public abstract class BaseUi implements UI { protected boolean mUseQuickControls; protected TitleBar mTitleBar; private NavigationBarBase mNavigationBar; + protected PieControl mPieControl; public BaseUi(Activity browser, UiController controller) { mActivity = browser; @@ -196,6 +196,21 @@ public abstract class BaseUi implements UI { return false; } + @Override + public void setUseQuickControls(boolean useQuickControls) { + mUseQuickControls = useQuickControls; + mTitleBar.setUseQuickControls(mUseQuickControls); + if (useQuickControls) { + mPieControl = new PieControl(mActivity, mUiController, this); + mPieControl.attachToContainer(mContentView); + } else { + if (mPieControl != null) { + mPieControl.removeFromContainer(mContentView); + } + } + updateUrlBarAutoShowManagerTarget(); + } + // Tab callbacks @Override public void onTabDataChanged(Tab tab) { @@ -247,9 +262,19 @@ public abstract class BaseUi implements UI { } } mActiveTab = tab; - WebView web = mActiveTab.getWebView(); + BrowserWebView web = (BrowserWebView) mActiveTab.getWebView(); updateUrlBarAutoShowManagerTarget(); attachTabToContentView(tab); + if (web != null) { + // Request focus on the top window. + if (mUseQuickControls) { + mPieControl.forceToTop(mContentView); + web.setTitleBar(null); + } else { + web.setTitleBar(mTitleBar); + mTitleBar.onScrollChanged(); + } + } mTitleBar.bringToFront(); tab.getTopWindow().requestFocus(); setShouldShowErrorConsole(tab, mUiController.shouldShowErrorConsole()); diff --git a/src/com/android/browser/PhoneUi.java b/src/com/android/browser/PhoneUi.java index 153533b3f..7db55633c 100644 --- a/src/com/android/browser/PhoneUi.java +++ b/src/com/android/browser/PhoneUi.java @@ -29,17 +29,13 @@ import android.os.Message; import android.util.Log; import android.util.TypedValue; import android.view.ActionMode; -import android.view.Gravity; import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; -import android.view.ViewGroup; import android.view.accessibility.AccessibilityEvent; import android.webkit.WebView; -import android.webkit.WebViewClassic; -import android.widget.FrameLayout; import android.widget.ImageView; import com.android.browser.UrlInputView.StateListener; @@ -52,7 +48,6 @@ public class PhoneUi extends BaseUi { private static final String LOGTAG = "PhoneUi"; private static final int MSG_INIT_NAVSCREEN = 100; - private PieControl mPieControl; private NavScreen mNavScreen; private AnimScreen mAnimScreen; private NavigationBarPhone mNavigationBar; @@ -264,21 +259,6 @@ public class PhoneUi extends BaseUi { } @Override - public void setUseQuickControls(boolean useQuickControls) { - mUseQuickControls = useQuickControls; - mTitleBar.setUseQuickControls(mUseQuickControls); - if (useQuickControls) { - mPieControl = new PieControl(mActivity, mUiController, this); - mPieControl.attachToContainer(mContentView); - } else { - if (mPieControl != null) { - mPieControl.removeFromContainer(mContentView); - } - } - updateUrlBarAutoShowManagerTarget(); - } - - @Override public boolean isWebShowing() { return super.isWebShowing() && !showingNavScreen(); } diff --git a/src/com/android/browser/XLargeUi.java b/src/com/android/browser/XLargeUi.java index 391b83ebb..e0a6be2fd 100644 --- a/src/com/android/browser/XLargeUi.java +++ b/src/com/android/browser/XLargeUi.java @@ -50,7 +50,6 @@ public class XLargeUi extends BaseUi { private NavigationBarTablet mNavBar; - private PieControl mPieControl; private Handler mHandler; /** @@ -82,27 +81,19 @@ public class XLargeUi extends BaseUi { @Override public void setUseQuickControls(boolean useQuickControls) { - mUseQuickControls = useQuickControls; - mTitleBar.setUseQuickControls(mUseQuickControls); - if (useQuickControls) { - checkTabCount(); - mPieControl = new PieControl(mActivity, mUiController, this); - mPieControl.attachToContainer(mContentView); - } else { - mActivity.getActionBar().show(); - if (mPieControl != null) { - mPieControl.removeFromContainer(mContentView); - } + super.setUseQuickControls(useQuickControls); + checkHideActionBar(); + if (!useQuickControls) { + mActionBar.show(); } mTabBar.setUseQuickControls(mUseQuickControls); // We need to update the tabs with this change for (Tab t : mTabControl.getTabs()) { t.updateShouldCaptureThumbnails(); } - updateUrlBarAutoShowManagerTarget(); } - private void checkTabCount() { + private void checkHideActionBar() { if (mUseQuickControls) { mHandler.post(new Runnable() { public void run() { @@ -116,7 +107,7 @@ public class XLargeUi extends BaseUi { public void onResume() { super.onResume(); mNavBar.clearCompletions(); - checkTabCount(); + checkHideActionBar(); } @Override @@ -164,7 +155,7 @@ public class XLargeUi extends BaseUi { } protected void onAddTabCompleted(Tab tab) { - checkTabCount(); + checkHideActionBar(); } @Override @@ -179,13 +170,6 @@ public class XLargeUi extends BaseUi { Log.e(LOGTAG, "active tab with no webview detected"); return; } - // Request focus on the top window. - if (mUseQuickControls) { - mPieControl.forceToTop(mContentView); - view.setTitleBar(null); - } else { - view.setTitleBar(mTitleBar); - } mTabBar.onSetActiveTab(tab); if (tab.isInVoiceSearchMode()) { showVoiceTitleBar(tab.getVoiceDisplayTitle(), tab.getVoiceSearchResults()); @@ -199,7 +183,7 @@ public class XLargeUi extends BaseUi { @Override public void updateTabs(List<Tab> tabs) { mTabBar.updateTabs(tabs); - checkTabCount(); + checkHideActionBar(); } @Override @@ -212,7 +196,7 @@ public class XLargeUi extends BaseUi { } protected void onRemoveTabCompleted(Tab tab) { - checkTabCount(); + checkHideActionBar(); } int getContentWidth() { @@ -256,7 +240,7 @@ public class XLargeUi extends BaseUi { @Override public void onActionModeFinished(boolean inLoad) { - checkTabCount(); + checkHideActionBar(); if (inLoad) { // the titlebar was removed when the CAB was shown // if the page is loading, show it again @@ -288,9 +272,7 @@ public class XLargeUi extends BaseUi { @Override public void onHideCustomView() { super.onHideCustomView(); - if (mUseQuickControls) { - checkTabCount(); - } + checkHideActionBar(); } @Override |
