auto import from //branches/cupcake_rel/...@141571
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 110bda4..c67cc97 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -28,9 +28,6 @@
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK"/>
- <!-- Needed by the ZoomRingController to set the bit saying we've already shown the
- tutorial toast. -->
- <uses-permission android:name="android.permission.WRITE_SETTINGS"/>
<uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"/>
<uses-permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"/>
@@ -143,7 +140,8 @@
<activity-alias android:name="ShortcutBookmarksPage"
android:targetActivity="BrowserBookmarksPage"
- android:label="@string/shortcut_bookmark">
+ android:label="@string/shortcut_bookmark"
+ android:icon="@drawable/ic_launcher_shortcut_browser_bookmark">
<intent-filter>
<action android:name="android.intent.action.CREATE_SHORTCUT" />
diff --git a/res/drawable/ic_launcher_browser.png b/res/drawable/ic_launcher_browser.png
index f58b84a..47c79d1 100755
--- a/res/drawable/ic_launcher_browser.png
+++ b/res/drawable/ic_launcher_browser.png
Binary files differ
diff --git a/res/drawable/ic_launcher_browser_favorite.png b/res/drawable/ic_launcher_browser_favorite.png
new file mode 100644
index 0000000..f5bfc17
--- /dev/null
+++ b/res/drawable/ic_launcher_browser_favorite.png
Binary files differ
diff --git a/res/drawable/ic_launcher_shortcut_browser_bookmark.png b/res/drawable/ic_launcher_shortcut_browser_bookmark.png
new file mode 100644
index 0000000..e144727
--- /dev/null
+++ b/res/drawable/ic_launcher_shortcut_browser_bookmark.png
Binary files differ
diff --git a/res/drawable/ic_tab_browser_bookmark_selected.png b/res/drawable/ic_tab_browser_bookmark_selected.png
index 184885e..6f54305 100644
--- a/res/drawable/ic_tab_browser_bookmark_selected.png
+++ b/res/drawable/ic_tab_browser_bookmark_selected.png
Binary files differ
diff --git a/res/drawable/ic_tab_browser_bookmark_unselected.png b/res/drawable/ic_tab_browser_bookmark_unselected.png
index 25ddf18..5037860 100644
--- a/res/drawable/ic_tab_browser_bookmark_unselected.png
+++ b/res/drawable/ic_tab_browser_bookmark_unselected.png
Binary files differ
diff --git a/res/drawable/ic_tab_browser_history_selected.png b/res/drawable/ic_tab_browser_history_selected.png
index b39c21a..d9355f6 100644
--- a/res/drawable/ic_tab_browser_history_selected.png
+++ b/res/drawable/ic_tab_browser_history_selected.png
Binary files differ
diff --git a/res/drawable/ic_tab_browser_history_unselected.png b/res/drawable/ic_tab_browser_history_unselected.png
index c0847d0..c5c794a 100644
--- a/res/drawable/ic_tab_browser_history_unselected.png
+++ b/res/drawable/ic_tab_browser_history_unselected.png
Binary files differ
diff --git a/res/drawable/ic_tab_browser_visited_selected.png b/res/drawable/ic_tab_browser_visited_selected.png
index f2cc55c..9d79107 100644
--- a/res/drawable/ic_tab_browser_visited_selected.png
+++ b/res/drawable/ic_tab_browser_visited_selected.png
Binary files differ
diff --git a/res/drawable/ic_tab_browser_visited_unselected.png b/res/drawable/ic_tab_browser_visited_unselected.png
index b808fbd..55d76e9 100644
--- a/res/drawable/ic_tab_browser_visited_unselected.png
+++ b/res/drawable/ic_tab_browser_visited_unselected.png
Binary files differ
diff --git a/res/layout/browser_find.xml b/res/layout/browser_find.xml
index 000799f..7a77152 100644
--- a/res/layout/browser_find.xml
+++ b/res/layout/browser_find.xml
@@ -62,16 +62,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
- android:text="@string/zero"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:textColor="?android:attr/textColorSecondaryInverse"
- />
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginRight="3dip"
- android:layout_gravity="right"
- android:text="@string/matches_found"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="?android:attr/textColorSecondaryInverse"
/>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index ee576d6..11acc71 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -27,8 +27,6 @@
<string name="action">"Přihlásit se"</string>
<string name="cancel">"Zrušit"</string>
<string name="ok">"OK"</string>
- <string name="matches_found">" shod"</string>
- <string name="zero">"Ne"</string>
<string name="page_info">"Informace o stránce"</string>
<string name="page_info_view">"Zobrazit informace o stránce"</string>
<string name="page_info_address">"Adresa:"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 89b46b9..0a06679 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -27,8 +27,6 @@
<string name="action">"Anmelden"</string>
<string name="cancel">"Abbrechen"</string>
<string name="ok">"OK"</string>
- <string name="matches_found">" Treffer"</string>
- <string name="zero">"Nein"</string>
<string name="page_info">"Seiten-Info"</string>
<string name="page_info_view">"Seiten-Info anzeigen"</string>
<string name="page_info_address">"Adresse:"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 321faf5..bed9bd3 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -27,8 +27,6 @@
<string name="action">"Acceder"</string>
<string name="cancel">"Cancelar"</string>
<string name="ok">"Aceptar"</string>
- <string name="matches_found">" coincidencias"</string>
- <string name="zero">"No"</string>
<string name="page_info">"Información de página"</string>
<string name="page_info_view">"Ver información de página"</string>
<string name="page_info_address">"Dirección:"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 375583e..c97a4f6 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -27,8 +27,6 @@
<string name="action">"Se connecter"</string>
<string name="cancel">"Annuler"</string>
<string name="ok">"OK"</string>
- <string name="matches_found">" résultat(s) correspondant(s )"</string>
- <string name="zero">"Non"</string>
<string name="page_info">"Infos sur la page"</string>
<string name="page_info_view">"Afficher les infos sur la page"</string>
<string name="page_info_address">"Adresse :"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index c44ed3e..500d685 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -27,8 +27,6 @@
<string name="action">"Accedi"</string>
<string name="cancel">"Annulla"</string>
<string name="ok">"OK"</string>
- <string name="matches_found">" corrispondenze"</string>
- <string name="zero">"No"</string>
<string name="page_info">"Info pagina"</string>
<string name="page_info_view">"Visualizza info pagina"</string>
<string name="page_info_address">"Indirizzo:"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index f14953b..642f201 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -27,8 +27,10 @@
<string name="action">"ログイン"</string>
<string name="cancel">"キャンセル"</string>
<string name="ok">"OK"</string>
- <string name="matches_found">" 件一致"</string>
- <string name="zero">"いいえ"</string>
+ <!-- no translation found for matches_found:zero (6242659159545399963) -->
+ <!-- no translation found for matches_found:one (4352019729062956802) -->
+ <!-- no translation found for matches_found:few (5544267486978946555) -->
+ <!-- no translation found for matches_found:other (6616125067364315405) -->
<string name="page_info">"ページ情報"</string>
<string name="page_info_view">"ページ情報を表示"</string>
<string name="page_info_address">"アドレス:"</string>
@@ -73,13 +75,13 @@
<string name="bookmark_url_not_valid">"無効なURLです。"</string>
<string name="delete_bookmark">"削除"</string>
<string name="bookmark_page">"最後に表示したページをブックマークする"</string>
- <string name="current_page">"ブックマークするページ "</string>
+ <string name="current_page">"URL "</string>
<string name="delete_bookmark_warning">"ブックマーク「<xliff:g id="BOOKMARK">%s</xliff:g>」を削除します。"</string>
<string name="open_in_new_window">"新しいウィンドウで開く"</string>
<string name="new_window">"新規ウィンドウ"</string>
<string name="goto_dot">"移動"</string>
- <string name="find_dot">"このページの検索"</string>
- <string name="select_dot">"テキストを選択"</string>
+ <string name="find_dot">"ページ内検索"</string>
+ <string name="select_dot">"テキストを選択してコピー"</string>
<string name="view_tabs">"ウィンドウリスト"</string>
<string name="view_tabs_condensed">"ウィンドウ"</string>
<string name="tab_picker_title">"現在のウィンドウ"</string>
@@ -111,41 +113,41 @@
<string name="browser_bookmarks_page_bookmarks_text">"ブックマーク"</string>
<string name="menu_preferences">"設定"</string>
<string name="pref_content_title">"ページコンテンツ設定"</string>
- <string name="pref_content_load_images">"画像のロード"</string>
- <string name="pref_content_load_images_summary">"ウェブページに画像を表示"</string>
+ <string name="pref_content_load_images">"画像の読み込み"</string>
+ <string name="pref_content_load_images_summary">"ウェブページに画像を表示する"</string>
<string name="pref_content_block_popups">"ポップアップウィンドウをブロック"</string>
<string name="pref_content_javascript">"JavaScriptを有効にする"</string>
<string name="pref_content_open_in_background">"バックグラウンドで開く"</string>
<string name="pref_content_open_in_background_summary">"新しいウィンドウを現在のウィンドウの後ろに開きます"</string>
<string name="pref_content_homepage">"ホームページ設定"</string>
<string name="pref_content_autofit">"ページの自動調整"</string>
- <string name="pref_content_autofit_summary">"ウェブページの大きさを画面に合わせて表示します"</string>
+ <string name="pref_content_autofit_summary">"画面に合わせてウェブページの表示やサイズを自動調整する"</string>
<string name="pref_privacy_title">"プライバシー設定"</string>
<string name="pref_privacy_clear_cache">"キャッシュを消去"</string>
- <string name="pref_privacy_clear_cache_summary">"キャッシュされたページコンテンツをすべて削除します"</string>
+ <string name="pref_privacy_clear_cache_summary">"キャッシュしたコンテンツをすべて削除する"</string>
<string name="pref_privacy_clear_cache_dlg">"キャッシュを消去します。"</string>
- <string name="pref_privacy_clear_cookies">"Cookieデータを全消去"</string>
- <string name="pref_privacy_clear_cookies_summary">"ブラウザのCookieをすべて消去します"</string>
+ <string name="pref_privacy_clear_cookies">"Cookieをすべて消去"</string>
+ <string name="pref_privacy_clear_cookies_summary">"保存されているCookieをすべて消去する"</string>
<string name="pref_privacy_clear_cookies_dlg">"Cookieをすべて消去します。"</string>
<string name="pref_privacy_clear_history">"履歴消去"</string>
<string name="pref_privacy_clear_history_summary">"ブラウザの閲覧履歴を消去します"</string>
<string name="pref_privacy_clear_history_dlg">"ブラウザの閲覧履歴を消去します。"</string>
- <string name="pref_privacy_clear_form_data">"フォームデータをクリア"</string>
+ <string name="pref_privacy_clear_form_data">"フォームデータを消去"</string>
<string name="pref_privacy_clear_form_data_summary">"保存されているフォームデータをすべて消去します"</string>
<string name="pref_privacy_clear_form_data_dlg">"保存されているフォームデータをすべて消去します。"</string>
<string name="pref_privacy_clear_passwords">"パスワードを消去"</string>
- <string name="pref_privacy_clear_passwords_summary">"保存されているパスワードをすべて消去します"</string>
+ <string name="pref_privacy_clear_passwords_summary">"保存されているパスワードをすべて消去する"</string>
<string name="pref_privacy_clear_passwords_dlg">"保存されているパスワードをすべて消去します。"</string>
<string name="pref_security_title">"セキュリティ設定"</string>
<string name="pref_security_remember_passwords">"パスワードを保存"</string>
- <string name="pref_security_remember_passwords_summary">"ウェブサイトのユーザー名とパスワードを保存します"</string>
+ <string name="pref_security_remember_passwords_summary">"サイトのユーザー名とパスワードを保存する"</string>
<string name="pref_security_save_form_data">"フォームデータを保存"</string>
- <string name="pref_security_save_form_data_summary">"フォームに入力したデータを保存して後で再利用します"</string>
- <string name="pref_security_show_security_warning">"セキュリティ警告を表示"</string>
- <string name="pref_security_show_security_warning_summary">"サイトの安全性に問題がある場合に警告を表示"</string>
- <string name="pref_security_accept_cookies">"Cookieの受け入れ"</string>
- <string name="pref_security_accept_cookies_summary">"サイトによるCookieデータの保存と読み取りを許可します"</string>
- <string name="pref_text_size">"テキストサイズを設定"</string>
+ <string name="pref_security_save_form_data_summary">"フォームに入力したデータを保存して後で呼び出せるようにする"</string>
+ <string name="pref_security_show_security_warning">"セキュリティ警告"</string>
+ <string name="pref_security_show_security_warning_summary">"サイトの安全性に問題がある場合に警告を表示する"</string>
+ <string name="pref_security_accept_cookies">"Cookieを受け入れる"</string>
+ <string name="pref_security_accept_cookies_summary">"サイトによるCookieの保存と読み取りを許可する"</string>
+ <string name="pref_text_size">"文字サイズを選択"</string>
<string-array name="pref_text_size_choices">
<item>"最小"</item>
<item>"小"</item>
@@ -154,19 +156,19 @@
<item>"最大"</item>
</string-array>
<string name="pref_text_size_dialogtitle">"文字サイズ"</string>
- <string name="pref_extras_title">"詳細な設定"</string>
+ <string name="pref_extras_title">"詳細設定"</string>
<string name="pref_extras_gears_enable">"Gearsを有効にする"</string>
- <string name="pref_extras_gears_enable_summary">"ブラウザの機能を拡張するアプリケーションです"</string>
- <string name="pref_extras_gears_settings">"Gears設定"</string>
+ <string name="pref_extras_gears_enable_summary">"ブラウザの機能拡張を許可する"</string>
+ <string name="pref_extras_gears_settings">"Gearsの設定"</string>
<string name="pref_plugin_installed">"プラグインリスト"</string>
<string name="pref_plugin_installed_empty_list">"プラグインはインストールされていません。"</string>
<string name="pref_extras_gears_settings_summary">"ブラウザの機能を拡張するアプリケーション"</string>
<string name="pref_extras_reset_default">"初期設定にリセット"</string>
- <string name="pref_extras_reset_default_summary">"ブラウザデータを消去して初期設定に戻します"</string>
+ <string name="pref_extras_reset_default_summary">"ブラウザデータをすべて消去して出荷時の初期設定に戻す"</string>
<string name="pref_extras_reset_default_dlg">"ブラウザデータをすべて消去して初期設定に戻します。"</string>
<string name="pref_extras_reset_default_dlg_title">"初期設定にリセット"</string>
<string name="pref_development_title">"デバッグ"</string>
- <string name="pref_default_text_encoding">"テキストエンコードを設定"</string>
+ <string name="pref_default_text_encoding">"エンコードを選択"</string>
<string-array name="pref_default_text_encoding_choices">
<item>"Latin-1 (ISO-8859-1)"</item>
<item>"Unicode (UTF-8)"</item>
@@ -187,9 +189,9 @@
<string name="clear_history">"履歴消去"</string>
<string name="browser_history">"最近閲覧したページ"</string>
<string name="empty_history">"ブラウザ履歴はありません。"</string>
- <string name="add_new_bookmark">"ブックマークを追加..."</string>
+ <string name="add_new_bookmark">"現在のページをブックマーク"</string>
<string name="no_database">"データベースがありません。"</string>
- <string name="search_hint">"ウェブアドレスを入力してください"</string>
+ <string name="search_hint">"ウェブアドレスを入力"</string>
<string name="search_button_text">"移動"</string>
<string name="attention">"注意"</string>
<string name="popup_window_attempt">"このサイトはポップアップウィンドウを開こうとしています。"</string>
@@ -255,7 +257,7 @@
<skip />
<!-- no translation found for image_message (5450245866521896891) -->
<skip />
- <string name="settings_title">"Gears設定"</string>
+ <string name="settings_title">"Gearsの設定"</string>
<string name="privacy_policy">"サイトのプライバシーポリシーを読んで、現在地の情報がどのように使用されるのか確認してください。"</string>
<!-- no translation found for settings_storage_title (7089119630457156408) -->
<skip />
@@ -271,8 +273,7 @@
<skip />
<!-- no translation found for settings_remove_site (1822247070226589958) -->
<skip />
- <!-- no translation found for settings_empty (2008952224378583146) -->
- <skip />
+ <string name="settings_empty">"設定されている権限はありません"</string>
<!-- no translation found for settings_confirmation_remove_title (5360857296753219635) -->
<skip />
<!-- no translation found for settings_confirmation_remove (585560170733446898) -->
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index bba2bf8..00121b6 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -27,8 +27,6 @@
<string name="action">"로그인"</string>
<string name="cancel">"취소"</string>
<string name="ok">"확인"</string>
- <string name="matches_found">" 개 일치"</string>
- <string name="zero">"없음"</string>
<string name="page_info">"페이지 정보"</string>
<string name="page_info_view">"페이지 정보 보기"</string>
<string name="page_info_address">"주소:"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 4fb4d4d..c06993c 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -27,8 +27,6 @@
<string name="action">"Logg inn"</string>
<string name="cancel">"Avbryt"</string>
<string name="ok">"OK"</string>
- <string name="matches_found">" treff"</string>
- <string name="zero">"Ingen"</string>
<string name="page_info">"Sideinformasjon"</string>
<string name="page_info_view">"Vis sideinformasjon"</string>
<string name="page_info_address">"Adresse:"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 7fccab8..2b1aefb 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -27,8 +27,6 @@
<string name="action">"Aanmelden"</string>
<string name="cancel">"Annuleren"</string>
<string name="ok">"OK"</string>
- <string name="matches_found">" overeenkomsten"</string>
- <string name="zero">"Nee"</string>
<string name="page_info">"Pagina-informatie"</string>
<string name="page_info_view">"Pagina-informatie weergeven"</string>
<string name="page_info_address">"Adres:"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 9d1130f..ec3b746 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -27,8 +27,6 @@
<string name="action">"Zaloguj się"</string>
<string name="cancel">"Anuluj"</string>
<string name="ok">"OK"</string>
- <string name="matches_found">" dopasowania"</string>
- <string name="zero">"Nie"</string>
<string name="page_info">"Informacje o stronie"</string>
<string name="page_info_view">"Informacje o stronie"</string>
<string name="page_info_address">"Adres:"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 32af560..ddba702 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -27,8 +27,6 @@
<string name="action">"Войти"</string>
<string name="cancel">"Отмена"</string>
<string name="ok">"ОК"</string>
- <string name="matches_found">" совпадений(я)"</string>
- <string name="zero">"Нет"</string>
<string name="page_info">"Сведения о странице"</string>
<string name="page_info_view">"Просмотреть сведения о странице"</string>
<string name="page_info_address">"Адрес:"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 2ee80c2..be48e36 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -27,8 +27,6 @@
<string name="action">"登录"</string>
<string name="cancel">"取消"</string>
<string name="ok">"确定"</string>
- <string name="matches_found">" 匹配项"</string>
- <string name="zero">"否"</string>
<string name="page_info">"页面信息"</string>
<string name="page_info_view">"查看页面信息"</string>
<string name="page_info_address">"地址:"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 9b6c675..96658db 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -27,8 +27,6 @@
<string name="action">"登入"</string>
<string name="cancel">"取消"</string>
<string name="ok">"確定"</string>
- <string name="matches_found">" 個符合項目"</string>
- <string name="zero">"否"</string>
<string name="page_info">"頁面資訊"</string>
<string name="page_info_view">"檢視頁面資訊"</string>
<string name="page_info_address">"位址:"</string>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 0dcf1f2..98142ac 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -44,13 +44,18 @@
<!-- Label for a confirm button. Used in multiple contexts. -->
<string name="ok">OK</string>
- <!--The find dialog -->
- <!-- Displayed on the Find Dialog, stating "X matches" where X is the
- number of matches found in the current page -->
- <string name="matches_found">\u0020matches</string>
- <!-- Displayed on the Find Dialog, stating that there are "zero
- matches" -->
- <string name="zero">No</string>
+ <!-- Displayed on the Find dialog to display the number of matches
+ found in the current page. -->
+ <plurals name="matches_found">
+ <!-- Case of no matches -->
+ <item quantity="zero">No matches</item>
+ <!-- Case of one match -->
+ <item quantity="one">1 match</item>
+ <!-- Case of "few" (two) matches -->
+ <item quantity="few"><xliff:g id="number" example="2">%d</xliff:g> matches</item>
+ <!-- Case of several matches -->
+ <item quantity="other"><xliff:g id="number" example="137">%d</xliff:g> matches</item>
+ </plurals>
<!-- Menu item -->
<string name="page_info">Page info</string>
diff --git a/src/com/android/browser/BrowserActivity.java b/src/com/android/browser/BrowserActivity.java
index bd6fdc6..f55ebb3 100644
--- a/src/com/android/browser/BrowserActivity.java
+++ b/src/com/android/browser/BrowserActivity.java
@@ -137,7 +137,7 @@
import java.util.Date;
import java.util.Enumeration;
import java.util.HashMap;
-import java.util.List;
+import java.util.LinkedList;
import java.util.Locale;
import java.util.Vector;
import java.util.regex.Matcher;
@@ -2938,6 +2938,73 @@
.show();
}
+ // Container class for the next error dialog that needs to be
+ // displayed.
+ class ErrorDialog {
+ public final int mTitle;
+ public final String mDescription;
+ public final int mError;
+ ErrorDialog(int title, String desc, int error) {
+ mTitle = title;
+ mDescription = desc;
+ mError = error;
+ }
+ };
+
+ private void processNextError() {
+ if (mQueuedErrors == null) {
+ return;
+ }
+ // The first one is currently displayed so just remove it.
+ mQueuedErrors.removeFirst();
+ if (mQueuedErrors.size() == 0) {
+ mQueuedErrors = null;
+ return;
+ }
+ showError(mQueuedErrors.getFirst());
+ }
+
+ private DialogInterface.OnDismissListener mDialogListener =
+ new DialogInterface.OnDismissListener() {
+ public void onDismiss(DialogInterface d) {
+ processNextError();
+ }
+ };
+ private LinkedList<ErrorDialog> mQueuedErrors;
+
+ private void queueError(int err, String desc) {
+ if (mQueuedErrors == null) {
+ mQueuedErrors = new LinkedList<ErrorDialog>();
+ }
+ for (ErrorDialog d : mQueuedErrors) {
+ if (d.mError == err) {
+ // Already saw a similar error, ignore the new one.
+ return;
+ }
+ }
+ ErrorDialog errDialog = new ErrorDialog(
+ err == EventHandler.FILE_NOT_FOUND_ERROR ?
+ R.string.browserFrameFileErrorLabel :
+ R.string.browserFrameNetworkErrorLabel,
+ desc, err);
+ mQueuedErrors.addLast(errDialog);
+
+ // Show the dialog now if the queue was empty.
+ if (mQueuedErrors.size() == 1) {
+ showError(errDialog);
+ }
+ }
+
+ private void showError(ErrorDialog errDialog) {
+ AlertDialog d = new AlertDialog.Builder(BrowserActivity.this)
+ .setTitle(errDialog.mTitle)
+ .setMessage(errDialog.mDescription)
+ .setPositiveButton(R.string.ok, null)
+ .create();
+ d.setOnDismissListener(mDialogListener);
+ d.show();
+ }
+
/**
* Show a dialog informing the user of the network error reported by
* WebCore.
@@ -2950,15 +3017,10 @@
errorCode != EventHandler.ERROR_BAD_URL &&
errorCode != EventHandler.ERROR_UNSUPPORTED_SCHEME &&
errorCode != EventHandler.FILE_ERROR) {
- new AlertDialog.Builder(BrowserActivity.this)
- .setTitle((errorCode == EventHandler.FILE_NOT_FOUND_ERROR) ?
- R.string.browserFrameFileErrorLabel :
- R.string.browserFrameNetworkErrorLabel)
- .setMessage(description)
- .setPositiveButton(R.string.ok, null)
- .show();
+ queueError(errorCode, description);
}
- Log.e(LOGTAG, "onReceivedError code:"+errorCode+" "+description);
+ Log.e(LOGTAG, "onReceivedError " + errorCode + " " + failingUrl
+ + " " + description);
// We need to reset the title after an error.
resetTitleAndRevertLockIcon();
diff --git a/src/com/android/browser/BrowserBookmarksPage.java b/src/com/android/browser/BrowserBookmarksPage.java
index a7d45f9..050b24b 100644
--- a/src/com/android/browser/BrowserBookmarksPage.java
+++ b/src/com/android/browser/BrowserBookmarksPage.java
@@ -222,7 +222,7 @@
i.putExtra(Intent.EXTRA_SHORTCUT_NAME, title);
i.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
Intent.ShortcutIconResource.fromContext(BrowserBookmarksPage.this,
- R.drawable.ic_launcher_browser));
+ R.drawable.ic_launcher_shortcut_browser_bookmark));
// Do not allow duplicate items
i.putExtra("duplicate", false);
return i;
diff --git a/src/com/android/browser/FindDialog.java b/src/com/android/browser/FindDialog.java
index 43cd1c4..6e9574c 100644
--- a/src/com/android/browser/FindDialog.java
+++ b/src/com/android/browser/FindDialog.java
@@ -179,7 +179,7 @@
Spannable span = (Spannable) mEditText.getText();
span.setSpan(this, 0, span.length(),
Spannable.SPAN_INCLUSIVE_INCLUSIVE);
- mMatches.setText(R.string.zero);
+ setMatchesFound(0);
disableButtons();
}
@@ -206,11 +206,11 @@
} else {
mMatchesView.setVisibility(View.VISIBLE);
int found = mWebView.findAll(find.toString());
- mMatches.setText(Integer.toString(found));
+ setMatchesFound(found);
if (found < 2) {
disableButtons();
if (found == 0) {
- mMatches.setText(R.string.zero);
+ setMatchesFound(0);
}
} else {
mPrevButton.setFocusable(true);
@@ -221,6 +221,13 @@
}
}
+ private void setMatchesFound(int found) {
+ String template = mBrowserActivity.getResources().
+ getQuantityString(R.plurals.matches_found, found, found);
+
+ mMatches.setText(template);
+ }
+
public void afterTextChanged(Editable s) {
}
}