Merge "Remove pre-login on every tab." into honeycomb-mr1
diff --git a/res/values/integers.xml b/res/values/integers.xml
index e936ed8..ad0ed90 100644
--- a/res/values/integers.xml
+++ b/res/values/integers.xml
@@ -24,6 +24,7 @@
<!-- The maximum number of most visited URLs in the history tab -->
<integer name="most_visits_limit">10</integer>
<!-- Animation durations -->
+ <integer name="comboViewFadeInDuration">400</integer>
<!-- fade between tabs duration -->
<integer name="tabFadeDuration">300</integer>
</resources>
diff --git a/src/com/android/browser/BaseUi.java b/src/com/android/browser/BaseUi.java
index 5898680..71346ae 100644
--- a/src/com/android/browser/BaseUi.java
+++ b/src/com/android/browser/BaseUi.java
@@ -17,8 +17,11 @@
package com.android.browser;
import com.android.browser.Tab.LockIcon;
+import com.android.browser.UI.DropdownChangeListener;
-import android.animation.LayoutTransition;
+import android.animation.Animator;
+import android.animation.Animator.AnimatorListener;
+import android.animation.ObjectAnimator;
import android.app.Activity;
import android.content.res.Configuration;
import android.content.res.Resources;
@@ -111,7 +114,6 @@
.inflate(R.layout.custom_screen, null);
mContentView = (FrameLayout) mBrowserFrameLayout.findViewById(
R.id.main_content);
- mContentView.setLayoutTransition(new LayoutTransition());
mErrorConsoleContainer = (LinearLayout) mBrowserFrameLayout
.findViewById(R.id.error_console);
mCustomViewContainer = (FrameLayout) mBrowserFrameLayout
@@ -459,6 +461,11 @@
WebView web = mActiveTab.getWebView();
mActiveTab.putInBackground();
}
+ mComboView.setAlpha(0f);
+ ObjectAnimator anim = ObjectAnimator.ofFloat(mComboView, "alpha", 0f, 1f);
+ Resources res = mActivity.getResources();
+ anim.setDuration(res.getInteger(R.integer.comboViewFadeInDuration));
+ anim.start();
mContentView.addView(mComboView, COVER_SCREEN_PARAMS);
}
diff --git a/src/com/android/browser/XLargeUi.java b/src/com/android/browser/XLargeUi.java
index 7bb9ff0..02533b0 100644
--- a/src/com/android/browser/XLargeUi.java
+++ b/src/com/android/browser/XLargeUi.java
@@ -51,6 +51,7 @@
private TitleBarXLarge mTitleBar;
private Animator mTitleBarAnimator;
+ private boolean mSkipTitleBarAnimations;
private boolean mUseQuickControls;
private PieControl mPieControl;
@@ -224,6 +225,8 @@
@Override
public void setActiveTab(final Tab tab) {
+ cancelTitleBarAnimation(true);
+ mSkipTitleBarAnimations = true;
if (mUseQuickControls) {
if (mActiveTab != null) {
captureTab(mActiveTab);
@@ -231,6 +234,7 @@
}
super.setActiveTab(tab, true);
setActiveTab(tab, true);
+ mSkipTitleBarAnimations = false;
}
@Override
@@ -281,8 +285,11 @@
@Override
public void removeTab(Tab tab) {
+ cancelTitleBarAnimation(true);
+ mSkipTitleBarAnimations = true;
super.removeTab(tab);
mTabBar.onRemoveTab(tab);
+ mSkipTitleBarAnimations = false;
}
protected void onRemoveTabCompleted(Tab tab) {
@@ -321,18 +328,18 @@
if (mUseQuickControls) {
mContentView.addView(mTitleBar);
} else {
- if (mTitleBarAnimator != null) {
- mTitleBarAnimator.cancel();
+ if (!mSkipTitleBarAnimations) {
+ cancelTitleBarAnimation(false);
+ int visibleHeight = getVisibleTitleHeight();
+ float startPos = (-mTitleBar.getEmbeddedHeight() + visibleHeight);
+ if (mTitleBar.getTranslationY() != 0) {
+ startPos = Math.max(startPos, mTitleBar.getTranslationY());
+ }
+ mTitleBarAnimator = ObjectAnimator.ofFloat(mTitleBar,
+ "translationY",
+ startPos, 0);
+ mTitleBarAnimator.start();
}
- int visibleHeight = getVisibleTitleHeight();
- float startPos = (-mTitleBar.getEmbeddedHeight() + visibleHeight);
- if (mTitleBar.getTranslationY() != 0) {
- startPos = Math.max(startPos, mTitleBar.getTranslationY());
- }
- mTitleBarAnimator = ObjectAnimator.ofFloat(mTitleBar,
- "translationY",
- startPos, 0);
- mTitleBarAnimator.start();
setTitleGravity(Gravity.TOP);
}
super.showTitleBar();
@@ -347,20 +354,32 @@
if (mUseQuickControls) {
mContentView.removeView(mTitleBar);
} else {
- if (mTitleBarAnimator != null) {
- mTitleBarAnimator.cancel();
+ if (!mSkipTitleBarAnimations) {
+ cancelTitleBarAnimation(false);
+ int visibleHeight = getVisibleTitleHeight();
+ mTitleBarAnimator = ObjectAnimator.ofFloat(mTitleBar,
+ "translationY", mTitleBar.getTranslationY(),
+ (-mTitleBar.getEmbeddedHeight() + visibleHeight));
+ mTitleBarAnimator.addListener(mHideTileBarAnimatorListener);
+ mTitleBarAnimator.start();
+ } else {
+ setTitleGravity(Gravity.NO_GRAVITY);
}
- int visibleHeight = getVisibleTitleHeight();
- mTitleBarAnimator = ObjectAnimator.ofFloat(mTitleBar,
- "translationY", mTitleBar.getTranslationY(),
- (-mTitleBar.getEmbeddedHeight() + visibleHeight));
- mTitleBarAnimator.addListener(mHideTileBarAnimatorListener);
- mTitleBarAnimator.start();
}
super.hideTitleBar();
}
}
+ private void cancelTitleBarAnimation(boolean reset) {
+ if (mTitleBarAnimator != null) {
+ mTitleBarAnimator.cancel();
+ mTitleBarAnimator = null;
+ }
+ if (reset) {
+ mTitleBar.setTranslationY(0);
+ }
+ }
+
private int getVisibleTitleHeight() {
WebView webview = mActiveTab != null ? mActiveTab.getWebView() : null;
return webview != null ? webview.getVisibleTitleHeight() : 0;
@@ -382,8 +401,8 @@
public void onAnimationEnd(Animator animation) {
if (!mWasCanceled) {
mTitleBar.setTranslationY(0);
- setTitleGravity(Gravity.NO_GRAVITY);
}
+ setTitleGravity(Gravity.NO_GRAVITY);
}
@Override