Auto hide URL bar.
- Implement URLbar hide on onOffsetsForFullscreenChanged
notiication from the engine.
-Reverted
"Fix for disappearing title bar caused by copy/paste control"
Change-Id: I19860bd9356b2dc392539aa1e16819545e32de6d"
Change-Id: Ie8547e9a7ca7dfc892a94c5632a7fddddef58cc3
diff --git a/src/com/android/browser/BaseUi.java b/src/com/android/browser/BaseUi.java
index ddc5ad2..4648de7 100644
--- a/src/com/android/browser/BaseUi.java
+++ b/src/com/android/browser/BaseUi.java
@@ -830,17 +830,43 @@
setFullscreen(enabled);
FrameLayout main = (FrameLayout) mActivity.getWindow()
.getDecorView().findViewById(android.R.id.content);
-
+ boolean hide_title_on_scroll =
+ mActivity.getResources().getBoolean(R.bool.hide_title_on_scroll);
LinearLayout titleBarParent = (LinearLayout) main.findViewById(R.id.vertical_layout);
if (titleBarParent != null) {
if (enabled) {
- titleBarParent.removeView(mFixedTitlebarContainer);
+ if (!hide_title_on_scroll) {
+ titleBarParent.removeView(mFixedTitlebarContainer);
+ }
+ else {
+ mContentView.removeView(mTitleBar);
+ }
} else {
- titleBarParent.addView(mFixedTitlebarContainer, 1);
+ if (!hide_title_on_scroll) {
+ titleBarParent.addView(mFixedTitlebarContainer, 1);
+ }
+ else {
+ mContentView.addView(mTitleBar,
+ new FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT,
+ LayoutParams.WRAP_CONTENT));
+ }
}
}
}
+ public void transalateTitleBar(float topControlsOffsetYPix) {
+ if (mTitleBar != null) {
+ mTitleBar.bringToFront();
+ if (topControlsOffsetYPix != 0.0) {
+ mTitleBar.setEnabled(false);
+ } else {
+ mTitleBar.setEnabled(true);
+ }
+ mTitleBar.setTranslationY(topControlsOffsetYPix);
+
+ }
+ }
+
public Drawable getFaviconDrawable(Bitmap icon) {
Drawable[] array = new Drawable[3];
array[0] = new PaintDrawable(Color.BLACK);
@@ -944,14 +970,22 @@
@Override
public void onActionModeStarted(ActionMode mode) {
- int fixedTbarHeight = mTitleBar.isFixed() ? mTitleBar.calculateEmbeddedHeight() : 0;
- mFixedTitlebarContainer.setY(fixedTbarHeight);
- setContentViewMarginTop(fixedTbarHeight);
+ boolean hide_title_on_scroll =
+ mActivity.getResources().getBoolean(R.bool.hide_title_on_scroll);
+ if (!hide_title_on_scroll) {
+ int fixedTbarHeight = mTitleBar.isFixed() ? mTitleBar.calculateEmbeddedHeight() : 0;
+ mFixedTitlebarContainer.setY(fixedTbarHeight);
+ setContentViewMarginTop(fixedTbarHeight);
+ }
}
@Override
public void onActionModeFinished(boolean inLoad) {
- mFixedTitlebarContainer.setY(0);
- setContentViewMarginTop(0);
+ boolean hide_title_on_scroll =
+ mActivity.getResources().getBoolean(R.bool.hide_title_on_scroll);
+ if (!hide_title_on_scroll) {
+ mFixedTitlebarContainer.setY(0);
+ setContentViewMarginTop(0);
+ }
}
}
diff --git a/src/com/android/browser/PhoneUi.java b/src/com/android/browser/PhoneUi.java
index 7ae9bf7..898acf5 100644
--- a/src/com/android/browser/PhoneUi.java
+++ b/src/com/android/browser/PhoneUi.java
@@ -25,7 +25,6 @@
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Matrix;
-import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.util.TypedValue;
@@ -58,8 +57,6 @@
boolean mAnimating;
boolean mShowNav = false;
- static final int POST_DELAY = 300;
-
/**
* @param browser
* @param controller
@@ -240,20 +237,15 @@
super.onActionModeStarted(mode);
if (!isEditingUrl()) {
hideTitleBar();
+ } else {
+ mTitleBar.setTranslationY(mActionBarHeight);
}
}
@Override
public void onActionModeFinished(boolean inLoad) {
super.onActionModeFinished(inLoad);
- mTitleBar.animate().translationY(0);
- stopEditingUrl();
- Handler handler = new Handler();
- handler.postDelayed(new Runnable() {
- public void run() {
- mNavigationBar.onStateChanged(StateListener.STATE_NORMAL);
- }}, POST_DELAY);
-
+ mTitleBar.setTranslationY(0);
if (inLoad) {
if (mUseQuickControls) {
mTitleBar.setShowProgressOnly(true);
diff --git a/src/com/android/browser/Tab.java b/src/com/android/browser/Tab.java
index 2b91c96..d0a27b9 100644
--- a/src/com/android/browser/Tab.java
+++ b/src/com/android/browser/Tab.java
@@ -754,6 +754,18 @@
}
@Override
+ public void onOffsetsForFullscreenChanged(
+ float topControlsOffsetYPix, float contentOffsetYPix, float overdrawBottomHeightPix) {
+ boolean hide_title_on_scroll =
+ mContext.getResources().getBoolean(R.bool.hide_title_on_scroll);
+ if (mWebViewController instanceof Controller && hide_title_on_scroll) {
+ Controller controller = (Controller)mWebViewController;
+ mMainView.setTranslationY(contentOffsetYPix);
+ controller.getUi().transalateTitleBar(topControlsOffsetYPix);
+ }
+ }
+
+ @Override
public boolean isTabFullScreen() {
if (mWebViewController instanceof Controller) {
Controller controller = (Controller)mWebViewController;
diff --git a/src/com/android/browser/TitleBar.java b/src/com/android/browser/TitleBar.java
index 7438d26..9963bc4 100644
--- a/src/com/android/browser/TitleBar.java
+++ b/src/com/android/browser/TitleBar.java
@@ -102,7 +102,9 @@
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
- if (mIsFixedTitleBar) {
+ boolean hide_title_on_scroll =
+ getContext().getResources().getBoolean(R.bool.hide_title_on_scroll);
+ if (mIsFixedTitleBar && !hide_title_on_scroll) {
int margin = getMeasuredHeight() - calculateEmbeddedHeight();
if (!isEditingUrl())
mBaseUi.setContentViewMarginTop(-margin);
@@ -114,6 +116,8 @@
private void setFixedTitleBar() {
boolean isFixed = !mUseQuickControls
&& !getContext().getResources().getBoolean(R.bool.hide_title);
+ boolean hide_title_on_scroll =
+ getContext().getResources().getBoolean(R.bool.hide_title_on_scroll);
isFixed |= mAccessibilityManager.isEnabled();
// If getParent() returns null, we are initializing
ViewGroup parent = (ViewGroup)getParent();
@@ -125,7 +129,7 @@
if (parent != null) {
parent.removeView(this);
}
- if (mIsFixedTitleBar) {
+ if (mIsFixedTitleBar && !hide_title_on_scroll) {
mBaseUi.addFixedTitleBar(this);
} else {
mContentView.addView(this, makeLayoutParams());
diff --git a/src/com/android/browser/UI.java b/src/com/android/browser/UI.java
index 342fbdc..eb7d023 100644
--- a/src/com/android/browser/UI.java
+++ b/src/com/android/browser/UI.java
@@ -144,6 +144,8 @@
void setUseQuickControls(boolean enabled);
+ void transalateTitleBar(float topControlsOffsetYPix);
+
public boolean shouldCaptureThumbnails();
boolean blockFocusAnimations();
diff --git a/src/com/android/browser/UrlInputView.java b/src/com/android/browser/UrlInputView.java
index f0037a1..c8f2d40 100644
--- a/src/com/android/browser/UrlInputView.java
+++ b/src/com/android/browser/UrlInputView.java
@@ -71,7 +71,6 @@
static final int POST_DELAY = 100;
static final int URL_MAX_LENGTH = 2048;
- static final int POST_DELAY_FOCUS = 300;
static interface StateListener {
static final int STATE_NORMAL = 0;
@@ -182,11 +181,11 @@
state = StateListener.STATE_NORMAL;
}
final int s = state;
- postDelayed(new Runnable() {
+ post(new Runnable() {
public void run() {
changeState(s);
}
- }, POST_DELAY_FOCUS);
+ });
}
@Override