merge in honeycomb-release history after reset to honeycomb
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 7333f3f..e79ea58 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -906,6 +906,9 @@
<!-- Access point for RLZ tracking. -->
<string name="rlz_access_point">Y1</string>
+ <!-- Title for a dialog asking the user which account to sync their bookmarks to [CHAR LIMIT=32] -->
+ <string name="account_chooser_dialog_title" msgid="4833571985009544332">Choose account</string>
+
<!-- Title for a dialog asking the user what they want to do with their bookmarks when adding a sync account [CHAR-LIMIT=32] -->
<string name="import_bookmarks_dialog_title">Sync with Google account</string>
diff --git a/src/com/android/browser/BrowserBookmarksPage.java b/src/com/android/browser/BrowserBookmarksPage.java
index f20583a..7475237 100644
--- a/src/com/android/browser/BrowserBookmarksPage.java
+++ b/src/com/android/browser/BrowserBookmarksPage.java
@@ -394,6 +394,8 @@
mCrumbs.setController(null);
mCrumbs = null;
getLoaderManager().destroyLoader(LOADER_BOOKMARKS);
+ mAdapter = null;
+ CombinedBookmarkHistoryView.getIconListenerSet().removeListener(this);
}
@Override
diff --git a/src/com/android/browser/Controller.java b/src/com/android/browser/Controller.java
index 3131ba7..472201b 100644
--- a/src/com/android/browser/Controller.java
+++ b/src/com/android/browser/Controller.java
@@ -2125,9 +2125,10 @@
if (mTabControl.canCreateNewTab()) {
Tab currentTab = mTabControl.getCurrentTab();
Tab tab = mTabControl.createNewTab(false, null,
- "browser:incognito", true);
+ null, true);
addTab(tab);
setActiveTab(tab);
+ loadUrlDataIn(tab, new UrlData("browser:incognito"));
return tab;
} else {
mUi.showMaxTabsWarning();
diff --git a/src/com/android/browser/TabScrollView.java b/src/com/android/browser/TabScrollView.java
index 09dddee..d0648b7 100644
--- a/src/com/android/browser/TabScrollView.java
+++ b/src/com/android/browser/TabScrollView.java
@@ -28,7 +28,6 @@
*/
public class TabScrollView extends HorizontalScrollView {
- private Context mContext;
private LinearLayout mContentView;
private int mSelected;
private int mAnimationDuration;
@@ -62,13 +61,12 @@
}
private void init(Context ctx) {
- mContext = ctx;
mAnimationDuration = ctx.getResources().getInteger(
R.integer.tab_animation_duration);
mTabOverlap = (int) ctx.getResources().getDimension(R.dimen.tab_overlap);
setHorizontalScrollBarEnabled(false);
setOverScrollMode(OVER_SCROLL_NEVER);
- mContentView = new TabLayout(mContext);
+ mContentView = new TabLayout(ctx);
mContentView.setOrientation(LinearLayout.HORIZONTAL);
mContentView.setLayoutParams(
new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT));
@@ -189,6 +187,21 @@
return getScrollX();
}
+ @Override
+ protected void onScrollChanged(int l, int t, int oldl, int oldt) {
+ super.onScrollChanged(l, t, oldl, oldt);
+
+ // TabViews base their drawing based on their absolute position within the
+ // window. When hardware accelerated, we need to recreate their display list
+ // when they scroll
+ if (isHardwareAccelerated()) {
+ int count = mContentView.getChildCount();
+ for (int i = 0; i < count; i++) {
+ mContentView.getChildAt(i).invalidate();
+ }
+ }
+ }
+
class TabLayout extends LinearLayout {
public TabLayout(Context context) {
diff --git a/src/com/android/browser/TitleBarXLarge.java b/src/com/android/browser/TitleBarXLarge.java
index 8dc8663..2fd9d3d 100644
--- a/src/com/android/browser/TitleBarXLarge.java
+++ b/src/com/android/browser/TitleBarXLarge.java
@@ -302,7 +302,6 @@
i.putExtra(SearchManager.APP_DATA, appData);
}
mUiController.handleNewIntent(i);
- setUrlMode(false);
setDisplayTitle(text);
}
@@ -313,7 +312,6 @@
currentTab.getWebView().requestFocus();
}
mUi.hideFakeTitleBar();
- setUrlMode(false);
// if top != null current must be set
if ((currentTab != null) && !mInVoiceMode) {
setDisplayTitle(currentTab.getUrl());
@@ -345,7 +343,9 @@
mWebIcon.setImageResource(R.drawable.ic_search_holo_dark);
updateSearchMode();
} else {
- mUrlInput.clearFocus();
+ if (mUrlInput.hasFocus()) {
+ mUrlInput.clearFocus();
+ }
mGoButton.setVisibility(View.GONE);
mVoiceSearch.setVisibility(View.GONE);
mStar.setVisibility(View.VISIBLE);
diff --git a/src/com/android/browser/UrlUtils.java b/src/com/android/browser/UrlUtils.java
index 0a7e90c..d6278ca 100644
--- a/src/com/android/browser/UrlUtils.java
+++ b/src/com/android/browser/UrlUtils.java
@@ -152,7 +152,8 @@
if (inUrl == null) {
return "";
}
- if (inUrl.startsWith(HomeProvider.MOST_VISITED)) {
+ if (inUrl.startsWith("content:")
+ || inUrl.startsWith("browser:")) {
return "";
}
return inUrl;
diff --git a/src/com/android/browser/preferences/GeneralPreferencesFragment.java b/src/com/android/browser/preferences/GeneralPreferencesFragment.java
index 2735166..b6228dc 100644
--- a/src/com/android/browser/preferences/GeneralPreferencesFragment.java
+++ b/src/com/android/browser/preferences/GeneralPreferencesFragment.java
@@ -224,7 +224,7 @@
mDialog = new AlertDialog.Builder(getActivity())
.setIcon(android.R.drawable.ic_dialog_alert)
- .setTitle("Choose account") // STOPSHIP localize
+ .setTitle(R.string.account_chooser_dialog_title)
.setSingleChoiceItems(accountNames, curAccountOffset, this)
.create();
return mDialog;