refactor titlebar code
Change-Id: I45db5f19af142ba78d3e3833fa428e8f9a14b889
diff --git a/src/com/android/browser/BaseUi.java b/src/com/android/browser/BaseUi.java
index 2a03893..5daf17a 100644
--- a/src/com/android/browser/BaseUi.java
+++ b/src/com/android/browser/BaseUi.java
@@ -87,8 +87,6 @@
private Toast mStopToast;
- private boolean mTitleShowing;
-
// the default <video> poster
private Bitmap mDefaultVideoPoster;
// the video progress view
@@ -117,7 +115,6 @@
mCustomViewContainer = (FrameLayout) mBrowserFrameLayout
.findViewById(R.id.fullscreen_custom_content);
frameLayout.addView(mBrowserFrameLayout, COVER_SCREEN_PARAMS);
- mTitleShowing = false;
}
@Override
@@ -183,8 +180,6 @@
public void onConfigurationChanged(Configuration config) {
}
- public abstract void editUrl(boolean clearInput);
-
// key handling
@Override
@@ -413,39 +408,50 @@
}
protected void refreshWebView() {
- Tab tab = getActiveTab();
- if ((tab != null) && (tab.getWebView() != null)) {
- tab.getWebView().invalidate();
+ WebView web = getWebView();
+ if (web != null) {
+ web.invalidate();
}
}
+ public void editUrl(boolean clearInput) {
+ if (mUiController.isInCustomActionMode()) {
+ mUiController.endActionMode();
+ }
+ showTitleBar();
+ getTitleBar().startEditingUrl(clearInput);
+ }
+
boolean canShowTitleBar() {
return !isTitleBarShowing()
&& !isActivityPaused()
&& (getActiveTab() != null)
- && (getActiveTab().getWebView() != null)
+ && (getWebView() != null)
&& !mUiController.isInCustomActionMode();
}
void showTitleBar() {
- mTitleShowing = true;
+ if (canShowTitleBar()) {
+ getTitleBar().show();
+ }
}
protected void hideTitleBar() {
- mTitleShowing = false;
+ if (getTitleBar().isShowing()) {
+ getTitleBar().hide();
+ }
}
protected boolean isTitleBarShowing() {
- return mTitleShowing;
+ return getTitleBar().isShowing();
}
protected abstract TitleBarBase getTitleBar();
protected void setTitleGravity(int gravity) {
- getTitleBar().setTitleGravity(gravity);
- Tab tab = getActiveTab();
- if ((tab != null) && (tab.getWebView() != null)) {
- tab.getWebView().setTitleBarGravity(gravity);
+ WebView web = getWebView();
+ if (web != null) {
+ web.setTitleBarGravity(gravity);
}
}
@@ -759,9 +765,12 @@
tab.setScreenshot(sshot);
}
- void showTitleBarAndEdit() {
- showTitleBar();
- getTitleBar().startEditingUrl(false);
+ protected WebView getWebView() {
+ if (mActiveTab != null) {
+ return mActiveTab.getWebView();
+ } else {
+ return null;
+ }
}
}