Merge "Attempt to automatically restore after crash"
diff --git a/res/values/integers.xml b/res/values/integers.xml
index 5a8c15f..fe92a79 100644
--- a/res/values/integers.xml
+++ b/res/values/integers.xml
@@ -29,4 +29,6 @@
<integer name="tabFadeDuration">300</integer>
<!-- The maximum number of columns in the bookmark grid view -->
<integer name="max_bookmark_columns">5</integer>
+ <!-- The duration of the titlebar animation in millisecs -->
+ <integer name="titlebar_animation_duration">200</integer>
</resources>
diff --git a/src/com/android/browser/BaseUi.java b/src/com/android/browser/BaseUi.java
index ad45958..bcb18f1 100644
--- a/src/com/android/browser/BaseUi.java
+++ b/src/com/android/browser/BaseUi.java
@@ -872,7 +872,7 @@
} else if (visibleTitleHeight == getTitleBar().getEmbeddedHeight()
&& mHandler.hasMessages(MSG_HIDE_TITLEBAR)) {
mHandler.removeMessages(MSG_HIDE_TITLEBAR);
- hideTitleBar();
+ suggestHideTitleBar();
}
} else if (scrollY > mLastScrollY) {
mLastScrollY = scrollY;
diff --git a/src/com/android/browser/Tab.java b/src/com/android/browser/Tab.java
index bc5868f..c78b562 100644
--- a/src/com/android/browser/Tab.java
+++ b/src/com/android/browser/Tab.java
@@ -799,6 +799,22 @@
handler.ignore();
return;
}
+ int colon = host_and_port.lastIndexOf(':');
+ String host;
+ int port;
+ if (colon == -1) {
+ host = host_and_port;
+ port = -1;
+ } else {
+ String portString = host_and_port.substring(colon + 1);
+ try {
+ port = Integer.parseInt(portString);
+ host = host_and_port.substring(0, colon);
+ } catch (NumberFormatException e) {
+ host = host_and_port;
+ port = -1;
+ }
+ }
KeyChain.choosePrivateKeyAlias(mActivity, new KeyChainAliasCallback() {
@Override public void alias(String alias) {
if (alias == null) {
@@ -807,7 +823,7 @@
}
new KeyChainLookup(mActivity, handler, alias).execute();
}
- }, null, null, null, -1);
+ }, null, null, host, port, null);
}
/**
diff --git a/src/com/android/browser/TitleBarBase.java b/src/com/android/browser/TitleBarBase.java
index cf3a6ef..c7fb9c6 100644
--- a/src/com/android/browser/TitleBarBase.java
+++ b/src/com/android/browser/TitleBarBase.java
@@ -16,16 +16,13 @@
package com.android.browser;
-import com.android.browser.UI.DropdownChangeListener;
-import com.android.browser.UrlInputView.UrlInputListener;
-import com.android.browser.autocomplete.SuggestedTextController.TextChangeWatcher;
-
import android.animation.Animator;
import android.animation.Animator.AnimatorListener;
import android.animation.ObjectAnimator;
import android.app.SearchManager;
import android.content.Context;
import android.content.Intent;
+import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
@@ -44,6 +41,7 @@
import android.view.animation.Animation;
import android.view.animation.Animation.AnimationListener;
import android.view.animation.AnimationUtils;
+import android.view.animation.DecelerateInterpolator;
import android.webkit.WebView;
import android.widget.AbsoluteLayout;
import android.widget.ArrayAdapter;
@@ -57,6 +55,10 @@
import android.widget.Spinner;
import android.widget.TextView;
+import com.android.browser.UI.DropdownChangeListener;
+import com.android.browser.UrlInputView.UrlInputListener;
+import com.android.browser.autocomplete.SuggestedTextController.TextChangeWatcher;
+
import java.util.List;
/**
@@ -68,6 +70,7 @@
OnMenuItemClickListener {
protected static final int PROGRESS_MAX = 100;
+ private static final float ANIM_TITLEBAR_DECELERATE = 2.5f;
// These need to be set by the subclass.
protected ImageView mFavicon;
@@ -149,6 +152,14 @@
mSkipTitleBarAnimations = skip;
}
+ void setupTitleBarAnimator(Animator animator) {
+ Resources res = mContext.getResources();
+ int duration = res.getInteger(R.integer.titlebar_animation_duration);
+ animator.setInterpolator(new DecelerateInterpolator(
+ ANIM_TITLEBAR_DECELERATE));
+ animator.setDuration(duration);
+ }
+
void show() {
if (mUseQuickControls) {
mParent.addView(this);
@@ -163,6 +174,7 @@
mTitleBarAnimator = ObjectAnimator.ofFloat(this,
"translationY",
startPos, 0);
+ setupTitleBarAnimator(mTitleBarAnimator);
mTitleBarAnimator.start();
}
mBaseUi.setTitleGravity(Gravity.TOP);
@@ -181,6 +193,7 @@
"translationY", getTranslationY(),
(-getEmbeddedHeight() + visibleHeight));
mTitleBarAnimator.addListener(mHideTileBarAnimatorListener);
+ setupTitleBarAnimator(mTitleBarAnimator);
mTitleBarAnimator.start();
} else {
mBaseUi.setTitleGravity(Gravity.NO_GRAVITY);