summaryrefslogtreecommitdiffstats
path: root/src/com
diff options
context:
space:
mode:
authorVivek Sekhar <vsekhar@codeaurora.org>2014-07-14 12:32:05 -0700
committerVivek Sekhar <vsekhar@codeaurora.org>2014-07-30 12:17:20 -0700
commit8ee3abb117407cce038ab20a2d1b0b39e50c29c0 (patch)
treee2c54a747bfc7a47c27d1d1690e7aec9b069e6a7 /src/com
parent4dfc9854e67028c2b5e110279decd61fc823ab84 (diff)
downloadandroid_packages_apps_Gello-8ee3abb117407cce038ab20a2d1b0b39e50c29c0.tar.gz
android_packages_apps_Gello-8ee3abb117407cce038ab20a2d1b0b39e50c29c0.tar.bz2
android_packages_apps_Gello-8ee3abb117407cce038ab20a2d1b0b39e50c29c0.zip
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
Diffstat (limited to 'src/com')
-rw-r--r--src/com/android/browser/BaseUi.java50
-rw-r--r--src/com/android/browser/PhoneUi.java14
-rw-r--r--src/com/android/browser/Tab.java12
-rw-r--r--src/com/android/browser/TitleBar.java8
-rw-r--r--src/com/android/browser/UI.java2
-rw-r--r--src/com/android/browser/UrlInputView.java5
6 files changed, 67 insertions, 24 deletions
diff --git a/src/com/android/browser/BaseUi.java b/src/com/android/browser/BaseUi.java
index ddc5ad24..4648de7e 100644
--- a/src/com/android/browser/BaseUi.java
+++ b/src/com/android/browser/BaseUi.java
@@ -830,17 +830,43 @@ public abstract class BaseUi implements UI {
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 @@ public abstract class BaseUi implements UI {
@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 7ae9bf7e..898acf5d 100644
--- a/src/com/android/browser/PhoneUi.java
+++ b/src/com/android/browser/PhoneUi.java
@@ -25,7 +25,6 @@ import android.content.Context;
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 @@ public class PhoneUi extends BaseUi {
boolean mAnimating;
boolean mShowNav = false;
- static final int POST_DELAY = 300;
-
/**
* @param browser
* @param controller
@@ -240,20 +237,15 @@ public class PhoneUi extends BaseUi {
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 2b91c960..d0a27b91 100644
--- a/src/com/android/browser/Tab.java
+++ b/src/com/android/browser/Tab.java
@@ -754,6 +754,18 @@ class Tab implements PictureListener {
}
@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 7438d26b..9963bc4d 100644
--- a/src/com/android/browser/TitleBar.java
+++ b/src/com/android/browser/TitleBar.java
@@ -102,7 +102,9 @@ public class TitleBar extends RelativeLayout {
@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 @@ public class TitleBar extends RelativeLayout {
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 @@ public class TitleBar extends RelativeLayout {
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 342fbdca..eb7d023d 100644
--- a/src/com/android/browser/UI.java
+++ b/src/com/android/browser/UI.java
@@ -144,6 +144,8 @@ public interface UI {
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 f0037a12..c8f2d401 100644
--- a/src/com/android/browser/UrlInputView.java
+++ b/src/com/android/browser/UrlInputView.java
@@ -71,7 +71,6 @@ public class UrlInputView extends AutoCompleteTextView
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 @@ public class UrlInputView extends AutoCompleteTextView
state = StateListener.STATE_NORMAL;
}
final int s = state;
- postDelayed(new Runnable() {
+ post(new Runnable() {
public void run() {
changeState(s);
}
- }, POST_DELAY_FOCUS);
+ });
}
@Override