diff options
author | Vivek Sekhar <vsekhar@codeaurora.org> | 2014-07-14 12:32:05 -0700 |
---|---|---|
committer | Vivek Sekhar <vsekhar@codeaurora.org> | 2014-07-30 12:17:20 -0700 |
commit | 8ee3abb117407cce038ab20a2d1b0b39e50c29c0 (patch) | |
tree | e2c54a747bfc7a47c27d1d1690e7aec9b069e6a7 /src/com | |
parent | 4dfc9854e67028c2b5e110279decd61fc823ab84 (diff) | |
download | android_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.java | 50 | ||||
-rw-r--r-- | src/com/android/browser/PhoneUi.java | 14 | ||||
-rw-r--r-- | src/com/android/browser/Tab.java | 12 | ||||
-rw-r--r-- | src/com/android/browser/TitleBar.java | 8 | ||||
-rw-r--r-- | src/com/android/browser/UI.java | 2 | ||||
-rw-r--r-- | src/com/android/browser/UrlInputView.java | 5 |
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 |