Merge "Most Visited custom homepage" into honeycomb
diff --git a/res/drawable-mdpi/ic_pie_web.png b/res/drawable-mdpi/ic_pie_web.png
new file mode 100644
index 0000000..86e41ff
--- /dev/null
+++ b/res/drawable-mdpi/ic_pie_web.png
Binary files differ
diff --git a/res/layout/new_folder_layout.xml b/res/layout/new_folder_layout.xml
index 4ce0ade..ecc730f 100644
--- a/res/layout/new_folder_layout.xml
+++ b/res/layout/new_folder_layout.xml
@@ -27,12 +27,29 @@
android:gravity="center_vertical"
android:minHeight="?android:attr/listPreferredItemHeight"
android:src="@drawable/ic_folder_bookmark_widget_holo_dark" />
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@*android:drawable/edit_text_holo_dark"
+ android:gravity="center_vertical"
+ android:paddingBottom="5dip"
+ android:orientation="horizontal">
<EditText
android:id="@+id/folder_namer"
- android:layout_width="match_parent"
+ android:layout_width="0dip"
android:layout_height="wrap_content"
+ android:layout_weight="1"
android:textAppearance="?android:attr/textAppearanceMedium"
+ android:background="@null"
android:gravity="center_vertical"
android:paddingLeft="6dip"
- android:minHeight="?android:attr/listPreferredItemHeight" />
+ />
+ <ImageView
+ android:id="@+id/close"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:gravity="center_vertical"
+ android:src="@drawable/ic_tab_close"
+ />
+ </LinearLayout>
</LinearLayout>
diff --git a/res/values/colors.xml b/res/values/colors.xml
index cb1b754..834bead 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -29,7 +29,7 @@
<color name="bookmarkWidgetDivider">#383847</color>
<color name="bookmarkWidgetItemBackground">#2b2b3c</color>
<color name="bookmarkWidgetFolderBackground">#A0383847</color>
- <color name="qc_slice_normal">#C0A0A0A0</color>
- <color name="qc_slice_active">#C02090FF</color>
+ <color name="qc_slice_normal">#E0A0A0A0</color>
+ <color name="qc_slice_active">#E02090FF</color>
<color name="bookmarkWidgetFaviconBackground">#23ffffff</color>
</resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 9c12dc3..c0aa0d2 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -603,7 +603,7 @@
</string-array>
<string name="pref_default_text_encoding_default" translatable="false">Latin-1</string>
<!-- Title for lab settings [CHAR LIMIT=25] -->
- <string name="pref_lab_title">Lab</string>
+ <string name="pref_lab_title">Labs</string>
<!-- Title for lab quick controls feature [CHAR LIMIT=40] -->
<string name="pref_lab_quick_controls">Quick Controls</string>
<!-- Summary for lab quick controls feature [CHAR LIMIT=80] -->
diff --git a/src/com/android/browser/AddBookmarkPage.java b/src/com/android/browser/AddBookmarkPage.java
index 9d8c73c..5e389ea 100644
--- a/src/com/android/browser/AddBookmarkPage.java
+++ b/src/com/android/browser/AddBookmarkPage.java
@@ -98,6 +98,7 @@
private View mDefaultView;
private View mFolderSelector;
private EditText mFolderNamer;
+ private View mFolderCancel;
private boolean mIsFolderNamerShowing;
private View mFolderNamerHolder;
private View mAddNewFolder;
@@ -243,6 +244,8 @@
} else {
finish();
}
+ } else if (v == mFolderCancel) {
+ completeOrCancelFolderNaming(true);
} else if (v == mAddNewFolder) {
setShowFolderNamer(true);
mFolderNamer.setText(R.string.new_folder);
@@ -286,6 +289,11 @@
public void onNothingSelected(AdapterView<?> parent) {
}
+ /**
+ * Finish naming a folder, and close the IME
+ * @param cancel If true, the new folder is not created. If false, the new
+ * folder is created and the user is taken inside it.
+ */
private void completeOrCancelFolderNaming(boolean cancel) {
if (!cancel && !TextUtils.isEmpty(mFolderNamer.getText())) {
String name = mFolderNamer.getText().toString();
@@ -588,6 +596,8 @@
mFolderNamerHolder = getLayoutInflater().inflate(R.layout.new_folder_layout, null);
mFolderNamer = (EditText) mFolderNamerHolder.findViewById(R.id.folder_namer);
mFolderNamer.setOnEditorActionListener(this);
+ mFolderCancel = mFolderNamerHolder.findViewById(R.id.close);
+ mFolderCancel.setOnClickListener(this);
mAddNewFolder = findViewById(R.id.add_new_folder);
mAddNewFolder.setOnClickListener(this);
diff --git a/src/com/android/browser/PieControl.java b/src/com/android/browser/PieControl.java
index 210e9ea..6326f2e 100644
--- a/src/com/android/browser/PieControl.java
+++ b/src/com/android/browser/PieControl.java
@@ -70,7 +70,7 @@
mPie.addItem(mRefresh);
mBack = makeMenuView(R.drawable.ic_pie_back);
mPie.addItem(mBack);
- mUrl = makeMenuView(R.drawable.ic_pie_search);
+ mUrl = makeMenuView(R.drawable.ic_pie_web);
mPie.addItem(mUrl);
mBookmarks = makeMenuView(R.drawable.ic_pie_bookmarks);
mPie.addItem(mBookmarks);
@@ -133,6 +133,7 @@
mUiController.bookmarksOrHistoryPicker(false);
} else if (mNewTab == v) {
mUiController.openTabToHomePage();
+ mUi.showFakeTitleBarAndEdit();
} else if (mClose == v) {
mUiController.closeCurrentTab();
} else {
diff --git a/src/com/android/browser/TabBar.java b/src/com/android/browser/TabBar.java
index 502512a..ba123d0 100644
--- a/src/com/android/browser/TabBar.java
+++ b/src/com/android/browser/TabBar.java
@@ -16,7 +16,6 @@
package com.android.browser;
-import android.graphics.Matrix;
import com.android.browser.ScrollWebView.ScrollListener;
import android.app.Activity;
@@ -26,6 +25,7 @@
import android.graphics.BitmapShader;
import android.graphics.Canvas;
import android.graphics.Color;
+import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.Shader;
@@ -33,6 +33,7 @@
import android.graphics.drawable.Drawable;
import android.graphics.drawable.LayerDrawable;
import android.graphics.drawable.PaintDrawable;
+import android.util.Log;
import android.view.ContextMenu;
import android.view.Gravity;
import android.view.LayoutInflater;
@@ -140,6 +141,8 @@
void setUseQuickControls(boolean useQuickControls) {
mUseQuickControls = useQuickControls;
+ mNewTab.setVisibility(mUseQuickControls ? View.GONE
+ : View.VISIBLE);
}
int getTabCount() {
@@ -160,7 +163,9 @@
super.onMeasure(hspec, vspec);
int w = getMeasuredWidth();
// adjust for new tab overlap
- w -= mTabOverlap;
+ if (!mUseQuickControls) {
+ w -= mTabOverlap;
+ }
setMeasuredDimension(w, getMeasuredHeight());
}
@@ -188,8 +193,14 @@
if (mNewTab == view) {
mUiController.openTabToHomePage();
} else if (mTabs.getSelectedTab() == view) {
- if (mUseQuickControls) return;
- if (mUi.isFakeTitleBarShowing() && !isLoading()) {
+ if (mUseQuickControls) {
+ if (mUi.isFakeTitleBarShowing() && !isLoading()) {
+ mUi.hideFakeTitleBar();
+ } else {
+ mUi.stopWebViewScrolling();
+ mUi.showFakeTitleBarAndEdit();
+ }
+ } else if (mUi.isFakeTitleBarShowing() && !isLoading()) {
mUi.hideFakeTitleBar();
} else {
showUrlBar();
diff --git a/src/com/android/browser/TitleBarXLarge.java b/src/com/android/browser/TitleBarXLarge.java
index 57cc724..8be4df5 100644
--- a/src/com/android/browser/TitleBarXLarge.java
+++ b/src/com/android/browser/TitleBarXLarge.java
@@ -17,6 +17,7 @@
package com.android.browser;
import com.android.browser.UrlInputView.UrlInputListener;
+import com.android.browser.search.SearchEngine;
import android.app.Activity;
import android.app.SearchManager;
@@ -373,7 +374,11 @@
}
private void setSearchMode(boolean voiceSearchEnabled) {
- mVoiceSearch.setVisibility(voiceSearchEnabled ? View.VISIBLE :
+ SearchEngine searchEngine = BrowserSettings.getInstance()
+ .getSearchEngine();
+ boolean showvoicebutton = voiceSearchEnabled &&
+ (searchEngine != null && searchEngine.supportsVoiceSearch());
+ mVoiceSearch.setVisibility(showvoicebutton ? View.VISIBLE :
View.GONE);
mGoButton.setVisibility(voiceSearchEnabled ? View.GONE :
View.VISIBLE);
diff --git a/src/com/android/browser/XLargeUi.java b/src/com/android/browser/XLargeUi.java
index ac121cc..1e607a7 100644
--- a/src/com/android/browser/XLargeUi.java
+++ b/src/com/android/browser/XLargeUi.java
@@ -276,6 +276,7 @@
@Override
protected void hideFakeTitleBar() {
if (isFakeTitleBarShowing()) {
+ mFakeTitleBar.setUrlMode(false);
mContentView.removeView(mFakeTitleBar);
mTabBar.onHideTitleBar();
}
diff --git a/src/com/android/browser/provider/BrowserProvider2.java b/src/com/android/browser/provider/BrowserProvider2.java
index 919a135..ff00c56 100644
--- a/src/com/android/browser/provider/BrowserProvider2.java
+++ b/src/com/android/browser/provider/BrowserProvider2.java
@@ -402,6 +402,7 @@
@Override
public void onOpen(SQLiteDatabase db) {
+ db.enableWriteAheadLogging();
mSyncHelper.onDatabaseOpened(db);
}
@@ -478,6 +479,9 @@
}
private byte[] readRaw(Resources res, int id) throws IOException {
+ if (id == 0) {
+ return null;
+ }
InputStream is = res.openRawResource(id);
try {
ByteArrayOutputStream bos = new ByteArrayOutputStream();