summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThe Android Open Source Project <initial-contribution@android.com>2009-03-02 22:54:38 -0800
committerThe Android Open Source Project <initial-contribution@android.com>2009-03-02 22:54:38 -0800
commitaec52de1c66b9ec52b126705ea1a63c2db6e12e5 (patch)
treef3b2d88f92ddbb5366a2817558bc63aa8c36353c
parent1a16d15d91a3896065ceeb4972231eb5656a6f6c (diff)
downloadpackages_apps_Browser-aec52de1c66b9ec52b126705ea1a63c2db6e12e5.zip
packages_apps_Browser-aec52de1c66b9ec52b126705ea1a63c2db6e12e5.tar.gz
packages_apps_Browser-aec52de1c66b9ec52b126705ea1a63c2db6e12e5.tar.bz2
auto import from //depot/cupcake/@137055
-rw-r--r--assets/plugins/gears-0.5.12.0/dummy (renamed from assets/plugins/gears-0.5.11.0/dummy)0
-rw-r--r--assets/plugins/gears.sobin1234788 -> 1196880 bytes
-rwxr-xr-xres/drawable/gears_file_audio.pngbin2211 -> 0 bytes
-rwxr-xr-xres/drawable/gears_file_image.pngbin1849 -> 0 bytes
-rwxr-xr-xres/drawable/gears_file_unknown.pngbin1072 -> 0 bytes
-rwxr-xr-xres/drawable/gears_file_video.pngbin2044 -> 0 bytes
-rwxr-xr-xres/drawable/gears_folder.pngbin2235 -> 0 bytes
-rw-r--r--res/layout/gears_dialog_filepicker.xml61
-rw-r--r--res/layout/gears_dialog_filepicker_cell.xml44
-rw-r--r--res/layout/gears_dialog_shortcut.xml103
-rw-r--r--res/values-cs/strings.xml11
-rw-r--r--res/values-de/strings.xml11
-rw-r--r--res/values-es/strings.xml27
-rw-r--r--res/values-fr/strings.xml51
-rw-r--r--res/values-it/strings.xml23
-rw-r--r--res/values-ja/strings.xml11
-rw-r--r--res/values-ko/strings.xml11
-rw-r--r--res/values-nb/strings.xml47
-rw-r--r--res/values-nl/strings.xml13
-rw-r--r--res/values-pl/strings.xml39
-rw-r--r--res/values-ru/strings.xml11
-rw-r--r--res/values-zh-rCN/strings.xml11
-rw-r--r--res/values-zh-rTW/strings.xml11
-rw-r--r--res/values/colors.xml3
-rw-r--r--res/values/strings.xml4
-rw-r--r--res/xml/searchable.xml1
-rw-r--r--src/com/android/browser/AddBookmarkPage.java19
-rw-r--r--src/com/android/browser/BrowserActivity.java30
-rw-r--r--src/com/android/browser/BrowserHistoryPage.java61
-rw-r--r--src/com/android/browser/BrowserHomepagePreference.java4
-rw-r--r--src/com/android/browser/BrowserPreferencesPage.java3
-rw-r--r--src/com/android/browser/FindDialog.java17
-rw-r--r--src/com/android/browser/GearsFilePickerDialog.java930
-rw-r--r--src/com/android/browser/GearsNativeDialog.java42
-rw-r--r--src/com/android/browser/GearsShortcutDialog.java151
35 files changed, 242 insertions, 1508 deletions
diff --git a/assets/plugins/gears-0.5.11.0/dummy b/assets/plugins/gears-0.5.12.0/dummy
index 50f9ab9..50f9ab9 100644
--- a/assets/plugins/gears-0.5.11.0/dummy
+++ b/assets/plugins/gears-0.5.12.0/dummy
diff --git a/assets/plugins/gears.so b/assets/plugins/gears.so
index 6cc5b75..d575b14 100644
--- a/assets/plugins/gears.so
+++ b/assets/plugins/gears.so
Binary files differ
diff --git a/res/drawable/gears_file_audio.png b/res/drawable/gears_file_audio.png
deleted file mode 100755
index ce897b6..0000000
--- a/res/drawable/gears_file_audio.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/gears_file_image.png b/res/drawable/gears_file_image.png
deleted file mode 100755
index b140f84..0000000
--- a/res/drawable/gears_file_image.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/gears_file_unknown.png b/res/drawable/gears_file_unknown.png
deleted file mode 100755
index 23386f4..0000000
--- a/res/drawable/gears_file_unknown.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/gears_file_video.png b/res/drawable/gears_file_video.png
deleted file mode 100755
index d876afb..0000000
--- a/res/drawable/gears_file_video.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/gears_folder.png b/res/drawable/gears_folder.png
deleted file mode 100755
index ed31ba5..0000000
--- a/res/drawable/gears_folder.png
+++ /dev/null
Binary files differ
diff --git a/res/layout/gears_dialog_filepicker.xml b/res/layout/gears_dialog_filepicker.xml
deleted file mode 100644
index 68268f1..0000000
--- a/res/layout/gears_dialog_filepicker.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
- * Copyright 2008, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content">
-
- <LinearLayout
- android:orientation="horizontal"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content">
-
- <TextView
- android:id="@+id/path_name"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textSize="13dip"
- android:textColor="@color/dark_gray"/>
-
- <TextView
- android:id="@+id/current_path"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textSize="13dip"
- android:textColor="@color/white"/>
-
- </LinearLayout>
-
- <LinearLayout
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content">
-
- <GridView android:id="@+id/files_list"
- android:padding="4px"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:horizontalSpacing="2px"
- android:verticalSpacing="2px"
- android:numColumns="3" />
-
- </LinearLayout>
-
-</LinearLayout>
diff --git a/res/layout/gears_dialog_filepicker_cell.xml b/res/layout/gears_dialog_filepicker_cell.xml
deleted file mode 100644
index 369fc6a..0000000
--- a/res/layout/gears_dialog_filepicker_cell.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
- * Copyright 2008, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:gravity="center_horizontal"
- android:padding="4px" >
-
- <ImageView
- android:id="@+id/icon"
- android:scaleType="fitCenter"
- android:layout_width="64px"
- android:layout_height="64px" />
-
- <TextView
- android:id="@+id/name"
- android:textColor="@color/white"
- android:textSize="13dip"
- android:shadowColor="@color/black"
- android:shadowRadius="2.0"
- android:singleLine="true"
- android:ellipsize="middle"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content" />
-
-</LinearLayout>
diff --git a/res/layout/gears_dialog_shortcut.xml b/res/layout/gears_dialog_shortcut.xml
deleted file mode 100644
index 28f93d0..0000000
--- a/res/layout/gears_dialog_shortcut.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
- * Copyright 2008, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-
-<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:paddingBottom="10dip">
-
- <LinearLayout
- android:orientation="vertical"
- android:paddingLeft="10dip"
- android:paddingRight="10dip"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content">
-
- <LinearLayout
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:padding="4dip"
- android:orientation="vertical">
-
- <TextView
- android:id="@+id/origin_subtitle"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:visibility="gone"
- android:textStyle="bold"
- android:gravity="left"
- android:textSize="16dip"
- android:textColor="@color/white"/>
-
- </LinearLayout>
-
- <TextView
- android:id="@+id/privacy_policy_label"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:paddingTop="10dip"
- android:gravity="center_horizontal"
- android:textSize="13dip"
- android:textStyle="italic"
- android:textColor="@color/white"
- android:visibility="gone"
- android:text="@string/privacy_policy" />
-
- <TextView
- android:id="@+id/permission_dialog_message"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:paddingTop="10dip"
- android:gravity="left"
- android:textSize="16dip"
- android:textColor="@color/white"/>
-
- <LinearLayout
- android:id="@+id/shortcut_panel"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:visibility="gone"
- android:gravity="center"
- android:orientation="vertical">
-
- <ImageView
- android:id="@+id/origin_icon"
- android:paddingTop="10dip"
- android:layout_centerHorizontal="true"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:gravity="center"
- android:adjustViewBounds="true"
- android:src="@drawable/gears"/>
-
- <TextView
- android:id="@+id/shortcut_name"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:paddingTop="10dip"
- android:gravity="center"
- android:textSize="13dip"
- android:textColor="@color/white"/>
-
- </LinearLayout>
-
- </LinearLayout>
-
-</ScrollView>
-
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index e301545..bc1597a 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -27,7 +27,7 @@
<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="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>
@@ -75,7 +75,7 @@
<string name="bookmark_url_not_valid">"Adresa URL není platná."</string>
<string name="delete_bookmark">"Smazat"</string>
<string name="bookmark_page">"Přidat poslední zobrazenou stránku do záložek"</string>
- <string name="current_page">"od"</string>
+ <string name="current_page">"od "</string>
<string name="delete_bookmark_warning">"Záložka <xliff:g id="BOOKMARK">%s</xliff:g> bude smazána."</string>
<string name="open_in_new_window">"Otevřít v novém okně"</string>
<string name="new_window">"Nové okno"</string>
@@ -235,7 +235,8 @@
<string name="download_no_sdcard_dlg_title">"Žádná karta SD není dostupná."</string>
<string name="download_no_sdcard_dlg_msg">"Na kartu SD je třeba stáhnout soubor <xliff:g id="FILENAME">%s</xliff:g>."</string>
<string name="download_sdcard_busy_dlg_title">"Karta SD není dostupná"</string>
- <string name="download_sdcard_busy_dlg_msg">"Karta SD je zaneprázdněná. Chcete-li povolit stahování, přejděte na Plochu &gt; Nastavení &gt; Karta SD a paměť telefonu a zrušte zaškrtnutí políčka Použít jako paměťové zařízení USB."</string>
+ <!-- no translation found for download_sdcard_busy_dlg_msg (3473883538192835204) -->
+ <skip />
<string name="download_no_application">"Nebyla nalezena žádná aplikace, ve které lze tento soubor otevřít."</string>
<string name="retry">"Zkusit znovu"</string>
<string name="no_downloads">"Historie stahování je prázdná."</string>
@@ -262,7 +263,7 @@
<skip />
<!-- no translation found for location_prompt (226262202057302423) -->
<skip />
- <!-- no translation found for location_message (6790400729681341258) -->
+ <!-- no translation found for location_message (1729456751935683242) -->
<skip />
<!-- no translation found for shortcut_prompt (437193299088893596) -->
<skip />
@@ -293,7 +294,7 @@
<skip />
<!-- no translation found for settings_confirmation_remove_title (5360857296753219635) -->
<skip />
- <!-- no translation found for settings_confirmation_remove (3214500052347860516) -->
+ <!-- no translation found for settings_confirmation_remove (585560170733446898) -->
<skip />
<!-- no translation found for storage_notification (6534213782873968255) -->
<skip />
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 3a4bb6d..8e1ee22 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -27,7 +27,7 @@
<string name="action">"Anmelden"</string>
<string name="cancel">"Abbrechen"</string>
<string name="ok">"OK"</string>
- <string name="matches_found">"Treffer"</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>
@@ -75,7 +75,7 @@
<string name="bookmark_url_not_valid">"URL ist nicht gültig."</string>
<string name="delete_bookmark">"Löschen"</string>
<string name="bookmark_page">"Lesezeichen für zuletzt besuchte Seite"</string>
- <string name="current_page">"von"</string>
+ <string name="current_page">"von "</string>
<string name="delete_bookmark_warning">"Lesezeichen \"<xliff:g id="BOOKMARK">%s</xliff:g>\" wird gelöscht."</string>
<string name="open_in_new_window">"In neuem Fenster öffnen"</string>
<string name="new_window">"Neues Fenster"</string>
@@ -235,7 +235,8 @@
<string name="download_no_sdcard_dlg_title">"Keine SD-Karte"</string>
<string name="download_no_sdcard_dlg_msg">"Zum Download von <xliff:g id="FILENAME">%s</xliff:g> ist eine SD-Karte erforderlich."</string>
<string name="download_sdcard_busy_dlg_title">"SD-Karte nicht verfügbar"</string>
- <string name="download_sdcard_busy_dlg_msg">"Die SD-Karte ist ausgelastet. Um Downloads zuzulassen, gehen Sie zur Startseite &gt; Einstellungen &gt; SD-Karte &amp; Telefonspeicher und deaktivieren Sie das Kontrollkästchen \"Für USB-Speicher verwenden\"."</string>
+ <!-- no translation found for download_sdcard_busy_dlg_msg (3473883538192835204) -->
+ <skip />
<string name="download_no_application">"Es kann keine Anwendung gefunden werden, um diese Datei zu öffnen."</string>
<string name="retry">"Wiederholen"</string>
<string name="no_downloads">"Downloadverlauf ist leer."</string>
@@ -262,7 +263,7 @@
<skip />
<!-- no translation found for location_prompt (226262202057302423) -->
<skip />
- <!-- no translation found for location_message (6790400729681341258) -->
+ <!-- no translation found for location_message (1729456751935683242) -->
<skip />
<!-- no translation found for shortcut_prompt (437193299088893596) -->
<skip />
@@ -293,7 +294,7 @@
<skip />
<!-- no translation found for settings_confirmation_remove_title (5360857296753219635) -->
<skip />
- <!-- no translation found for settings_confirmation_remove (3214500052347860516) -->
+ <!-- no translation found for settings_confirmation_remove (585560170733446898) -->
<skip />
<!-- no translation found for storage_notification (6534213782873968255) -->
<skip />
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 7032535..fb1b083 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -15,7 +15,7 @@
-->
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="application_name">"Navegador web"</string>
+ <string name="application_name">"Navegador"</string>
<string name="tab_bookmarks">"Marcadores"</string>
<string name="tab_most_visited">"Más visitados"</string>
<string name="tab_history">"Historial"</string>
@@ -27,7 +27,7 @@
<string name="action">"Acceder"</string>
<string name="cancel">"Cancelar"</string>
<string name="ok">"Aceptar"</string>
- <string name="matches_found">"coincidencias"</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>
@@ -75,7 +75,7 @@
<string name="bookmark_url_not_valid">"La URL no es válida."</string>
<string name="delete_bookmark">"Suprimir"</string>
<string name="bookmark_page">"Marcar como última página vista"</string>
- <string name="current_page">"de"</string>
+ <string name="current_page">"de "</string>
<string name="delete_bookmark_warning">"Se eliminará el marcador \"<xliff:g id="BOOKMARK">%s</xliff:g>\"."</string>
<string name="open_in_new_window">"Abrir en ventana nueva"</string>
<string name="new_window">"Nueva ventana"</string>
@@ -83,7 +83,7 @@
<string name="find_dot">"Buscar en la página"</string>
<string name="select_dot">"Seleccionar texto"</string>
<string name="view_tabs">"Visión general de ventanas"</string>
- <string name="view_tabs_condensed">"Windows"</string>
+ <string name="view_tabs_condensed">"Ventanas"</string>
<string name="tab_picker_title">"Ventanas actuales"</string>
<string name="tab_picker_view_tab">"Ver"</string>
<string name="tab_picker_new_tab">"Nueva ventana"</string>
@@ -104,7 +104,7 @@
<string name="contextmenu_copylink">"Copiar URL de enlace"</string>
<string name="contextmenu_download_image">"Guardar imagen"</string>
<string name="contextmenu_view_image">"Ver imagen"</string>
- <string name="contextmenu_dial_dot">"Marcar…"</string>
+ <string name="contextmenu_dial_dot">"Llamar…"</string>
<string name="contextmenu_add_contact">"Añadir contacto"</string>
<string name="contextmenu_send_mail">"Enviar mensaje de correo electrónico"</string>
<string name="contextmenu_map">"Mapa"</string>
@@ -126,7 +126,7 @@
<string name="pref_privacy_clear_cache">"Borrar caché"</string>
<string name="pref_privacy_clear_cache_summary">"Eliminar todo el contenido de la página almacenado en caché"</string>
<string name="pref_privacy_clear_cache_dlg">"Se borrará la caché."</string>
- <string name="pref_privacy_clear_cookies">"Borrar todos los datos de cookies"</string>
+ <string name="pref_privacy_clear_cookies">"Borrar los datos de cookies"</string>
<string name="pref_privacy_clear_cookies_summary">"Borrar todas las cookies del navegador"</string>
<string name="pref_privacy_clear_cookies_dlg">"Se borrarán todas las cookies."</string>
<string name="pref_privacy_clear_history">"Borrar historial"</string>
@@ -142,14 +142,14 @@
<string name="pref_security_remember_passwords">"Recordar contraseñas"</string>
<string name="pref_security_remember_passwords_summary">"Guardar nombres de usuario y contraseñas de sitios web"</string>
<string name="pref_security_save_form_data">"Recordar datos de formulario"</string>
- <string name="pref_security_save_form_data_summary">"Recordar datos introducidos en formularios para utilizarlos más adelante"</string>
+ <string name="pref_security_save_form_data_summary">"Recordar datos introducidos en formularios"</string>
<string name="pref_security_show_security_warning">"Mostrar advertencias de seguridad"</string>
<string name="pref_security_show_security_warning_summary">"Mostrar advertencia si hay algún problema con la seguridad del sitio"</string>
<string name="pref_security_accept_cookies">"Aceptar cookies"</string>
<string name="pref_security_accept_cookies_summary">"Permitir que los sitios guarden y lean datos de cookies"</string>
<string name="pref_text_size">"Establecer tamaño de texto"</string>
<string-array name="pref_text_size_choices">
- <item>"Tiny"</item>
+ <item>"Muy pequeño"</item>
<item>"Pequeño"</item>
<item>"Normal"</item>
<item>"Grande"</item>
@@ -199,7 +199,7 @@
<string name="browserFrame307Post">"Esta página web se ha redirigido a otra ubicación. ¿Quieres enviar los datos del formulario cumplimentado a la nueva ubicación?"</string>
<string name="browserFrameNetworkErrorLabel">"Problema de conectividad de datos"</string>
<string name="browserFrameFileErrorLabel">"Problema con archivo"</string>
- <string name="browserFrameFormResubmitLabel">"Confirmar"</string>
+ <string name="browserFrameFormResubmitLabel">"OK"</string>
<string name="browserFrameFormResubmitMessage">"La página que intentas ver contiene datos que ya se han enviado (\"POSTDATA\"). Si reenvías los datos, se repetirá cualquier acción realizada por el formulario de la página (como las búsquedas o las compras online)."</string>
<string name="loadSuspendedTitle">"Sin conexión de red"</string>
<string name="loadSuspended">"La página seguirá cargándose una vez que se restablezca la conexión."</string>
@@ -232,10 +232,11 @@
<string name="download_file_error_dlg_title">"Sin espacio"</string>
<string name="download_file_error_dlg_msg">"No se ha podido descargar el archivo <xliff:g id="FILENAME">%s</xliff:g>."\n"Libera espacio en el teléfono e inténtalo de nuevo."</string>
<string name="download_failed_generic_dlg_title">"Descarga incorrecta"</string>
- <string name="download_no_sdcard_dlg_title">"Ninguna tarjeta SD"</string>
+ <string name="download_no_sdcard_dlg_title">"Falta la tarjeta SD"</string>
<string name="download_no_sdcard_dlg_msg">"Para descargar <xliff:g id="FILENAME">%s</xliff:g> se necesita una tarjeta SD."</string>
<string name="download_sdcard_busy_dlg_title">"Tarjeta SD no disponible"</string>
- <string name="download_sdcard_busy_dlg_msg">"La tarjeta SD está ocupada. Para permitir descargas, accede a \"Página principal &gt; Configuración &gt; Almacenamiento en teléfono y en tarjeta SD\" y desactiva la casilla de verificación \"Utilizar para almacenamiento USB\"."</string>
+ <!-- no translation found for download_sdcard_busy_dlg_msg (3473883538192835204) -->
+ <skip />
<string name="download_no_application">"No se ha encontrado ninguna aplicación que permita abrir este archivo."</string>
<string name="retry">"Reintentar"</string>
<string name="no_downloads">"El historial de descargas está vacío."</string>
@@ -262,7 +263,7 @@
<skip />
<!-- no translation found for location_prompt (226262202057302423) -->
<skip />
- <!-- no translation found for location_message (6790400729681341258) -->
+ <!-- no translation found for location_message (1729456751935683242) -->
<skip />
<!-- no translation found for shortcut_prompt (437193299088893596) -->
<skip />
@@ -293,7 +294,7 @@
<skip />
<!-- no translation found for settings_confirmation_remove_title (5360857296753219635) -->
<skip />
- <!-- no translation found for settings_confirmation_remove (3214500052347860516) -->
+ <!-- no translation found for settings_confirmation_remove (585560170733446898) -->
<skip />
<!-- no translation found for storage_notification (6534213782873968255) -->
<skip />
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 0b2df36..5a2ec4d 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -17,7 +17,7 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="application_name">"Navigateur"</string>
<string name="tab_bookmarks">"Favoris"</string>
- <string name="tab_most_visited">"Les plus consultés"</string>
+ <string name="tab_most_visited">"Les + visités"</string>
<string name="tab_history">"Historique"</string>
<string name="added_to_bookmarks">"Ajouté aux favoris"</string>
<string name="removed_from_bookmarks">"Supprimé des favoris"</string>
@@ -27,7 +27,7 @@
<string name="action">"Se connecter"</string>
<string name="cancel">"Annuler"</string>
<string name="ok">"OK"</string>
- <string name="matches_found">"résultats correspondants"</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>
@@ -64,7 +64,7 @@
<string name="http">"http://"</string>
<string name="save_to_bookmarks">"Favori"</string>
<string name="edit_bookmark">"Modifier le favori"</string>
- <string name="create_shortcut_bookmark">"Ajouter un raccourci sur la page d\'accueil"</string>
+ <string name="create_shortcut_bookmark">"Raccourci sur la page d\'accueil"</string>
<string name="open_bookmark">"Ouverture"</string>
<string name="remove_bookmark">"Supprimer le favori"</string>
<string name="remove_history_item">"Supprimer de l\'historique"</string>
@@ -74,19 +74,19 @@
<string name="empty_bookmark">"Impossible de créer un favori vide."</string>
<string name="bookmark_url_not_valid">"L\'URL est incorrecte."</string>
<string name="delete_bookmark">"Supprimer"</string>
- <string name="bookmark_page">"Dernière page de favori consultée"</string>
- <string name="current_page">"de"</string>
+ <string name="bookmark_page">"Ajouter la dernière page consultée"</string>
+ <string name="current_page">"de "</string>
<string name="delete_bookmark_warning">"Le favori \"<xliff:g id="BOOKMARK">%s</xliff:g>\" sera supprimé."</string>
- <string name="open_in_new_window">"Ouvrir dans une nouvelle fenêtre"</string>
+ <string name="open_in_new_window">"Nouvelle fenêtre"</string>
<string name="new_window">"Nouvelle fenêtre"</string>
- <string name="goto_dot">"OK"</string>
+ <string name="goto_dot">"Recherche"</string>
<string name="find_dot">"Rechercher sur la page"</string>
<string name="select_dot">"Sélectionner le texte"</string>
<string name="view_tabs">"Vue d\'ensemble des fenêtres"</string>
- <string name="view_tabs_condensed">"Windows"</string>
+ <string name="view_tabs_condensed">"Fenêtres"</string>
<string name="tab_picker_title">"Fenêtres actuelles"</string>
<string name="tab_picker_view_tab">"Afficher"</string>
- <string name="tab_picker_new_tab">"Nouvelle fenêtre"</string>
+ <string name="tab_picker_new_tab">"Nouv. fenêtre"</string>
<string name="tab_picker_remove_tab">"Fermer"</string>
<string name="tab_picker_bookmark">"Favori"</string>
<string name="tab_picker_send_url">"Partager le lien"</string>
@@ -115,24 +115,24 @@
<string name="pref_content_title">"Paramètres du contenu de la page"</string>
<string name="pref_content_load_images">"Charger les images"</string>
<string name="pref_content_load_images_summary">"Afficher les images des pages Web"</string>
- <string name="pref_content_block_popups">"Bloquer les fenêtres pop-up"</string>
+ <string name="pref_content_block_popups">"Bloquer les pop-up"</string>
<string name="pref_content_javascript">"Activer JavaScript"</string>
- <string name="pref_content_open_in_background">"Ouvrir à l\'arrière-plan"</string>
+ <string name="pref_content_open_in_background">"Ouvrir en arrière-plan"</string>
<string name="pref_content_open_in_background_summary">"Les nouvelles fenêtres s\'ouvrent derrière la fenêtre actuelle"</string>
<string name="pref_content_homepage">"Configurer la page d\'accueil"</string>
- <string name="pref_content_autofit">"Ajustement automatique des pages"</string>
+ <string name="pref_content_autofit">"Redimensionner les pages"</string>
<string name="pref_content_autofit_summary">"Configurer les pages Web pour qu\'elles s\'ajustent à l\'écran"</string>
<string name="pref_privacy_title">"Paramètres de confidentialité"</string>
<string name="pref_privacy_clear_cache">"Effacer le cache"</string>
<string name="pref_privacy_clear_cache_summary">"Supprimer tout le contenu de la page en cache"</string>
<string name="pref_privacy_clear_cache_dlg">"Le cache sera effacé."</string>
- <string name="pref_privacy_clear_cookies">"Effacer toutes les données de cookies"</string>
+ <string name="pref_privacy_clear_cookies">"Effacer tous les cookies"</string>
<string name="pref_privacy_clear_cookies_summary">"Effacer tous les cookies du navigateur"</string>
<string name="pref_privacy_clear_cookies_dlg">"Tous les cookies seront effacés."</string>
<string name="pref_privacy_clear_history">"Effacer l\'historique"</string>
<string name="pref_privacy_clear_history_summary">"Effacer l\'historique du navigateur"</string>
<string name="pref_privacy_clear_history_dlg">"L\'historique du navigateur sera effacé."</string>
- <string name="pref_privacy_clear_form_data">"Effacer les données du formulaire"</string>
+ <string name="pref_privacy_clear_form_data">"Effacer données formulaire"</string>
<string name="pref_privacy_clear_form_data_summary">"Effacer toutes les données de formulaire enregistrées"</string>
<string name="pref_privacy_clear_form_data_dlg">"Toutes les données de formulaire enregistrées seront effacées."</string>
<string name="pref_privacy_clear_passwords">"Effacer les mots de passe"</string>
@@ -141,9 +141,9 @@
<string name="pref_security_title">"Paramètres de sécurité"</string>
<string name="pref_security_remember_passwords">"Mémoriser les mots de passe"</string>
<string name="pref_security_remember_passwords_summary">"Enregistrer les noms d\'utilisateur et les mots de passe pour les sites Web"</string>
- <string name="pref_security_save_form_data">"Mémoriser les données de formulaire"</string>
+ <string name="pref_security_save_form_data">"Mémoriser données formulaire"</string>
<string name="pref_security_save_form_data_summary">"Mémoriser les données saisies dans les formulaires pour les utiliser ultérieurement"</string>
- <string name="pref_security_show_security_warning">"Afficher les avertissements de sécurité"</string>
+ <string name="pref_security_show_security_warning">"Avertissements de sécurité"</string>
<string name="pref_security_show_security_warning_summary">"Afficher un avertissement en cas de problème de sécurité d\'un site"</string>
<string name="pref_security_accept_cookies">"Accepter les cookies"</string>
<string name="pref_security_accept_cookies_summary">"Autoriser les sites à enregistrer et lire les données \"cookie\""</string>
@@ -163,7 +163,7 @@
<string name="pref_plugin_installed">"Liste des plug-ins"</string>
<string name="pref_plugin_installed_empty_list">"Aucun plug-in installé."</string>
<string name="pref_extras_gears_settings_summary">"Applications étendant les fonctionnalités du navigateur"</string>
- <string name="pref_extras_reset_default">"Rétablir les valeurs par défaut"</string>
+ <string name="pref_extras_reset_default">"Rétablir valeurs par défaut"</string>
<string name="pref_extras_reset_default_summary">"Effacer toutes les données du navigateur et rétablir les paramètres par défaut"</string>
<string name="pref_extras_reset_default_dlg">"Toutes les données du navigateur seront effacées et les paramètres par défaut rétablis."</string>
<string name="pref_extras_reset_default_dlg_title">"Rétablir les valeurs par défaut"</string>
@@ -200,7 +200,7 @@
<string name="browserFrameNetworkErrorLabel">"Problème de connectivité des données"</string>
<string name="browserFrameFileErrorLabel">"Problème de fichier"</string>
<string name="browserFrameFormResubmitLabel">"Confirmer"</string>
- <string name="browserFrameFormResubmitMessage">"La page que vous tentez d\'afficher contient des données qui ont déjà été envoyées (\"POSTDATA\"). Si vous renvoyez les données, toute action effectuée par le formulaire sur la page exécutée (notamment les lancements de recherche ou les achats en ligne) seront répétés."</string>
+ <string name="browserFrameFormResubmitMessage">"La page que vous tentez d\'afficher contient des données qui ont déjà été envoyées (\"POSTDATA\"). Si vous renvoyez les données, toute action effectuée par le formulaire sur la page exécutée (notamment les lancements de recherche ou les achats en ligne) sera répétée."</string>
<string name="loadSuspendedTitle">"Aucune connexion réseau"</string>
<string name="loadSuspended">"Une fois la connexion rétablie, le chargement de la page reprendra."</string>
<string name="clear_history">"Effacer l\'historique"</string>
@@ -235,13 +235,14 @@
<string name="download_no_sdcard_dlg_title">"Aucune carte SD"</string>
<string name="download_no_sdcard_dlg_msg">"Le téléchargement de <xliff:g id="FILENAME">%s</xliff:g> requiert une carte SD."</string>
<string name="download_sdcard_busy_dlg_title">"Carte SD non disponible"</string>
- <string name="download_sdcard_busy_dlg_msg">"La carte SD est occupée. Pour permettre les téléchargements, allez sur Page d\'accueil &gt; Paramètres &gt; Carte SD et stockage téléphone et décochez la case \"Utiliser pour le stockage USB\"."</string>
+ <!-- no translation found for download_sdcard_busy_dlg_msg (3473883538192835204) -->
+ <skip />
<string name="download_no_application">"Impossible de trouver une application permettant d\'ouvrir ce fichier."</string>
<string name="retry">"Réessayer"</string>
<string name="no_downloads">"L\'historique de téléchargement est vide."</string>
<string name="download_error">"Échec du téléchargement"</string>
<string name="download_success">"Téléchargement de <xliff:g id="FILE">%s</xliff:g> terminé."</string>
- <string name="download_running">"Téléchargement en cours..."</string>
+ <string name="download_running">"Téléchargement..."</string>
<string name="download_pending">"Début du téléchargement..."</string>
<string name="download_pending_network">"En attente d\'une connexion de données..."</string>
<string name="download_running_paused">"En attente d\'une connexion de données..."</string>
@@ -252,9 +253,9 @@
<string name="download_precondition_failed">"Téléchargement interrompu. Impossible de reprendre le téléchargement."</string>
<string name="activity_instrumentation_test_runner">"Testeur de navigateur"</string>
<string name="search_google">"Recherche Google"</string>
- <string name="permlab_readHistoryBookmarks">"lire l\'historique du navigateur et les favoris"</string>
+ <string name="permlab_readHistoryBookmarks">"Lecture de l\'historique du navigateur et des favoris"</string>
<string name="permdesc_readHistoryBookmarks">"Permet à l\'application de lire toutes les URL visitées par le navigateur et tous les favoris."</string>
- <string name="permlab_writeHistoryBookmarks">"écrire l\'historique du navigateur et les favoris"</string>
+ <string name="permlab_writeHistoryBookmarks">"Enregistrement de l\'historique du navigateur et des favoris"</string>
<string name="permdesc_writeHistoryBookmarks">"Permet à une application de modifier l\'historique du navigateur ou les favoris enregistrés sur votre téléphone. Des applications malveillantes peuvent utiliser cette fonction pour effacer ou modifier les données de votre navigateur."</string>
<!-- no translation found for query_data_prompt (5474381240981604223) -->
<skip />
@@ -262,7 +263,7 @@
<skip />
<!-- no translation found for location_prompt (226262202057302423) -->
<skip />
- <!-- no translation found for location_message (6790400729681341258) -->
+ <!-- no translation found for location_message (1729456751935683242) -->
<skip />
<!-- no translation found for shortcut_prompt (437193299088893596) -->
<skip />
@@ -274,7 +275,7 @@
<!-- no translation found for image_message (5450245866521896891) -->
<skip />
<string name="settings_title">"Paramètres Google Gears"</string>
- <string name="privacy_policy">"Lisez la politique de confidentialité du site pour voir comment votre emplacement sera utilisé."</string>
+ <string name="privacy_policy">"Lisez les règles de confidentialité du site pour voir comment votre emplacement sera utilisé."</string>
<!-- no translation found for settings_storage_title (7089119630457156408) -->
<skip />
<!-- no translation found for settings_storage_subtitle_on (2733295483569432111) -->
@@ -293,7 +294,7 @@
<skip />
<!-- no translation found for settings_confirmation_remove_title (5360857296753219635) -->
<skip />
- <!-- no translation found for settings_confirmation_remove (3214500052347860516) -->
+ <!-- no translation found for settings_confirmation_remove (585560170733446898) -->
<skip />
<!-- no translation found for storage_notification (6534213782873968255) -->
<skip />
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 4b30d3b..593c4f4 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -27,7 +27,7 @@
<string name="action">"Accedi"</string>
<string name="cancel">"Annulla"</string>
<string name="ok">"OK"</string>
- <string name="matches_found">"corrispondenze"</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>
@@ -59,23 +59,23 @@
<string name="forward">"Avanti"</string>
<string name="save">"OK"</string>
<string name="do_not_save">"Annulla"</string>
- <string name="location">"Posizione"</string>
+ <string name="location">"URL"</string>
<string name="name">"Nome"</string>
<string name="http">"http://"</string>
<string name="save_to_bookmarks">"Segnalibro"</string>
<string name="edit_bookmark">"Modifica segnalibro"</string>
- <string name="create_shortcut_bookmark">"Aggiungi collegamento a Home"</string>
+ <string name="create_shortcut_bookmark">"Aggiungi scorciatoia Home"</string>
<string name="open_bookmark">"Apri"</string>
<string name="remove_bookmark">"Elimina segnalibro"</string>
<string name="remove_history_item">"Rimuovi da cronologia"</string>
<string name="bookmark_saved">"Salvato nei segnalibri."</string>
<string name="bookmark_needs_title">"Inserisci un nome per il segnalibro."</string>
- <string name="bookmark_needs_url">"Inserisci una posizione per il segnalibro."</string>
+ <string name="bookmark_needs_url">"Inserisci un URL per il segnalibro."</string>
<string name="empty_bookmark">"Impossibile creare un segnalibro vuoto."</string>
<string name="bookmark_url_not_valid">"URL non valido."</string>
<string name="delete_bookmark">"Elimina"</string>
<string name="bookmark_page">"Aggiungi ultima pagina visualizzata in segnalibri"</string>
- <string name="current_page">"da"</string>
+ <string name="current_page">"da "</string>
<string name="delete_bookmark_warning">"Il segnalibro \"<xliff:g id="BOOKMARK">%s</xliff:g>\" verrà eliminato."</string>
<string name="open_in_new_window">"Apri in nuova finestra"</string>
<string name="new_window">"Nuova finestra"</string>
@@ -235,7 +235,8 @@
<string name="download_no_sdcard_dlg_title">"Nessuna scheda SD"</string>
<string name="download_no_sdcard_dlg_msg">"Per scaricare <xliff:g id="FILENAME">%s</xliff:g> occorre una scheda SD."</string>
<string name="download_sdcard_busy_dlg_title">"Scheda SD non disponibile"</string>
- <string name="download_sdcard_busy_dlg_msg">"La scheda SD è già in uso. Per consentire i download, vai a Home &gt; Impostazioni &gt; Scheda SD e archiviazione telefono e deseleziona la casella \"Usa per archiviazione USB\"."</string>
+ <!-- no translation found for download_sdcard_busy_dlg_msg (3473883538192835204) -->
+ <skip />
<string name="download_no_application">"Impossibile trovare un\'applicazione in cui aprire questo file."</string>
<string name="retry">"Riprova"</string>
<string name="no_downloads">"La cronologia download è vuota."</string>
@@ -246,15 +247,15 @@
<string name="download_pending_network">"In attesa di connessione dati..."</string>
<string name="download_running_paused">"In attesa di connessione dati..."</string>
<string name="download_canceled">"Download annullato."</string>
- <string name="download_not_acceptable">"Impossibile effettuare il download. Il contenuto non è supportato dal telefono."</string>
+ <string name="download_not_acceptable">"Impossibile effettuare il download. I contenuti non sono supportati dal telefono."</string>
<string name="download_file_error">"Impossibile terminare il download. Spazio insufficiente."</string>
<string name="download_length_required">"Impossibile effettuare il download. Impossibile determinare le dimensioni dell\'elemento."</string>
<string name="download_precondition_failed">"Download interrotto. Impossibile ripristinarlo."</string>
<string name="activity_instrumentation_test_runner">"Browser Test Runner"</string>
<string name="search_google">"Cerca su Google"</string>
- <string name="permlab_readHistoryBookmarks">"leggere cronologia e segnalibri del browser"</string>
+ <string name="permlab_readHistoryBookmarks">"lettura cronologia e segnalibri del browser"</string>
<string name="permdesc_readHistoryBookmarks">"Consente all\'applicazione di leggere tutti gli URL visitati e tutti i segnalibri del browser."</string>
- <string name="permlab_writeHistoryBookmarks">"creare cronologia e segnalibri del browser"</string>
+ <string name="permlab_writeHistoryBookmarks">"creazione cronologia e segnalibri del browser"</string>
<string name="permdesc_writeHistoryBookmarks">"Consente a un\'applicazione di modificare la cronologia o i segnalibri del browser memorizzati sul telefono. Le applicazioni dannose possono sfruttare questa possibilità per cancellare o modificare i dati del browser."</string>
<!-- no translation found for query_data_prompt (5474381240981604223) -->
<skip />
@@ -262,7 +263,7 @@
<skip />
<!-- no translation found for location_prompt (226262202057302423) -->
<skip />
- <!-- no translation found for location_message (6790400729681341258) -->
+ <!-- no translation found for location_message (1729456751935683242) -->
<skip />
<!-- no translation found for shortcut_prompt (437193299088893596) -->
<skip />
@@ -293,7 +294,7 @@
<skip />
<!-- no translation found for settings_confirmation_remove_title (5360857296753219635) -->
<skip />
- <!-- no translation found for settings_confirmation_remove (3214500052347860516) -->
+ <!-- no translation found for settings_confirmation_remove (585560170733446898) -->
<skip />
<!-- no translation found for storage_notification (6534213782873968255) -->
<skip />
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 6c62bb9..b83cfce 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -27,7 +27,7 @@
<string name="action">"ログイン"</string>
<string name="cancel">"キャンセル"</string>
<string name="ok">"OK"</string>
- <string name="matches_found">"件一致"</string>
+ <string name="matches_found">" 件一致"</string>
<string name="zero">"いいえ"</string>
<string name="page_info">"ページ情報"</string>
<string name="page_info_view">"ページ情報を表示"</string>
@@ -75,7 +75,7 @@
<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">"ブックマークするページ "</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>
@@ -235,7 +235,8 @@
<string name="download_no_sdcard_dlg_title">"SDカードがありません"</string>
<string name="download_no_sdcard_dlg_msg">"<xliff:g id="FILENAME">%s</xliff:g>をダウンロードするにはSDカードが必要です。"</string>
<string name="download_sdcard_busy_dlg_title">"SDカードは利用できません"</string>
- <string name="download_sdcard_busy_dlg_msg">"SDカードはビジーです。ダウンロードできるようにするには、[ホーム]&gt;[設定]&gt;[SDカードと携帯電話のメモリ]の順に選択して[USBメモリに使用]をオフにします。"</string>
+ <!-- no translation found for download_sdcard_busy_dlg_msg (3473883538192835204) -->
+ <skip />
<string name="download_no_application">"このファイルを開くアプリケーションがありません。"</string>
<string name="retry">"やり直す"</string>
<string name="no_downloads">"ダウンロード履歴はありません。"</string>
@@ -262,7 +263,7 @@
<skip />
<!-- no translation found for location_prompt (226262202057302423) -->
<skip />
- <!-- no translation found for location_message (6790400729681341258) -->
+ <!-- no translation found for location_message (1729456751935683242) -->
<skip />
<!-- no translation found for shortcut_prompt (437193299088893596) -->
<skip />
@@ -293,7 +294,7 @@
<skip />
<!-- no translation found for settings_confirmation_remove_title (5360857296753219635) -->
<skip />
- <!-- no translation found for settings_confirmation_remove (3214500052347860516) -->
+ <!-- no translation found for settings_confirmation_remove (585560170733446898) -->
<skip />
<!-- no translation found for storage_notification (6534213782873968255) -->
<skip />
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 42db923..90ba10a 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -27,7 +27,7 @@
<string name="action">"로그인"</string>
<string name="cancel">"취소"</string>
<string name="ok">"확인"</string>
- <string name="matches_found">"개 일치"</string>
+ <string name="matches_found">" 개 일치"</string>
<string name="zero">"없음"</string>
<string name="page_info">"페이지 정보"</string>
<string name="page_info_view">"페이지 정보 보기"</string>
@@ -75,7 +75,7 @@
<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">"북마크할 페이지 "</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>
@@ -235,7 +235,8 @@
<string name="download_no_sdcard_dlg_title">"SD 카드 없음"</string>
<string name="download_no_sdcard_dlg_msg">"<xliff:g id="FILENAME">%s</xliff:g>을(를) 다운로드하려면 SD 카드가 필요합니다."</string>
<string name="download_sdcard_busy_dlg_title">"SD 카드를 사용할 수 없음"</string>
- <string name="download_sdcard_busy_dlg_msg">"SD 카드가 사용 중입니다. 다운로드를 허용하려면 홈 &gt; 설정 &gt; SD 카드 및 전화기 저장공간으로 이동하여 \'USB 저장에 사용\' 확인란을 선택취소하세요."</string>
+ <!-- no translation found for download_sdcard_busy_dlg_msg (3473883538192835204) -->
+ <skip />
<string name="download_no_application">"파일을 열 수 있는 응용프로그램이 없습니다."</string>
<string name="retry">"다시 시도"</string>
<string name="no_downloads">"다운로드 기록이 비어 있습니다."</string>
@@ -262,7 +263,7 @@
<skip />
<!-- no translation found for location_prompt (226262202057302423) -->
<skip />
- <!-- no translation found for location_message (6790400729681341258) -->
+ <!-- no translation found for location_message (1729456751935683242) -->
<skip />
<!-- no translation found for shortcut_prompt (437193299088893596) -->
<skip />
@@ -293,7 +294,7 @@
<skip />
<!-- no translation found for settings_confirmation_remove_title (5360857296753219635) -->
<skip />
- <!-- no translation found for settings_confirmation_remove (3214500052347860516) -->
+ <!-- no translation found for settings_confirmation_remove (585560170733446898) -->
<skip />
<!-- no translation found for storage_notification (6534213782873968255) -->
<skip />
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 34f268e..d356f7d 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -21,13 +21,13 @@
<string name="tab_history">"Historie"</string>
<string name="added_to_bookmarks">"Lagt til bokmerker"</string>
<string name="removed_from_bookmarks">"Fjernet fra bokmerker"</string>
- <string name="sign_in_to">"Logg inn på <xliff:g id="HOSTNAME">%s1</xliff:g> \\\\\\\"<xliff:g id="REALM">%s2</xliff:g>\\\\\\\""</string>
+ <string name="sign_in_to">"Logg inn på <xliff:g id="HOSTNAME">%s1</xliff:g> \"<xliff:g id="REALM">%s2</xliff:g>\""</string>
<string name="username">"Brukernavn"</string>
<string name="password">"Passord"</string>
<string name="action">"Logg inn"</string>
<string name="cancel">"Avbryt"</string>
<string name="ok">"OK"</string>
- <string name="matches_found">"treff"</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>
@@ -75,8 +75,8 @@
<string name="bookmark_url_not_valid">"Adressen er ikke gyldig."</string>
<string name="delete_bookmark">"Slett"</string>
<string name="bookmark_page">"Legg til bokmerke for sist sette side"</string>
- <string name="current_page">"Gjeldende side:"</string>
- <string name="delete_bookmark_warning">"Bokmerket \\\\\\\"<xliff:g id="BOOKMARK">%s</xliff:g>\\\\\\\" vil bli slettet."</string>
+ <string name="current_page">"Gjeldende side: "</string>
+ <string name="delete_bookmark_warning">"Bokmerket \"<xliff:g id="BOOKMARK">%s</xliff:g>\" vil bli slettet."</string>
<string name="open_in_new_window">"Åpne i nytt vindu"</string>
<string name="new_window">"Nytt vindu"</string>
<string name="goto_dot">"Gå til URL"</string>
@@ -200,7 +200,7 @@
<string name="browserFrameNetworkErrorLabel">"Tilkoblingsproblem"</string>
<string name="browserFrameFileErrorLabel">"Problem med fil"</string>
<string name="browserFrameFormResubmitLabel">"Bekreft"</string>
- <string name="browserFrameFormResubmitMessage">"Siden du prøver å se, inneholder data som allerede er blitt sendt inn (\\\\\\\"POSTDATA\\\\\\\"). Hvis du sender dataene på nytt, kan det skjemaet på siden gjorde bli gjort på nytt."</string>
+ <string name="browserFrameFormResubmitMessage">"Siden du prøver å se, inneholder data som allerede er blitt sendt inn (\"POSTDATA\"). Hvis du sender dataene på nytt, kan det skjemaet på siden gjorde bli gjort på nytt."</string>
<string name="loadSuspendedTitle">"Ingen nettverkstilkobling"</string>
<string name="loadSuspended">"Siden vil fortsette å laste etter at tilkoblingen er blitt gjenopprettet."</string>
<string name="clear_history">"Slett logg"</string>
@@ -235,7 +235,8 @@
<string name="download_no_sdcard_dlg_title">"Mangler minnekort"</string>
<string name="download_no_sdcard_dlg_msg">"Du trenger et minnekort for å laste ned <xliff:g id="FILENAME">%s</xliff:g>."</string>
<string name="download_sdcard_busy_dlg_title">"Minnekort utilgjengelig"</string>
- <string name="download_sdcard_busy_dlg_msg">"Minnekortet er opptatt. For å tillatte nedlastinger, gå til Hjem &gt; Innstillinger &gt; Minnekort og telefonlagring, og fjern haken ved \\\\\\\"Bruk for USB-lagring\\\\\\\"-boksen."</string>
+ <!-- no translation found for download_sdcard_busy_dlg_msg (3473883538192835204) -->
+ <skip />
<string name="download_no_application">"Fant ingen applikasjon som kunne åpne denne filen."</string>
<string name="retry">"Prøv igjen"</string>
<string name="no_downloads">"Nedlastingsloggen er tom."</string>
@@ -252,25 +253,21 @@
<string name="download_precondition_failed">"Nedlastingen ble avbrutt. Den kan ikke fortsettes."</string>
<string name="activity_instrumentation_test_runner">"Browser Test Runner"</string>
<string name="search_google">"Søk på Google"</string>
- <string name="permlab_readHistoryBookmarks">"read Browser\\\\\\\'s history and bookmarks"</string>
- <string name="permdesc_readHistoryBookmarks">"Allows the application to read all the URLs that the Browser has visited, and all of the Browser\\\\\\\'s bookmarks."</string>
- <string name="permlab_writeHistoryBookmarks">"write Browser\\\\\\\'s history and bookmarks"</string>
- <string name="permdesc_writeHistoryBookmarks">"Allows an application to modify the Browser\\\\\\\'s history or bookmarks stored on your phone. Malicious applications can use this to erase or modify your Browser\\\\\\\'s data."</string>
+ <string name="permlab_readHistoryBookmarks">"read Browser\'s history and bookmarks"</string>
+ <string name="permdesc_readHistoryBookmarks">"Allows the application to read all the URLs that the Browser has visited, and all of the Browser\'s bookmarks."</string>
+ <string name="permlab_writeHistoryBookmarks">"write Browser\'s history and bookmarks"</string>
+ <string name="permdesc_writeHistoryBookmarks">"Allows an application to modify the Browser\'s history or bookmarks stored on your phone. Malicious applications can use this to erase or modify your Browser\'s data."</string>
<!-- no translation found for query_data_prompt (5474381240981604223) -->
<skip />
- <!-- no translation found for query_data_message (8789381063185445197) -->
- <skip />
+ <string name="query_data_message">"Nettsiden under ønsker å lagre informasjon på datamaskinen ved hjelp av Gears."</string>
<!-- no translation found for location_prompt (226262202057302423) -->
<skip />
- <!-- no translation found for location_message (6790400729681341258) -->
- <skip />
+ <string name="location_message">"Nettsiden under ønsker å finne ut hvor du er ved hjelp av Gears."</string>
<!-- no translation found for shortcut_prompt (437193299088893596) -->
<skip />
- <!-- no translation found for shortcut_message (4793042709293755892) -->
- <skip />
+ <string name="shortcut_message">"Denne nettsiden ønsker å lage en snarvei på datamaskinen. Ønsker du å tillate dette?"</string>
<string name="settings_message">"Tabellen under viser rettighetent du har gitt til hver side som har prøvd å bruke Gears."</string>
- <!-- no translation found for filepicker_message (4929726371602896039) -->
- <skip />
+ <string name="filepicker_message">"Gears filplukker"</string>
<!-- no translation found for image_message (5450245866521896891) -->
<skip />
<string name="settings_title">"Gears-innstillinger"</string>
@@ -293,7 +290,7 @@
<skip />
<!-- no translation found for settings_confirmation_remove_title (5360857296753219635) -->
<skip />
- <!-- no translation found for settings_confirmation_remove (3214500052347860516) -->
+ <!-- no translation found for settings_confirmation_remove (585560170733446898) -->
<skip />
<!-- no translation found for storage_notification (6534213782873968255) -->
<skip />
@@ -305,14 +302,10 @@
<skip />
<!-- no translation found for shortcut_notification (1659700220868444568) -->
<skip />
- <!-- no translation found for permission_button_alwaysdeny (3837055994905214848) -->
- <skip />
- <!-- no translation found for permission_button_allow (7301874925704148242) -->
- <skip />
- <!-- no translation found for permission_button_deny (104712269725153018) -->
- <skip />
- <!-- no translation found for shortcut_button_alwaysdeny (4172277731325126605) -->
- <skip />
+ <string name="permission_button_alwaysdeny">"Aldri tillat for denne siden"</string>
+ <string name="permission_button_allow">"Tillat"</string>
+ <string name="permission_button_deny">"Nekt"</string>
+ <string name="shortcut_button_alwaysdeny">"Aldri tillat denne snarveien"</string>
<string name="shortcut_button_allow">"OK"</string>
<string name="shortcut_button_deny">"Avbryt"</string>
<string name="settings_button_allow">"Bruk"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index e548ea7..7f45a44 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -27,7 +27,7 @@
<string name="action">"Aanmelden"</string>
<string name="cancel">"Annuleren"</string>
<string name="ok">"OK"</string>
- <string name="matches_found">"overeenkomsten"</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>
@@ -75,7 +75,7 @@
<string name="bookmark_url_not_valid">"URL is ongeldig."</string>
<string name="delete_bookmark">"Verwijderen"</string>
<string name="bookmark_page">"Bladwijzer maken voor de laatst weergegeven pagina"</string>
- <string name="current_page">"van"</string>
+ <string name="current_page">"van "</string>
<string name="delete_bookmark_warning">"Bladwijzer \'<xliff:g id="BOOKMARK">%s</xliff:g>\' wordt verwijderd."</string>
<string name="open_in_new_window">"Openen in een nieuw venster"</string>
<string name="new_window">"Nieuw venster"</string>
@@ -200,7 +200,7 @@
<string name="browserFrameNetworkErrorLabel">"Probleem met gegevensverbinding"</string>
<string name="browserFrameFileErrorLabel">"Probleem met bestand"</string>
<string name="browserFrameFormResubmitLabel">"Bevestigen"</string>
- <string name="browserFrameFormResubmitMessage">"De pagina die u probeert te openen, bevat gegevens die al verzonden zijn (\'POSTDATA\'). Als u de gegevens opnieuw verzendt, wordt elke actie herhaald die het formulier op de pagina heeft uitgevoerd (zoals een zoekopdracht of online aankoop)."</string>
+ <string name="browserFrameFormResubmitMessage">"De pagina die u probeert te openen, bevat gegevens die al verzonden zijn (\'POSTDATA\'). Als u de gegevens opnieuw verzendt, wordt elke actie herhaald die het formulier op de pagina heeft uitgevoerd (zoals een zoekopdracht of online aanschaf)."</string>
<string name="loadSuspendedTitle">"Geen netwerkverbinding"</string>
<string name="loadSuspended">"De pagina wordt verder geladen zodra de verbinding is hersteld."</string>
<string name="clear_history">"Geschiedenis wissen"</string>
@@ -235,7 +235,8 @@
<string name="download_no_sdcard_dlg_title">"Geen SD-kaart"</string>
<string name="download_no_sdcard_dlg_msg">"Een SD-kaart is vereist om <xliff:g id="FILENAME">%s</xliff:g> te kunnen downloaden."</string>
<string name="download_sdcard_busy_dlg_title">"SD-kaart niet beschikbaar"</string>
- <string name="download_sdcard_busy_dlg_msg">"De SD-kaart is in gebruik. Als u downloads wilt toestaan, gaat u naar de spartpagina en selecteert u \'Instellingen\' &gt; \'SD-kaart en telefoongeheugen\' en verwijdert u het vinkje uit het selectievakje \'Gebruiken voor USB-opslag\'."</string>
+ <!-- no translation found for download_sdcard_busy_dlg_msg (3473883538192835204) -->
+ <skip />
<string name="download_no_application">"Er is geen toepassing gevonden waarmee dit bestand kan worden geopend."</string>
<string name="retry">"Opnieuw proberen"</string>
<string name="no_downloads">"Downloadgeschiedenis is leeg."</string>
@@ -262,7 +263,7 @@
<skip />
<!-- no translation found for location_prompt (226262202057302423) -->
<skip />
- <!-- no translation found for location_message (6790400729681341258) -->
+ <!-- no translation found for location_message (1729456751935683242) -->
<skip />
<!-- no translation found for shortcut_prompt (437193299088893596) -->
<skip />
@@ -293,7 +294,7 @@
<skip />
<!-- no translation found for settings_confirmation_remove_title (5360857296753219635) -->
<skip />
- <!-- no translation found for settings_confirmation_remove (3214500052347860516) -->
+ <!-- no translation found for settings_confirmation_remove (585560170733446898) -->
<skip />
<!-- no translation found for storage_notification (6534213782873968255) -->
<skip />
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index f113a89..6523df1 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -15,7 +15,7 @@
-->
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="application_name">"Przeglądarka"</string>
+ <string name="application_name">"Internet"</string>
<string name="tab_bookmarks">"Zakładki"</string>
<string name="tab_most_visited">"Najczęściej odwiedzane"</string>
<string name="tab_history">"Historia"</string>
@@ -27,13 +27,13 @@
<string name="action">"Zaloguj się"</string>
<string name="cancel">"Anuluj"</string>
<string name="ok">"OK"</string>
- <string name="matches_found">"dopasowania"</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>
<string name="ssl_warnings_header">"Są problemy z certyfikatem zabezpieczeń tej strony."</string>
- <string name="ssl_continue">"Kontynuuj"</string>
+ <string name="ssl_continue">"Dalej"</string>
<string name="security_warning">"Ostrzeżenie zabezpieczeń"</string>
<string name="view_certificate">"Wyświetl certyfikat"</string>
<string name="ssl_untrusted">"Ten certyfikat nie pochodzi od zaufanego urzędu."</string>
@@ -75,15 +75,15 @@
<string name="bookmark_url_not_valid">"Adres URL jest nieprawidłowy."</string>
<string name="delete_bookmark">"Usuń"</string>
<string name="bookmark_page">"Dodaj do zakładek ostatnio wyświetlaną stronę"</string>
- <string name="current_page">"z"</string>
+ <string name="current_page">"z "</string>
<string name="delete_bookmark_warning">"Zakładka „<xliff:g id="BOOKMARK">%s</xliff:g>” zostanie usunięta."</string>
<string name="open_in_new_window">"Otwórz w nowym oknie"</string>
<string name="new_window">"Nowe okno"</string>
<string name="goto_dot">"Idź"</string>
<string name="find_dot">"Znajdź na stronie"</string>
- <string name="select_dot">"Wybierz tekst"</string>
+ <string name="select_dot">"Zaznacz tekst"</string>
<string name="view_tabs">"Przegląd okien"</string>
- <string name="view_tabs_condensed">"Windows"</string>
+ <string name="view_tabs_condensed">"Okna"</string>
<string name="tab_picker_title">"Bieżące okna"</string>
<string name="tab_picker_view_tab">"Wyświetl"</string>
<string name="tab_picker_new_tab">"Nowe okno"</string>
@@ -115,18 +115,18 @@
<string name="pref_content_title">"Ustawienia zawartości stron"</string>
<string name="pref_content_load_images">"Wczytuj obrazy"</string>
<string name="pref_content_load_images_summary">"Wyświetlaj obrazy na stronach WWW"</string>
- <string name="pref_content_block_popups">"Blokuj okienka wyskakujące"</string>
+ <string name="pref_content_block_popups">"Blokuj wyskakujące okna"</string>
<string name="pref_content_javascript">"Włącz skrypty JavaScript"</string>
<string name="pref_content_open_in_background">"Otwórz w tle"</string>
- <string name="pref_content_open_in_background_summary">"Nowe okna są otwierane za bieżącym"</string>
+ <string name="pref_content_open_in_background_summary">"Nowe okna są otwierane w tle"</string>
<string name="pref_content_homepage">"Ustaw stronę główną"</string>
- <string name="pref_content_autofit">"Automatycznie dopasowuj strony"</string>
+ <string name="pref_content_autofit">"Autodopasowanie stron"</string>
<string name="pref_content_autofit_summary">"Formatuj strony WWW, aby mieściły się na ekranie"</string>
<string name="pref_privacy_title">"Ustawienia prywatności"</string>
<string name="pref_privacy_clear_cache">"Wyczyść pamięć podręczną"</string>
<string name="pref_privacy_clear_cache_summary">"Usuń całą zawartość stron z pamięci podręcznej"</string>
<string name="pref_privacy_clear_cache_dlg">"Pamięć podręczna zostanie wyczyszczona."</string>
- <string name="pref_privacy_clear_cookies">"Wyczyść wszystkie dane plików cookie"</string>
+ <string name="pref_privacy_clear_cookies">"Wyczyść wszystkie cookies"</string>
<string name="pref_privacy_clear_cookies_summary">"Wyczyść pliki cookie przeglądarki"</string>
<string name="pref_privacy_clear_cookies_dlg">"Wszystkie pliki cookie zostaną usunięte."</string>
<string name="pref_privacy_clear_history">"Wyczyść historię"</string>
@@ -141,9 +141,9 @@
<string name="pref_security_title">"Ustawienia zabezpieczeń"</string>
<string name="pref_security_remember_passwords">"Zapamiętuj hasła"</string>
<string name="pref_security_remember_passwords_summary">"Zapamiętuj nazwy użytkownika i hasła do stron WWW"</string>
- <string name="pref_security_save_form_data">"Zapamiętaj dane formularza"</string>
+ <string name="pref_security_save_form_data">"Zapamiętuj wpisane dane"</string>
<string name="pref_security_save_form_data_summary">"Zapamiętuj do późniejszego użycia dane, które wpisuję w formularzach"</string>
- <string name="pref_security_show_security_warning">"Wyświetlaj ostrzeżenia zabezpieczeń"</string>
+ <string name="pref_security_show_security_warning">"Wyświetlaj ostrzeżenia"</string>
<string name="pref_security_show_security_warning_summary">"Wyświetl ostrzeżenie w razie problemów z zabezpieczeniami strony"</string>
<string name="pref_security_accept_cookies">"Akceptuj pliki cookie"</string>
<string name="pref_security_accept_cookies_summary">"Zezwalaj witrynom na zapis i odczyt danych plików „cookie”."</string>
@@ -159,12 +159,12 @@
<string name="pref_extras_title">"Ustawienia zaawansowane"</string>
<string name="pref_extras_gears_enable">"Włącz technologię Gears"</string>
<string name="pref_extras_gears_enable_summary">"Aplikacje rozszerzające zakres funkcji przeglądarki"</string>
- <string name="pref_extras_gears_settings">"Gears — ustawienia"</string>
+ <string name="pref_extras_gears_settings">"Gears – ustawienia"</string>
<string name="pref_plugin_installed">"Lista dodatków plug-in"</string>
<string name="pref_plugin_installed_empty_list">"Brak zainstalowanych dodatków plug-in."</string>
<string name="pref_extras_gears_settings_summary">"Aplikacje rozszerzające zakres funkcji przeglądarki"</string>
<string name="pref_extras_reset_default">"Przywróć wartości domyślne"</string>
- <string name="pref_extras_reset_default_summary">"Wyczyść wszystkie dane przeglądarki i przywróć wszystkie ustawienia do wartości domyślnych"</string>
+ <string name="pref_extras_reset_default_summary">"Wyczyść wszystkie dane przeglądarki i przywróć wszystkie ustawienia domyślne"</string>
<string name="pref_extras_reset_default_dlg">"Wszystkie dane przeglądarki zostaną wyczyszczone, a ustawienia powrócą do wartości domyślnych."</string>
<string name="pref_extras_reset_default_dlg_title">"Przywróć wartości domyślne"</string>
<string name="pref_development_title">"Debugowanie"</string>
@@ -209,7 +209,7 @@
<string name="add_new_bookmark">"Dodaj do zakładek..."</string>
<string name="no_database">"Brak bazy danych!"</string>
<string name="search_hint">"Wpisz adres WWW"</string>
- <string name="search_button_text">"Idź"</string>
+ <string name="search_button_text">"Otwórz"</string>
<string name="attention">"Uwaga"</string>
<string name="popup_window_attempt">"Ta strona próbuje otworzyć okienko wyskakujące."</string>
<string name="allow">"Zezwól"</string>
@@ -235,7 +235,8 @@
<string name="download_no_sdcard_dlg_title">"Brak karty SD"</string>
<string name="download_no_sdcard_dlg_msg">"Do pobrania pliku <xliff:g id="FILENAME">%s</xliff:g> potrzebna jest karta SD."</string>
<string name="download_sdcard_busy_dlg_title">"Karta SD jest niedostępna"</string>
- <string name="download_sdcard_busy_dlg_msg">"Karta SD jest zajęta. Aby zezwolić na pobieranie, przejdź do Strona główna &gt; Ustawienia &gt; Karta SD i pamięć telefonu, a następnie usuń zaznaczenie pola wyboru „Użyj dla pamięci USB”."</string>
+ <!-- no translation found for download_sdcard_busy_dlg_msg (3473883538192835204) -->
+ <skip />
<string name="download_no_application">"Nie można znaleźć pliku do otwarcia tego programu."</string>
<string name="retry">"Spróbuj ponownie"</string>
<string name="no_downloads">"Historia pobierania jest pusta."</string>
@@ -262,7 +263,7 @@
<skip />
<!-- no translation found for location_prompt (226262202057302423) -->
<skip />
- <!-- no translation found for location_message (6790400729681341258) -->
+ <!-- no translation found for location_message (1729456751935683242) -->
<skip />
<!-- no translation found for shortcut_prompt (437193299088893596) -->
<skip />
@@ -273,7 +274,7 @@
<skip />
<!-- no translation found for image_message (5450245866521896891) -->
<skip />
- <string name="settings_title">"Gears — ustawienia"</string>
+ <string name="settings_title">"Gears – ustawienia"</string>
<string name="privacy_policy">"Przeczytaj zasady zachowania poufności informacji witryny, aby dowiedzieć się, jak będą użyte informacje o twojej lokalizacji."</string>
<!-- no translation found for settings_storage_title (7089119630457156408) -->
<skip />
@@ -293,7 +294,7 @@
<skip />
<!-- no translation found for settings_confirmation_remove_title (5360857296753219635) -->
<skip />
- <!-- no translation found for settings_confirmation_remove (3214500052347860516) -->
+ <!-- no translation found for settings_confirmation_remove (585560170733446898) -->
<skip />
<!-- no translation found for storage_notification (6534213782873968255) -->
<skip />
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 01f8dc3..4b4b677 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -27,7 +27,7 @@
<string name="action">"Войти"</string>
<string name="cancel">"Отмена"</string>
<string name="ok">"ОК"</string>
- <string name="matches_found">"совпадений(я)"</string>
+ <string name="matches_found">" совпадений(я)"</string>
<string name="zero">"Нет"</string>
<string name="page_info">"Сведения о странице"</string>
<string name="page_info_view">"Просмотреть сведения о странице"</string>
@@ -75,7 +75,7 @@
<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">"из "</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>
@@ -235,7 +235,8 @@
<string name="download_no_sdcard_dlg_title">"Нет карты SD"</string>
<string name="download_no_sdcard_dlg_msg">"Для загрузки файла <xliff:g id="FILENAME">%s</xliff:g> нужна карта SD."</string>
<string name="download_sdcard_busy_dlg_title">"Карта SD недоступна"</string>
- <string name="download_sdcard_busy_dlg_msg">"Карта SD занята. Чтобы разрешить загрузки, выберите Главный экран &gt; Настройки &gt; Карта SD &gt; Хранилище телефона и снимите флажок \"Использовать в качестве USB-хранилища\"."</string>
+ <!-- no translation found for download_sdcard_busy_dlg_msg (3473883538192835204) -->
+ <skip />
<string name="download_no_application">"Не удалось найти приложение для открытия этого файла."</string>
<string name="retry">"Повторить"</string>
<string name="no_downloads">"История загрузок пуста."</string>
@@ -262,7 +263,7 @@
<skip />
<!-- no translation found for location_prompt (226262202057302423) -->
<skip />
- <!-- no translation found for location_message (6790400729681341258) -->
+ <!-- no translation found for location_message (1729456751935683242) -->
<skip />
<!-- no translation found for shortcut_prompt (437193299088893596) -->
<skip />
@@ -293,7 +294,7 @@
<skip />
<!-- no translation found for settings_confirmation_remove_title (5360857296753219635) -->
<skip />
- <!-- no translation found for settings_confirmation_remove (3214500052347860516) -->
+ <!-- no translation found for settings_confirmation_remove (585560170733446898) -->
<skip />
<!-- no translation found for storage_notification (6534213782873968255) -->
<skip />
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 9838012..a55556b 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -27,7 +27,7 @@
<string name="action">"登录"</string>
<string name="cancel">"取消"</string>
<string name="ok">"确定"</string>
- <string name="matches_found">"匹配项"</string>
+ <string name="matches_found">" 匹配项"</string>
<string name="zero">"否"</string>
<string name="page_info">"页面信息"</string>
<string name="page_info_view">"查看页面信息"</string>
@@ -75,7 +75,7 @@
<string name="bookmark_url_not_valid">"网址无效。"</string>
<string name="delete_bookmark">"删除"</string>
<string name="bookmark_page">"将上次查看过的页面加为书签"</string>
- <string name="current_page">"来源"</string>
+ <string name="current_page">"来源 "</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>
@@ -235,7 +235,8 @@
<string name="download_no_sdcard_dlg_title">"无 SD 卡"</string>
<string name="download_no_sdcard_dlg_msg">"需要 SD 卡才能下载 <xliff:g id="FILENAME">%s</xliff:g>。"</string>
<string name="download_sdcard_busy_dlg_title">"SD 卡不可用"</string>
- <string name="download_sdcard_busy_dlg_msg">"SD 卡正忙。要允许下载,请访问“主页”&gt;“设置”&gt;“SD 卡和手机存储”,然后取消选中“用于 USB 存储”复选框。"</string>
+ <!-- no translation found for download_sdcard_busy_dlg_msg (3473883538192835204) -->
+ <skip />
<string name="download_no_application">"无法找到可打开此文件的应用程序。"</string>
<string name="retry">"重试"</string>
<string name="no_downloads">"下载历史记录为空。"</string>
@@ -262,7 +263,7 @@
<skip />
<!-- no translation found for location_prompt (226262202057302423) -->
<skip />
- <!-- no translation found for location_message (6790400729681341258) -->
+ <!-- no translation found for location_message (1729456751935683242) -->
<skip />
<!-- no translation found for shortcut_prompt (437193299088893596) -->
<skip />
@@ -293,7 +294,7 @@
<skip />
<!-- no translation found for settings_confirmation_remove_title (5360857296753219635) -->
<skip />
- <!-- no translation found for settings_confirmation_remove (3214500052347860516) -->
+ <!-- no translation found for settings_confirmation_remove (585560170733446898) -->
<skip />
<!-- no translation found for storage_notification (6534213782873968255) -->
<skip />
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 7ae4355..3dd3ec7 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -27,7 +27,7 @@
<string name="action">"登入"</string>
<string name="cancel">"取消"</string>
<string name="ok">"確定"</string>
- <string name="matches_found">"個符合項目"</string>
+ <string name="matches_found">" 個符合項目"</string>
<string name="zero">"否"</string>
<string name="page_info">"頁面資訊"</string>
<string name="page_info_view">"檢視頁面資訊"</string>
@@ -75,7 +75,7 @@
<string name="bookmark_url_not_valid">"網址無效。"</string>
<string name="delete_bookmark">"刪除"</string>
<string name="bookmark_page">"最後瀏覽的書籤頁面"</string>
- <string name="current_page">"來源"</string>
+ <string name="current_page">"來源 "</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>
@@ -235,7 +235,8 @@
<string name="download_no_sdcard_dlg_title">"沒有 SD 卡"</string>
<string name="download_no_sdcard_dlg_msg">"需要 SD 卡下載 <xliff:g id="FILENAME">%s</xliff:g>。"</string>
<string name="download_sdcard_busy_dlg_title">"無法使用 SD 卡"</string>
- <string name="download_sdcard_busy_dlg_msg">"SD 卡忙碌中。若要允許下載,請前往 [首頁] &gt; [設定] &gt; [SD 卡和電話儲存空間],然後清除 [使用作為 USB 儲存空間] 核取方塊。"</string>
+ <!-- no translation found for download_sdcard_busy_dlg_msg (3473883538192835204) -->
+ <skip />
<string name="download_no_application">"找不到可以開啟這個檔案的應用程式。"</string>
<string name="retry">"重試"</string>
<string name="no_downloads">"下載記錄是空的。"</string>
@@ -262,7 +263,7 @@
<skip />
<!-- no translation found for location_prompt (226262202057302423) -->
<skip />
- <!-- no translation found for location_message (6790400729681341258) -->
+ <!-- no translation found for location_message (1729456751935683242) -->
<skip />
<!-- no translation found for shortcut_prompt (437193299088893596) -->
<skip />
@@ -293,7 +294,7 @@
<skip />
<!-- no translation found for settings_confirmation_remove_title (5360857296753219635) -->
<skip />
- <!-- no translation found for settings_confirmation_remove (3214500052347860516) -->
+ <!-- no translation found for settings_confirmation_remove (585560170733446898) -->
<skip />
<!-- no translation found for storage_notification (6534213782873968255) -->
<skip />
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 4426ec9..f34b640 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -37,9 +37,6 @@
<!-- Gears Dialogs -->
<color name="permission_border">#f1cc1d</color>
<color name="permission_background">#faefb8</color>
- <color name="shortcut_border">#e8e8e8</color>
- <color name="shortcut_background">#f8f8f8</color>
- <color name="icon_selection">#ff7a00</color>
<color name="dialog_link">#ff0000ff</color>
</resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 78ce306..d605657 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -527,7 +527,7 @@
<!-- Message for a dialog informing the user that the SD card used for
external storage is busy so they cannot download anything. Informs
the user how to enable SD card storage -->
- <string name="download_sdcard_busy_dlg_msg">The SD card is busy. To allow downloads, go to Home > Settings > SD card &amp; phone storage and clear the \"Use for USB storage\" check box.</string>
+ <string name="download_sdcard_busy_dlg_msg">The SD card is busy. To allow downloads, select \"Turn off USB storage\" in the notification.</string>
<!-- Message for a dialog informing the user that there is no application on
the phone that can open the file that was downloaded -->
@@ -585,6 +585,8 @@
<string-array name="bookmarks" translatable="false">
<item>Google</item>
<item>http://www.google.com/</item>
+ <item>Picasa Web Albums</item>
+ <item>http://picasaweb.google.com/m/viewer?source=androidclient</item>
<item>Yahoo!</item>
<item>http://www.yahoo.com/</item>
<item>MSN</item>
diff --git a/res/xml/searchable.xml b/res/xml/searchable.xml
index d7ef778..bb578c6 100644
--- a/res/xml/searchable.xml
+++ b/res/xml/searchable.xml
@@ -25,6 +25,7 @@
android:searchMode="queryRewriteFromData"
android:voiceSearchMode="showVoiceSearchButton|launchWebSearch"
android:inputType="textUri"
+ android:imeOptions="actionGo"
android:searchSuggestAuthority="browser"
android:searchSuggestSelection="url LIKE ?"
diff --git a/src/com/android/browser/AddBookmarkPage.java b/src/com/android/browser/AddBookmarkPage.java
index 23c0fac..cf3fe70 100644
--- a/src/com/android/browser/AddBookmarkPage.java
+++ b/src/com/android/browser/AddBookmarkPage.java
@@ -119,16 +119,13 @@ public class AddBookmarkPage extends Activity {
boolean emptyTitle = title.length() == 0;
boolean emptyUrl = unfilteredUrl.trim().length() == 0;
Resources r = getResources();
- if (emptyTitle) {
+ if (emptyTitle || emptyUrl) {
+ if (emptyTitle) {
+ mTitle.setError(r.getText(R.string.bookmark_needs_title));
+ }
if (emptyUrl) {
- setTitle(r.getText(R.string.empty_bookmark));
- return false;
- }
- setTitle(r.getText(R.string.bookmark_needs_title));
- return false;
- }
- if (emptyUrl) {
- setTitle(r.getText(R.string.bookmark_needs_url));
+ mAddress.setError(r.getText(R.string.bookmark_needs_url));
+ }
return false;
}
String url = unfilteredUrl;
@@ -138,11 +135,11 @@ public class AddBookmarkPage extends Activity {
try {
address = new WebAddress(unfilteredUrl);
} catch (ParseException e) {
- setTitle(r.getText(R.string.bookmark_url_not_valid));
+ mAddress.setError(r.getText(R.string.bookmark_url_not_valid));
return false;
}
if (address.mHost.length() == 0) {
- setTitle(r.getText(R.string.bookmark_url_not_valid));
+ mAddress.setError(r.getText(R.string.bookmark_url_not_valid));
return false;
}
url = address.toString();
diff --git a/src/com/android/browser/BrowserActivity.java b/src/com/android/browser/BrowserActivity.java
index 0ca4248..6179da2 100644
--- a/src/com/android/browser/BrowserActivity.java
+++ b/src/com/android/browser/BrowserActivity.java
@@ -1950,15 +1950,17 @@ public class BrowserActivity extends Activity
public void run() {
// Remove the AnimatingView.
mContentView.removeView(view);
- // Make newIndex visible.
- mTabOverview.setCurrentIndex(newIndex);
- // Restore the listener.
- mTabOverview.setListener(mTabListener);
- // Change the menu to TAB_MENU if the
- // ImageGrid is interactive.
- if (mTabOverview.isLive()) {
- mMenuState = R.id.TAB_MENU;
- mTabOverview.requestFocus();
+ if (mTabOverview != null) {
+ // Make newIndex visible.
+ mTabOverview.setCurrentIndex(newIndex);
+ // Restore the listener.
+ mTabOverview.setListener(mTabListener);
+ // Change the menu to TAB_MENU if the
+ // ImageGrid is interactive.
+ if (mTabOverview.isLive()) {
+ mMenuState = R.id.TAB_MENU;
+ mTabOverview.requestFocus();
+ }
}
// If a remove was requested, remove the tab.
if (remove) {
@@ -1976,10 +1978,12 @@ public class BrowserActivity extends Activity
if (currentTab != tab) {
mTabControl.setCurrentTab(currentTab);
}
- mTabOverview.remove(newIndex);
- // Make the current tab visible.
- mTabOverview.setCurrentIndex(
- mTabControl.getCurrentIndex());
+ if (mTabOverview != null) {
+ mTabOverview.remove(newIndex);
+ // Make the current tab visible.
+ mTabOverview.setCurrentIndex(
+ mTabControl.getCurrentIndex());
+ }
}
}
});
diff --git a/src/com/android/browser/BrowserHistoryPage.java b/src/com/android/browser/BrowserHistoryPage.java
index c529fe8..42ca848 100644
--- a/src/com/android/browser/BrowserHistoryPage.java
+++ b/src/com/android/browser/BrowserHistoryPage.java
@@ -115,11 +115,18 @@ public class BrowserHistoryPage extends ExpandableListActivity {
addContentView(v, new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.FILL_PARENT));
list.setEmptyView(v);
- list.post(new Runnable() {
- public void run() {
- list.expandGroup(0);
- }
- });
+ // Do not post the runnable if there is nothing in the list.
+ if (list.getExpandableListAdapter().getGroupCount() > 0) {
+ list.post(new Runnable() {
+ public void run() {
+ // In case the history gets cleared before this event
+ // happens.
+ if (list.getExpandableListAdapter().getGroupCount() > 0) {
+ list.expandGroup(0);
+ }
+ }
+ });
+ }
mMaxTabsOpen = getIntent().getBooleanExtra("maxTabsOpen", false);
CombinedBookmarkHistoryActivity.getIconListenerSet(getContentResolver())
.addListener(mIconReceiver);
@@ -258,9 +265,12 @@ public class BrowserHistoryPage extends ExpandableListActivity {
private class HistoryAdapter implements ExpandableListAdapter {
- // Map of items. Negative values are labels, positive values
- // and zero are cursor offsets.
+ // Array for each of our bins. Each entry represents how many items are
+ // in that bin.
int mItemMap[];
+ // This is our GroupCount. We will have at most DateSorter.DAY_COUNT
+ // bins, less if the user has no items in one or more bins.
+ int mNumberOfBins;
Vector<DataSetObserver> mObservers;
Cursor mCursor;
@@ -295,12 +305,14 @@ public class BrowserHistoryPage extends ExpandableListActivity {
for (int j = 0; j < DateSorter.DAY_COUNT; j++) {
array[j] = 0;
}
+ mNumberOfBins = 0;
int dateIndex = -1;
if (mCursor.moveToFirst() && mCursor.getCount() > 0) {
while (!mCursor.isAfterLast()) {
long date = mCursor.getLong(Browser.HISTORY_PROJECTION_DATE_INDEX);
int index = mDateSorter.getIndex(date);
if (index > dateIndex) {
+ mNumberOfBins++;
if (index == DateSorter.DAY_COUNT - 1) {
// We are already in the last bin, so it will
// include all the remaining items
@@ -316,9 +328,37 @@ public class BrowserHistoryPage extends ExpandableListActivity {
}
mItemMap = array;
}
-
+
+ // This translates from a group position in the Adapter to a position in
+ // our array. This is necessary because some positions in the array
+ // have no history items, so we simply do not present those positions
+ // to the Adapter.
+ private int groupPositionToArrayPosition(int groupPosition) {
+ if (groupPosition < 0 || groupPosition >= DateSorter.DAY_COUNT) {
+ throw new AssertionError("group position out of range");
+ }
+ if (DateSorter.DAY_COUNT == mNumberOfBins || 0 == mNumberOfBins) {
+ // In the first case, we have exactly the same number of bins
+ // as our maximum possible, so there is no need to do a
+ // conversion
+ // The second statement is in case this method gets called when
+ // the array is empty, in which case the provided groupPosition
+ // will do fine.
+ return groupPosition;
+ }
+ int arrayPosition = -1;
+ while (groupPosition > -1) {
+ arrayPosition++;
+ if (mItemMap[arrayPosition] != 0) {
+ groupPosition--;
+ }
+ }
+ return arrayPosition;
+ }
+
public View getChildView(int groupPosition, int childPosition, boolean isLastChild,
View convertView, ViewGroup parent) {
+ groupPosition = groupPositionToArrayPosition(groupPosition);
HistoryItem item;
if (null == convertView || !(convertView instanceof HistoryItem)) {
item = new HistoryItem(BrowserHistoryPage.this);
@@ -347,6 +387,7 @@ public class BrowserHistoryPage extends ExpandableListActivity {
}
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
+ groupPosition = groupPositionToArrayPosition(groupPosition);
TextView item;
if (null == convertView || !(convertView instanceof TextView)) {
LayoutInflater factory =
@@ -369,11 +410,11 @@ public class BrowserHistoryPage extends ExpandableListActivity {
}
public int getGroupCount() {
- return DateSorter.DAY_COUNT;
+ return mNumberOfBins;
}
public int getChildrenCount(int groupPosition) {
- return mItemMap[groupPosition];
+ return mItemMap[groupPositionToArrayPosition(groupPosition)];
}
public Object getGroup(int groupPosition) {
diff --git a/src/com/android/browser/BrowserHomepagePreference.java b/src/com/android/browser/BrowserHomepagePreference.java
index bc21143..d4708c3 100644
--- a/src/com/android/browser/BrowserHomepagePreference.java
+++ b/src/com/android/browser/BrowserHomepagePreference.java
@@ -48,8 +48,10 @@ public class BrowserHomepagePreference extends EditTextPreference implements
AlertDialog dialog = (AlertDialog) getDialog();
// This callback is called before the dialog has been fully constructed
if (dialog != null) {
+ String url = s.toString();
dialog.getButton(DialogInterface.BUTTON_POSITIVE).setEnabled(
- Regex.WEB_URL_PATTERN.matcher(s.toString()).matches());
+ url.length() == 0 || url.equals("about:blank") ||
+ Regex.WEB_URL_PATTERN.matcher(url).matches());
}
}
diff --git a/src/com/android/browser/BrowserPreferencesPage.java b/src/com/android/browser/BrowserPreferencesPage.java
index b23f750..5d6795b 100644
--- a/src/com/android/browser/BrowserPreferencesPage.java
+++ b/src/com/android/browser/BrowserPreferencesPage.java
@@ -83,8 +83,7 @@ public class BrowserPreferencesPage extends PreferenceActivity
if (needUpdate) {
value = value.trim().replace(" ", "%20");
}
- Uri path = Uri.parse(value);
- if (path.getScheme() == null) {
+ if (value.length() != 0 && Uri.parse(value).getScheme() == null) {
value = "http://" + value;
needUpdate = true;
}
diff --git a/src/com/android/browser/FindDialog.java b/src/com/android/browser/FindDialog.java
index 44109ff..43cd1c4 100644
--- a/src/com/android/browser/FindDialog.java
+++ b/src/com/android/browser/FindDialog.java
@@ -17,6 +17,7 @@
package com.android.browser;
import android.app.Dialog;
+import android.content.Context;
import android.content.res.Configuration;
import android.os.Bundle;
import android.os.Handler;
@@ -30,6 +31,7 @@ import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
+import android.view.inputmethod.InputMethodManager;
import android.webkit.WebView;
import android.widget.EditText;
import android.widget.TextView;
@@ -66,9 +68,19 @@ import android.widget.TextView;
throw new AssertionError("No WebView for FindDialog::onClick");
}
mWebView.findNext(false);
+ hideSoftInput();
}
};
-
+
+ /*
+ * Remove the soft keyboard from the screen.
+ */
+ private void hideSoftInput() {
+ InputMethodManager imm = (InputMethodManager)
+ mBrowserActivity.getSystemService(Context.INPUT_METHOD_SERVICE);
+ imm.hideSoftInputFromWindow(mEditText.getWindowToken(), 0);
+ }
+
private void disableButtons() {
mPrevButton.setEnabled(false);
mNextButton.setEnabled(false);
@@ -157,8 +169,9 @@ import android.widget.TextView;
throw new AssertionError("No WebView for FindDialog::findNext");
}
mWebView.findNext(true);
+ hideSoftInput();
}
-
+
public void show() {
super.show();
mEditText.requestFocus();
diff --git a/src/com/android/browser/GearsFilePickerDialog.java b/src/com/android/browser/GearsFilePickerDialog.java
deleted file mode 100644
index 10cc03f..0000000
--- a/src/com/android/browser/GearsFilePickerDialog.java
+++ /dev/null
@@ -1,930 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.browser;
-
-import android.app.Activity;
-import android.content.Context;
-import android.database.Cursor;
-import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
-import android.graphics.Color;
-import android.net.Uri;
-import android.os.Environment;
-import android.os.Handler;
-import android.os.Looper;
-import android.os.Message;
-import android.provider.MediaStore;
-import android.provider.MediaStore.Images.Media;
-import android.util.Log;
-import android.view.LayoutInflater;
-import android.view.MotionEvent;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.AdapterView;
-import android.widget.BaseAdapter;
-import android.widget.GridView;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.RandomAccessFile;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Vector;
-
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
-
-/**
- * Gears FilePicker dialog
- */
-class GearsFilePickerDialog extends GearsBaseDialog
- implements View.OnTouchListener {
-
- private static final String TAG = "Gears FilePicker";
- private static Bitmap mDirectoryIcon;
- private static Bitmap mDefaultIcon;
- private static Bitmap mImageIcon;
- private static Bitmap mBackIcon;
-
- private static String MULTIPLE_FILES = "MULTIPLE_FILES";
- private static String SINGLE_FILE = "SINGLE_FILE";
-
- private static ImagesLoad mImagesLoader;
- private static SystemThumbnails mSystemThumbnails;
- private FilePickerAdapter mAdapter;
- private String mSelectionMode;
- private boolean mMultipleSelection;
- private String mCurrentPath;
-
- // Disable saving thumbnails until this is refactored to fit into
- // existing schemes.
- private static final boolean enableSavedThumbnails = false;
-
- public GearsFilePickerDialog(Activity activity,
- Handler handler,
- String arguments) {
- super (activity, handler, arguments);
- mAdapter = new FilePickerAdapter(activity);
- parseArguments();
- }
-
- public void parseArguments() {
- mSelectionMode = MULTIPLE_FILES;
- try {
- JSONObject json = new JSONObject(mDialogArguments);
-
- if (json.has("mode")) {
- mSelectionMode = json.getString("mode");
- }
- } catch (JSONException e) {
- Log.e(TAG, "exc: " + e);
- }
- if (mSelectionMode.equalsIgnoreCase(SINGLE_FILE)) {
- mMultipleSelection = false;
- } else {
- mMultipleSelection = true;
- }
- }
-
- public void setup() {
- inflate(R.layout.gears_dialog_filepicker, R.id.panel_content);
- setupButtons(0,
- R.string.filepicker_button_allow,
- R.string.filepicker_button_deny);
- setupDialog();
-
- TextView textViewPath = (TextView) findViewById(R.id.path_name);
- if (textViewPath != null) {
- textViewPath.setText(R.string.filepicker_path);
- }
-
- GridView view = (GridView) findViewById(R.id.files_list);
- view.setAdapter(mAdapter);
- view.setOnTouchListener(this);
-
- showView(null, R.id.selection);
- setSelectionText();
-
- mImagesLoader = new ImagesLoad(mAdapter);
- mImagesLoader.setAdapterView(view);
- Thread imagesLoaderThread = new Thread(mImagesLoader);
- imagesLoaderThread.setPriority(Thread.MIN_PRIORITY);
- imagesLoaderThread.start();
-
- mSystemThumbnails = new SystemThumbnails();
- Thread systemThumbnailsThread = new Thread(mSystemThumbnails);
- systemThumbnailsThread.setPriority(Thread.MIN_PRIORITY);
- systemThumbnailsThread.start();
- }
-
- public void setSelectionText() {
- Vector elements = mAdapter.selectedElements();
- if (elements == null)
- return;
- TextView info = (TextView) findViewById(R.id.selection);
- int nbElements = elements.size();
- if (nbElements == 0) {
- info.setText(R.string.filepicker_no_files_selected);
- } else if (nbElements == 1) {
- info.setText(R.string.filepicker_one_file_selected);
- } else {
- info.setText(nbElements + " " +
- mActivity.getString(
- R.string.filepicker_some_files_selected));
- }
- }
-
- public void setCurrentPath(String path) {
- if (path != null) {
- mCurrentPath = path;
- TextView textViewPath = (TextView) findViewById(R.id.current_path);
- if (textViewPath != null) {
- textViewPath.setText(path);
- }
- }
- }
-
- public void setupDialog(TextView message, ImageView icon) {
- message.setText(R.string.filepicker_message);
- message.setTextSize(24);
- icon.setImageResource(R.drawable.ic_dialog_menu_generic);
- }
-
- public boolean onTouch(View v, MotionEvent event) {
- mImagesLoader.pauseIconRequest();
- return false;
- }
-
- /**
- * Utility class encapsulating thumbnails information
- * for a file (file image id and magic number)
- */
- class SystemThumbnailInfo {
- private long mID;
- private long mMagicNumber;
- SystemThumbnailInfo(long anID, long magicNumber) {
- mID = anID;
- mMagicNumber = magicNumber;
- }
- public long getID() {
- return mID;
- }
- public long getMagicNumber() {
- return mMagicNumber;
- }
- }
-
- /**
- * Utility class to pre-fetch the thumbnails information
- */
- class SystemThumbnails implements Runnable {
- private Map<String, SystemThumbnailInfo> mThumbnails;
-
- SystemThumbnails() {
- mThumbnails = Collections.synchronizedMap(new HashMap());
- }
-
- public void run() {
- Uri query = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
- Cursor cursor = mActivity.managedQuery(query,
- new String[] { "_id", "mini_thumb_magic", "_data" },
- null, null, null);
-
- if (cursor != null) {
- int count = cursor.getCount();
- for (int i = 0; i < count; i++) {
- cursor.moveToPosition(i);
- SystemThumbnailInfo info = new SystemThumbnailInfo(cursor.getLong(0),
- cursor.getLong(1));
- mThumbnails.put(cursor.getString(2), info);
- }
- }
- }
-
- public SystemThumbnailInfo getThumb(String path) {
- SystemThumbnailInfo ret = mThumbnails.get(path);
- if (ret == null) {
- Uri query = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
- Cursor cursor = mActivity.managedQuery(query,
- new String[] { "_id", "mini_thumb_magic", "_data" },
- "_data = ?", new String[] { path }, null);
- if (cursor != null && cursor.moveToFirst()) {
- long longid = cursor.getLong(0);
- long miniThumbMagic = cursor.getLong(1);
- ret = new SystemThumbnailInfo(longid, miniThumbMagic);
- mThumbnails.put(path, ret);
- }
- }
- return ret;
- }
- }
-
- /**
- * Utility class to load and generate thumbnails
- * for image files
- */
- class ImagesLoad implements Runnable {
- private Vector mImagesPath;
- private BaseAdapter mAdapter;
- private AdapterView mAdapterView;
- private Vector<FilePickerElement> mElements;
- private Handler mLoaderHandler;
- // We use the same value as in Camera.app's ImageManager.java
- private static final int BYTES_PER_MINI_THUMB = 10000;
- private final byte[] mMiniThumbData = new byte[BYTES_PER_MINI_THUMB];
- private final int MINI_THUMB_DATA_FILE_VERSION = 3;
- private final int THUMBNAIL_SIZE = 128;
- private Map<Uri, RandomAccessFile> mThumbFiles;
-
- ImagesLoad(BaseAdapter adapter) {
- mAdapter = adapter;
- mThumbFiles = Collections.synchronizedMap(new HashMap());
- }
-
- public void signalChanges() {
- Message message = mHandler.obtainMessage(GearsBaseDialog.NEW_ICON,
- mAdapter);
- mHandler.sendMessage(message);
- }
-
- private String getMiniThumbFileFromUri(Uri uri) {
- if (uri == null) {
- return null;
- }
- String directoryName =
- Environment.getExternalStorageDirectory().toString() +
- "/dcim/.thumbnails";
- String path = directoryName + "/.thumbdata" +
- MINI_THUMB_DATA_FILE_VERSION + "-" + uri.hashCode();
- return path;
- }
-
- private Bitmap getMiniThumbFor(Uri uri, long longid, long magic) {
- RandomAccessFile thumbFile = mThumbFiles.get(uri);
- try {
- if (thumbFile == null) {
- String path = getMiniThumbFileFromUri(uri);
- File f = new File(path);
- if (f.exists()) {
- thumbFile = new RandomAccessFile(f, "rw");
- mThumbFiles.put(uri, thumbFile);
- }
- }
- } catch (IOException ex) {
- }
- if (thumbFile == null) {
- return null;
- }
- byte[] data = getMiniThumbFromFile(thumbFile, longid,
- mMiniThumbData, magic);
- if (data != null) {
- return BitmapFactory.decodeByteArray(data, 0, data.length);
- }
- return null;
- }
-
- private byte [] getMiniThumbFromFile(RandomAccessFile r,
- long id,
- byte [] data,
- long magicCheck) {
- if (r == null)
- return null;
- long pos = id * BYTES_PER_MINI_THUMB;
- RandomAccessFile f = r;
- synchronized (f) {
- try {
- f.seek(pos);
- if (f.readByte() == 1) {
- long magic = f.readLong();
- if (magic != magicCheck) {
- return null;
- }
- int length = f.readInt();
- f.read(data, 0, length);
- return data;
- } else {
- return null;
- }
- } catch (IOException ex) {
- long fileLength;
- try {
- fileLength = f.length();
- } catch (IOException ex1) {
- fileLength = -1;
- }
- return null;
- }
- }
- }
-
- /*
- * Returns a thumbnail saved by the Camera application
- * We pre-cached the information (image id and magic number)
- * when starting the filepicker.
- */
- public Bitmap getSystemThumbnail(FilePickerElement elem) {
- if (elem.askedForSystemThumbnail() == false) {
- elem.setAskedForSystemThumbnail(true);
- String path = elem.getPath();
- SystemThumbnailInfo thumbInfo = mSystemThumbnails.getThumb(path);
- if (thumbInfo != null) {
- Uri query = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
- Bitmap bmp = getMiniThumbFor(query, thumbInfo.getID(),
- thumbInfo.getMagicNumber());
- if (bmp != null) {
- return bmp;
- }
- }
- }
- return null;
- }
-
- /*
- * Generate a thumbnail for a given element
- */
- public Bitmap generateImage(FilePickerElement elem) {
- String path = elem.getPath();
- Bitmap finalImage = null;
- try {
-
- // First we try to get the thumbnail from the system
- // (created by the Camera application)
-
- finalImage = getSystemThumbnail(elem);
- if (finalImage != null) {
- return finalImage;
- }
-
- // No thumbnail was found, so we have to create one
- //
- // First we get the image information and
- // determine the sampleSize
-
- BitmapFactory.Options options = new BitmapFactory.Options();
- options.inJustDecodeBounds = true;
- BitmapFactory.decodeFile(path, options);
-
- int width = options.outWidth;
- int height = options.outHeight;
- int sampleSize = 1;
- if (width > THUMBNAIL_SIZE || height > THUMBNAIL_SIZE) {
- sampleSize = 2;
- while ((width / sampleSize > 2*THUMBNAIL_SIZE)
- || (height / sampleSize > 2*THUMBNAIL_SIZE)) {
- sampleSize += 2;
- }
- }
- options.inJustDecodeBounds = false;
- options.inSampleSize = sampleSize;
- Bitmap originalImage = BitmapFactory.decodeFile(path, options);
- if (originalImage == null) {
- return null;
- }
-
- // Let's rescale the image to a THUMBNAIL_SIZE
-
- width = originalImage.getWidth();
- height = originalImage.getHeight();
-
- if (width > height) {
- width = (int) (width * (THUMBNAIL_SIZE / (double) height));
- height = THUMBNAIL_SIZE;
- } else {
- height = (int) (height * (THUMBNAIL_SIZE / (double) width));
- width = THUMBNAIL_SIZE;
- }
- originalImage = Bitmap.createScaledBitmap(originalImage,
- width, height, true);
-
- // We can now crop the image to a THUMBNAIL_SIZE rectangle
-
- width = originalImage.getWidth();
- height = originalImage.getHeight();
- int d = 0;
- if (width > height) {
- d = (width - height) / 2;
- finalImage = Bitmap.createBitmap(originalImage, d, 0,
- THUMBNAIL_SIZE, THUMBNAIL_SIZE);
- } else {
- d = (height - width) / 2;
- finalImage = Bitmap.createBitmap(originalImage, 0, d,
- THUMBNAIL_SIZE, THUMBNAIL_SIZE);
- }
-
- originalImage.recycle();
- } catch (java.lang.OutOfMemoryError e) {
- Log.e(TAG, "Intercepted OOM ", e);
- }
- return finalImage;
- }
-
- public void pauseIconRequest() {
- Message message = Message.obtain(mLoaderHandler,
- GearsBaseDialog.PAUSE_REQUEST_ICON);
- mLoaderHandler.sendMessageAtFrontOfQueue(message);
- }
-
- public void clearIconRequests() {
- Message message = Message.obtain(mLoaderHandler,
- GearsBaseDialog.CLEAR_REQUEST_ICON);
- mLoaderHandler.sendMessageAtFrontOfQueue(message);
- }
-
- public void postIconRequest(FilePickerElement item,
- int position,
- boolean front) {
- if (item == null) {
- return;
- }
- if (item.isImage() && (item.getThumbnail() == null)) {
- Message message = mLoaderHandler.obtainMessage(
- GearsBaseDialog.REQUEST_ICON, position, 0, item);
- if (front) {
- mLoaderHandler.sendMessageAtFrontOfQueue(message);
- } else {
- mLoaderHandler.sendMessage(message);
- }
- }
- }
-
- public boolean generateIcon(FilePickerElement elem) {
- if (elem.isImage()) {
- if (elem.getThumbnail() == null) {
- Bitmap image = generateImage(elem);
- if (image != null) {
- elem.setThumbnail(image);
- return true;
- }
- }
- }
- return false;
- }
-
- public void setAdapterView(AdapterView view) {
- mAdapterView = view;
- }
-
- public void run() {
- Looper.prepare();
- mLoaderHandler = new Handler() {
- public void handleMessage(Message msg) {
- if (msg.what == GearsBaseDialog.CLEAR_REQUEST_ICON) {
- mLoaderHandler.removeMessages(
- GearsBaseDialog.PAUSE_REQUEST_ICON);
- mLoaderHandler.removeMessages(
- GearsBaseDialog.REQUEST_ICON);
- } else if (msg.what == GearsBaseDialog.PAUSE_REQUEST_ICON) {
- try {
- // We are busy (likely) scrolling the view,
- // so we just pause the loading.
- Thread.sleep(1000);
- mLoaderHandler.removeMessages(
- GearsBaseDialog.PAUSE_REQUEST_ICON);
- } catch (InterruptedException e) {
- Log.e(TAG, "InterruptedException ", e);
- }
- } else if (msg.what == GearsBaseDialog.REQUEST_ICON) {
- FilePickerElement elem = (FilePickerElement) msg.obj;
- if (generateIcon(elem)) {
- signalChanges();
- }
- try {
- Thread.sleep(50);
- } catch (InterruptedException e) {
- Log.e(TAG, "InterruptedException ", e);
- }
- }
- }
- };
- Looper.loop();
- }
- }
-
- /**
- * Utility class representing an element displayed in the
- * file picker, associated with an icon and/or thumbnail
- */
- class FilePickerElement {
- private File mPath;
- private String mName;
- private Bitmap mIcon;
- private boolean mIsSelected;
- private Vector mChildren;
- private FilePickerElement mParent;
- private boolean mIsParent;
- private BaseAdapter mAdapter;
- private String mExtension;
- private Bitmap mThumbnail;
- private boolean mIsImage;
- private boolean mAskedForSystemThumbnail;
-
- public FilePickerElement(String name, BaseAdapter adapter) {
- this(name, adapter, null);
- }
-
- public FilePickerElement(String path, String name, BaseAdapter adapter) {
- this(path, name, adapter, null);
- }
-
- public FilePickerElement(String name,
- BaseAdapter adapter,
- FilePickerElement parent) {
- mName = name;
- mAdapter = adapter;
- mParent = parent;
- mIsSelected = false;
- mChildren = null;
- mAskedForSystemThumbnail = false;
- }
-
- public FilePickerElement(String path,
- String name,
- BaseAdapter adapter,
- FilePickerElement parent) {
- mPath = new File(path);
- mName = name;
- mIsSelected = false;
- mChildren = null;
- mParent = parent;
- mAdapter = adapter;
- mExtension = null;
- mAskedForSystemThumbnail = false;
-
- setIcons();
- }
-
- public void setAskedForSystemThumbnail(boolean value) {
- mAskedForSystemThumbnail = value;
- }
-
- public boolean askedForSystemThumbnail() {
- return mAskedForSystemThumbnail;
- }
-
- public void setIcons() {
- if (mPath.isDirectory()) {
- if (mDirectoryIcon == null) {
- mDirectoryIcon = BitmapFactory.decodeResource(
- getResources(), R.drawable.gears_folder);
- }
- mIcon = mDirectoryIcon;
-
- } else {
- if (isImage()) {
- if (mImageIcon == null) {
- mImageIcon = BitmapFactory.decodeResource(
- getResources(), R.drawable.gears_file_image);
- }
- mIcon = mImageIcon;
- } else if (isAudio()) {
- mIcon = BitmapFactory.decodeResource(
- getResources(), R.drawable.gears_file_audio);
- } else if (isVideo()) {
- mIcon = BitmapFactory.decodeResource(
- getResources(), R.drawable.gears_file_video);
- } else {
- if (mDefaultIcon == null) {
- mDefaultIcon = BitmapFactory.decodeResource(
- getResources(), R.drawable.gears_file_unknown);
- }
- mIcon = mDefaultIcon;
- }
- }
- if (mBackIcon == null) {
- mBackIcon = BitmapFactory.decodeResource(getResources(),
- com.android.internal.R.drawable.ic_menu_back);
- }
- }
-
- public boolean isImage() {
- if (mIsImage) return mIsImage;
- String extension = getExtension();
- if (extension != null) {
- if (extension.equalsIgnoreCase("jpg") ||
- extension.equalsIgnoreCase("jpeg") ||
- extension.equalsIgnoreCase("png") ||
- extension.equalsIgnoreCase("gif")) {
- mIsImage = true;
- return true;
- }
- }
- return false;
- }
-
- public boolean isAudio() {
- String extension = getExtension();
- if (extension != null) {
- if (extension.equalsIgnoreCase("mp3") ||
- extension.equalsIgnoreCase("wav") ||
- extension.equalsIgnoreCase("aac")) {
- return true;
- }
- }
- return false;
- }
-
- public boolean isVideo() {
- String extension = getExtension();
- if (extension != null) {
- if (extension.equalsIgnoreCase("mpg") ||
- extension.equalsIgnoreCase("mpeg") ||
- extension.equalsIgnoreCase("mpe") ||
- extension.equalsIgnoreCase("divx") ||
- extension.equalsIgnoreCase("3gpp") ||
- extension.equalsIgnoreCase("avi")) {
- return true;
- }
- }
- return false;
- }
-
- public void setParent(boolean isParent) {
- mIsParent = isParent;
- }
-
- public boolean isDirectory() {
- return mPath.isDirectory();
- }
-
- public String getExtension() {
- if (isDirectory()) {
- return null;
- }
- if (mExtension == null) {
- String path = getPath();
- int index = path.lastIndexOf(".");
- if ((index != -1) && (index != path.length() - 1)){
- // if we find a dot that is not the last character
- mExtension = path.substring(index+1);
- return mExtension;
- }
- }
- return mExtension;
- }
-
- public void refresh() {
- mChildren = null;
- Vector children = getChildren();
- mImagesLoader.clearIconRequests();
- }
-
- public Vector getChildren() {
- if (isDirectory()) {
- if (mChildren == null) {
- mChildren = new Vector();
- File[] files = mPath.listFiles();
- if (mParent != null) {
- mChildren.add(mParent);
- mParent.setParent(true);
- }
- for (int i = 0; i < files.length; i++) {
- String name = files[i].getName();
- String fpath = files[i].getPath();
- if (!name.startsWith(".")) { // hide dotfiles
- FilePickerElement elem = new FilePickerElement(fpath, name,
- mAdapter, this);
- elem.setParent(false);
- mChildren.add(elem);
- }
- }
- }
- }
- return mChildren;
- }
-
- public FilePickerElement getChild(int position) {
- Vector children = getChildren();
- if (children != null) {
- FilePickerElement elem = (FilePickerElement) children.get(position);
- return elem;
- }
- return null;
- }
-
- /*
- * Depending on the type, we return either
- * the icon (mIcon) or the back icon (mBackIcon).
- * If we can load a system thumbnail we do this
- * synchronously and return it, else we ask the
- * mImagesLoader to generate a thumbnail for us.
- */
- public Bitmap getIcon(int position) {
- if (mIsParent) {
- return mBackIcon;
- }
- if (isImage()) {
- if (mThumbnail != null) {
- return mThumbnail;
- } else {
- Bitmap image = mImagesLoader.getSystemThumbnail(this);
- if (image != null) {
- mThumbnail = image;
- return mThumbnail;
- }
- mImagesLoader.postIconRequest(this, position, true);
- }
- }
- return mIcon;
- }
-
- public Bitmap getThumbnail() {
- return mThumbnail;
- }
-
- public void setThumbnail(Bitmap icon) {
- mThumbnail = icon;
- }
-
- public String getName() {
- return mName;
- }
-
- public String getPath() {
- return mPath.getPath();
- }
-
- public void toggleSelection() {
- mIsSelected = !mIsSelected;
- }
-
- public boolean isSelected() {
- return mIsSelected;
- }
-
- }
-
- /**
- * Adapter for the GridView
- */
- class FilePickerAdapter extends BaseAdapter {
- private Context mContext;
- private Map mImagesMap;
- private Map mImagesSelected;
-
- private Vector mImages;
- private Vector<FilePickerElement> mFiles;
-
- private FilePickerElement mRootElement;
- private FilePickerElement mCurrentElement;
-
- public FilePickerAdapter(Context context) {
- mContext = context;
- mImages = new Vector();
- mFiles = new Vector();
-
- mImagesMap = Collections.synchronizedMap(new HashMap());
- mImagesSelected = new HashMap();
-
- String startingPath = Environment.getExternalStorageDirectory().getPath();
- mRootElement = new FilePickerElement(startingPath, "SD Card", this);
- mCurrentElement = mRootElement;
- }
-
- public void addImage(String path) {
- mImages.add(path);
- Bitmap image = BitmapFactory.decodeResource(
- getResources(), R.drawable.gears_file_unknown);
- mImagesMap.put(path, image);
- mImagesSelected.put(path, Boolean.FALSE);
- }
-
- public int getCount() {
- Vector elems = mCurrentElement.getChildren();
- setCurrentPath(mCurrentElement.getPath());
- return elems.size();
- }
-
- public Object getItem(int position) {
- return position;
- }
-
- public long getItemId(int position) {
- return position;
- }
-
- public Vector selectedElements() {
- if (mCurrentElement == null) {
- return null;
- }
- Vector children = mCurrentElement.getChildren();
- Vector ret = new Vector();
- for (int i = 0; i < children.size(); i++) {
- FilePickerElement elem = (FilePickerElement) children.get(i);
- if (elem.isSelected()) {
- ret.add(elem);
- }
- }
- return ret;
- }
-
- public View getView(int position, View convertView, ViewGroup parent) {
- View cell = convertView;
- if (cell == null) {
- LayoutInflater inflater = (LayoutInflater) getSystemService(
- Context.LAYOUT_INFLATER_SERVICE);
- cell = inflater.inflate(R.layout.gears_dialog_filepicker_cell, null);
- }
- ImageView imageView = (ImageView) cell.findViewById(R.id.icon);
- TextView textView = (TextView) cell.findViewById(R.id.name);
- FilePickerElement elem = mCurrentElement.getChild(position);
- if (elem == null) {
- String message = "Could not get elem " + position;
- message += " for " + mCurrentElement.getPath();
- Log.e(TAG, message);
- return null;
- }
- String path = elem.getPath();
- textView.setText(elem.getName());
-
- View.OnClickListener listener = new View.OnClickListener() {
- public void onClick(View view) {
- int pos = (Integer) view.getTag();
- FilePickerElement elem = mCurrentElement.getChild(pos);
- if (elem.isDirectory()) {
- mCurrentElement = elem;
- mCurrentElement.refresh();
- } else {
- if (mMultipleSelection) {
- elem.toggleSelection();
- } else {
- Vector elems = selectedElements();
- if (elems != null) {
- if (elems.size() == 0) {
- elem.toggleSelection();
- } else if ((elems.size() == 1)
- && elem.isSelected()) {
- elem.toggleSelection();
- }
- }
- }
- }
- setSelectionText();
- notifyDataSetChanged();
- }
- };
- cell.setLayoutParams(new GridView.LayoutParams(96, 96));
- cell.setOnClickListener(listener);
- cell.setOnTouchListener(new View.OnTouchListener() {
- public boolean onTouch(View v, MotionEvent event) {
- if (event.getAction() == MotionEvent.ACTION_DOWN) {
- int color = getResources().getColor(R.color.icon_selection);
- v.setBackgroundColor(color);
- } else {
- v.setBackgroundColor(android.R.color.background_dark);
- }
- return false;
- }
- });
-
- cell.setTag(position);
-
- if (elem.isSelected()) {
- int color = getResources().getColor(R.color.icon_selection);
- cell.setBackgroundColor(color);
- } else {
- cell.setBackgroundColor(android.R.color.background_dark);
- }
- Bitmap bmp = elem.getIcon(position);
- if (bmp != null) {
- imageView.setImageBitmap(bmp);
- }
-
- return cell;
- }
- }
-
- private String selectedFiles() {
- Vector selection = mAdapter.selectedElements();
- JSONArray jsonSelection = new JSONArray();
- if (selection != null) {
- for (int i = 0; i < selection.size(); i++) {
- FilePickerElement elem = (FilePickerElement) selection.get(i);
- jsonSelection.put(elem.getPath());
- }
- }
- return jsonSelection.toString();
- }
-
- public String closeDialog(int closingType) {
- return selectedFiles();
- }
-}
diff --git a/src/com/android/browser/GearsNativeDialog.java b/src/com/android/browser/GearsNativeDialog.java
index c72ad8e..ecf166d 100644
--- a/src/com/android/browser/GearsNativeDialog.java
+++ b/src/com/android/browser/GearsNativeDialog.java
@@ -36,8 +36,6 @@ import android.webkit.gears.NativeDialog;
import com.android.browser.GearsBaseDialog;
import com.android.browser.GearsPermissionsDialog;
import com.android.browser.GearsSettingsDialog;
-import com.android.browser.GearsShortcutDialog;
-import com.android.browser.GearsFilePickerDialog;
/**
* Native dialog Activity used by gears
@@ -57,16 +55,12 @@ public class GearsNativeDialog extends Activity {
private int mDialogType;
private final int SETTINGS_DIALOG = 1;
private final int PERMISSION_DIALOG = 2;
- private final int SHORTCUT_DIALOG = 3;
- private final int LOCATION_DIALOG = 4;
- private final int FILEPICKER_DIALOG = 5;
+ private final int LOCATION_DIALOG = 3;
private final String VERSION_STRING = "version";
private final String SETTINGS_DIALOG_STRING = "settings_dialog";
private final String PERMISSION_DIALOG_STRING = "permissions_dialog";
- private final String SHORTCUT_DIALOG_STRING = "shortcuts_dialog";
private final String LOCATION_DIALOG_STRING = "locations_dialog";
- private final String FILEPICKER_DIALOG_STRING = "filepicker_dialog";
private boolean mDialogDismissed = false;
@@ -111,15 +105,9 @@ public class GearsNativeDialog extends Activity {
case PERMISSION_DIALOG:
dialog = new GearsPermissionsDialog(this, mHandler, mDialogArguments);
break;
- case SHORTCUT_DIALOG:
- dialog = new GearsShortcutDialog(this, mHandler, mDialogArguments);
- break;
case LOCATION_DIALOG:
dialog = new GearsPermissionsDialog(this, mHandler, mDialogArguments);
break;
- case FILEPICKER_DIALOG:
- dialog = new GearsFilePickerDialog(this, mHandler, mDialogArguments);
- break;
default:
dialog = new GearsBaseDialog(this, mHandler, mDialogArguments);
}
@@ -136,7 +124,7 @@ public class GearsNativeDialog extends Activity {
*/
private void getArguments() {
if (mDebug) {
- mDialogType = FILEPICKER_DIALOG +1;
+ mDialogType = LOCATION_DIALOG +1;
mockArguments();
return;
@@ -158,12 +146,8 @@ public class GearsNativeDialog extends Activity {
mGearsVersion = intent.getStringExtra(VERSION_STRING);
} else if (dialogTypeString.equalsIgnoreCase(PERMISSION_DIALOG_STRING)) {
mDialogType = PERMISSION_DIALOG;
- } else if (dialogTypeString.equalsIgnoreCase(SHORTCUT_DIALOG_STRING)) {
- mDialogType = SHORTCUT_DIALOG;
} else if (dialogTypeString.equalsIgnoreCase(LOCATION_DIALOG_STRING)) {
mDialogType = LOCATION_DIALOG;
- } else if (dialogTypeString.equalsIgnoreCase(FILEPICKER_DIALOG_STRING)) {
- mDialogType = FILEPICKER_DIALOG;
}
}
@@ -173,17 +157,6 @@ public class GearsNativeDialog extends Activity {
* Set mock arguments.
*/
private void mockArguments() {
- String argumentsShortcuts = "{ locale: \"en-US\","
- + "name: \"My Application\", link: \"http://www.google.com/\","
- + "description: \"This application does things does things!\","
- + "icon16x16: \"http://google-gears.googlecode.com/"
- + "svn/trunk/gears/test/manual/shortcuts/16.png\","
- + "icon32x32: \"http://google-gears.googlecode.com/"
- + "svn/trunk/gears/test/manual/shortcuts/32.png\","
- + "icon48x48: \"http://google-gears.googlecode.com/"
- + "svn/trunk/gears/test/manual/shortcuts/48.png\","
- + "icon128x128: \"http://google-gears.googlecode.com/"
- + "svn/trunk/gears/test/manual/shortcuts/128.png\"}";
String argumentsPermissions = "{ locale: \"en-US\", "
+ "origin: \"http://www.google.com\", dialogType: \"localData\","
@@ -215,16 +188,7 @@ public class GearsNativeDialog extends Activity {
+ "localStorage: { permissionState: 2 }, "
+ "locationData: { permissionState: 2 } } ] }";
- String argumentsFilePicker = "{ \"cameraMode\" : \"OFF\", \"filters\""
- + ": [ \"text/html\", \".txt\" ], \"mode\" : \"MULTIPLE_FILES\" }\"";
-
- String argumentsFilePicker2 = "{ \"cameraMode\" : \"OFF\", \"filters\""
- + ": [ \"text/html\", \".txt\" ], \"mode\" : \"SINGLE_FILE\" }\"";
-
switch (mDialogType) {
- case SHORTCUT_DIALOG:
- mDialogArguments = argumentsShortcuts;
- break;
case PERMISSION_DIALOG:
mDialogArguments = argumentsPermissions;
break;
@@ -234,8 +198,6 @@ public class GearsNativeDialog extends Activity {
case SETTINGS_DIALOG:
mDialogArguments = argumentsSettings;
break;
- case FILEPICKER_DIALOG:
- mDialogArguments = argumentsFilePicker2;
}
}
diff --git a/src/com/android/browser/GearsShortcutDialog.java b/src/com/android/browser/GearsShortcutDialog.java
deleted file mode 100644
index 11d936d..0000000
--- a/src/com/android/browser/GearsShortcutDialog.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.browser;
-
-import android.app.Activity;
-import android.os.Handler;
-import android.util.Log;
-import android.view.View;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-import org.json.JSONException;
-import org.json.JSONObject;
-
-/**
- * Gears Shortcut dialog
- */
-class GearsShortcutDialog extends GearsBaseDialog {
-
- private static final String TAG = "GearsPermissionsDialog";
-
- private final String ICON_16 = "icon16x16";
- private final String ICON_32 = "icon32x32";
- private final String ICON_48 = "icon48x48";
- private final String ICON_128 = "icon128x128";
- private int mNotification = 0;
-
- public GearsShortcutDialog(Activity activity,
- Handler handler,
- String arguments) {
- super (activity, handler, arguments);
- }
-
- public void setup() {
- inflate(R.layout.gears_dialog_shortcut, R.id.panel_content);
- setupButtons(R.string.shortcut_button_alwaysdeny,
- R.string.shortcut_button_allow,
- R.string.shortcut_button_deny);
-
- try {
- JSONObject json = new JSONObject(mDialogArguments);
-
- String iconUrl = pickIconToRender(json);
- if (iconUrl != null) {
- downloadIcon(iconUrl);
- }
-
- setupDialog();
-
- setLabel(json, "name", R.id.shortcut_name);
- setLabel(json, "link", R.id.origin_subtitle);
- setLabel(json, "description", R.id.origin_message);
- } catch (JSONException e) {
- Log.e(TAG, "JSON exception", e);
- }
-
- TextView msg = (TextView) findViewById(R.id.permission_dialog_message);
- msg.setText(R.string.shortcut_message);
-
- View shortcutIcon = findViewById(R.id.shortcut_panel);
- if (shortcutIcon != null) {
- shortcutIcon.setVisibility(View.VISIBLE);
- }
- }
-
- public void setupDialog(TextView message, ImageView icon) {
- message.setText(R.string.shortcut_prompt);
- icon.setImageResource(R.drawable.ic_dialog_menu_generic);
- }
-
- /**
- * Utility method to validate an icon url. Used in the
- * shortcut dialog.
- */
- boolean validIcon(JSONObject json, String name) {
- try {
- if (json.has(name)) {
- String str = json.getString(name);
- if (str.length() > 0) {
- return true;
- }
- }
- } catch (JSONException e) {
- Log.e(TAG, "JSON exception", e);
- }
- return false;
- }
-
-
- /**
- * Utility method to pick the best indicated icon
- * from the dialogs' arguments. Used in the
- * shortcut dialog.
- */
- String pickIconToRender(JSONObject json) {
- try {
- if (validIcon(json, ICON_48)) { // ideal size
- mChoosenIconSize = 48;
- return json.getString(ICON_48);
- } else if (validIcon(json, ICON_32)) {
- mChoosenIconSize = 32;
- return json.getString(ICON_32);
- } else if (validIcon(json, ICON_128)) {
- mChoosenIconSize = 128;
- return json.getString(ICON_128);
- } else if (validIcon(json, ICON_16)) {
- mChoosenIconSize = 16;
- return json.getString(ICON_16);
- }
- } catch (JSONException e) {
- Log.e(TAG, "JSON exception", e);
- }
- mChoosenIconSize = 0;
- return null;
- }
-
- public String closeDialog(int closingType) {
- String ret = null;
- switch (closingType) {
- case ALWAYS_DENY:
- ret = "{\"allow\": false, \"permanently\": true }";
- break;
- case ALLOW:
- ret = "{\"allow\": true, \"locations\": 0 }";
- mNotification = R.string.shortcut_notification;
- break;
- case DENY:
- ret = null;
- break;
- }
- return ret;
- }
-
- public int notification() {
- return mNotification;
- }
-}