diff options
| -rw-r--r-- | main/res/values-es/strings.xml | 8 | ||||
| -rw-r--r-- | main/res/values-lv/strings.xml | 2 | ||||
| -rw-r--r-- | main/res/values/changelog_release.xml | 2 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/MainActivity.java | 5 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/filter/FilterUserInterface.java | 5 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/utils/DatabaseBackupUtils.java | 7 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/utils/TextUtils.java | 13 |
7 files changed, 32 insertions, 10 deletions
diff --git a/main/res/values-es/strings.xml b/main/res/values-es/strings.xml index 6f64efc..890b4c0 100644 --- a/main/res/values-es/strings.xml +++ b/main/res/values-es/strings.xml @@ -56,7 +56,7 @@ <string name="log_attended">Asistí</string> <string name="log_retrieved">Recogido</string> <string name="log_placed">Depositado</string> - <string name="log_grabbed">Recogido de alguna parte</string> + <string name="log_grabbed">Cogido de otro sitio</string> <string name="log_movecollection">Mover a la colección</string> <string name="log_moveinventory">Mover al inventario</string> <string name="log_maintained">Mantenimiento efectuado</string> @@ -243,7 +243,7 @@ <item quantity="other">%d minutos</item> </plurals> <string name="caches_store_offline">Usar sin conexión luego</string> - <string name="caches_store_selected">Almacenamiento seleccionado</string> + <string name="caches_store_selected">Guardar seleccionados</string> <string name="caches_history">Historial</string> <string name="caches_on_map">Ver en mapa</string> <string name="caches_sort">Ordenar</string> @@ -526,7 +526,7 @@ <string name="feature_online_logging">Registro online</string> <string name="feature_log_images">Adjuntar imágenes a los registros</string> <string name="feature_watch_list">Lista de seguimiento</string> - <string name="feature_own_coordinates">Almacenamiento de coordenadas modificadas</string> + <string name="feature_own_coordinates">Almacenar coordenadas modificadas</string> <string name="feature_search_keyword">Buscar por palabra clave</string> <string name="feature_search_live_map">Mapa en vivo</string> <string name="feature_search_center">Búsqueda por posición</string> @@ -1086,7 +1086,7 @@ <string name="attribute_arithmetic_no">No es un problema aritmético</string> <string name="attribute_other_cache_yes">Caché de otro tipo</string> <string name="attribute_other_cache_no">No es caché de otro tipo</string> - <string name="attribute_ask_owner_yes">Pregunta al propietario las las condiciones iniciales</string> + <string name="attribute_ask_owner_yes">Pregunta al propietario las condiciones iniciales</string> <string name="attribute_ask_owner_no">No es necesario preguntar al propietario las condiciones iniciales</string> <string name="attribute_unknown_yes">Hay un atributo desconocido</string> <string name="attribute_unknown_no">No hay atributo desconocido</string> diff --git a/main/res/values-lv/strings.xml b/main/res/values-lv/strings.xml index 436024f..4b047fd 100644 --- a/main/res/values-lv/strings.xml +++ b/main/res/values-lv/strings.xml @@ -559,7 +559,7 @@ <string name="cache_dialog_loading_details_status_cache">Apkopo datus</string> <string name="cache_dialog_loading_details_status_render">Gatavo attēlošanai</string> <string name="cache_dialog_offline_save_title">Bezsaistes režīmā</string> - <string name="cache_dialog_offline_save_message">Saglabā slēpni bezsaistes lietošanai...</string> + <string name="cache_dialog_offline_save_message">Saglabā slēpni bezsaistes lietošanai…</string> <string name="cache_dialog_offline_drop_title">Bezsaistes režīmā</string> <string name="cache_dialog_offline_drop_message">Notiek slēpņa izdzēšana no ierīces atmiņas…</string> <string name="cache_dialog_refresh_title">Atjaunot</string> diff --git a/main/res/values/changelog_release.xml b/main/res/values/changelog_release.xml index b0a7286..0930567 100644 --- a/main/res/values/changelog_release.xml +++ b/main/res/values/changelog_release.xml @@ -4,6 +4,8 @@ <string name="changelog_release" translatable="false">\n <b>Next release</b>\n · Fix: Crash exporting GPX for lab caches\n + · Fix: Crash restoring non-existing database backup\n + · Fix: Bad sort order for filter names in some languages\n \n \n <b>2015.01.20:</b>\n diff --git a/main/src/cgeo/geocaching/MainActivity.java b/main/src/cgeo/geocaching/MainActivity.java index 85ae585..45ce698 100644 --- a/main/src/cgeo/geocaching/MainActivity.java +++ b/main/src/cgeo/geocaching/MainActivity.java @@ -70,6 +70,7 @@ import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; +import java.text.Collator; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; @@ -463,11 +464,11 @@ public class MainActivity extends AbstractActionBarActivity { sorted.addAll(Arrays.asList(CacheType.values())); sorted.removeAll(cacheTypes); + final Collator collator = TextUtils.getCollator(); Collections.sort(sorted, new Comparator<CacheType>() { - @Override public int compare(final CacheType left, final CacheType right) { - return left.getL10n().compareToIgnoreCase(right.getL10n()); + return collator.compare(left.getL10n(), right.getL10n()); } }); diff --git a/main/src/cgeo/geocaching/filter/FilterUserInterface.java b/main/src/cgeo/geocaching/filter/FilterUserInterface.java index 590a726..2d7dafc 100644 --- a/main/src/cgeo/geocaching/filter/FilterUserInterface.java +++ b/main/src/cgeo/geocaching/filter/FilterUserInterface.java @@ -5,6 +5,7 @@ import cgeo.geocaching.R; import cgeo.geocaching.enumerations.CacheType; import cgeo.geocaching.settings.Settings; import cgeo.geocaching.utils.Log; +import cgeo.geocaching.utils.TextUtils; import rx.functions.Action1; @@ -14,6 +15,7 @@ import android.content.DialogInterface; import android.content.res.Resources; import android.widget.ArrayAdapter; +import java.text.Collator; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; @@ -62,11 +64,12 @@ public final class FilterUserInterface { register(R.string.caches_filter_rating, RatingFilter.class); // sort by localized names + final Collator collator = TextUtils.getCollator(); Collections.sort(registry, new Comparator<FactoryEntry>() { @Override public int compare(final FactoryEntry lhs, final FactoryEntry rhs) { - return lhs.name.compareToIgnoreCase(rhs.name); + return collator.compare(lhs.name, rhs.name); } }); diff --git a/main/src/cgeo/geocaching/utils/DatabaseBackupUtils.java b/main/src/cgeo/geocaching/utils/DatabaseBackupUtils.java index e7e793f..ab27264 100644 --- a/main/src/cgeo/geocaching/utils/DatabaseBackupUtils.java +++ b/main/src/cgeo/geocaching/utils/DatabaseBackupUtils.java @@ -32,6 +32,9 @@ public class DatabaseBackupUtils { * calling activity */ public static void restoreDatabase(final Activity activity) { + if (!hasBackup()) { + return; + } final Resources res = activity.getResources(); final ProgressDialog dialog = ProgressDialog.show(activity, res.getString(R.string.init_backup_restore), res.getString(R.string.init_restore_running), true, false); final AtomicBoolean restoreSuccessful = new AtomicBoolean(false); @@ -44,8 +47,8 @@ public class DatabaseBackupUtils { @Override public void call() { dialog.dismiss(); - boolean restored = restoreSuccessful.get(); - String message = restored ? res.getString(R.string.init_restore_success) : res.getString(R.string.init_restore_failed); + final boolean restored = restoreSuccessful.get(); + final String message = restored ? res.getString(R.string.init_restore_success) : res.getString(R.string.init_restore_failed); Dialogs.message(activity, R.string.init_backup_restore, message); if (activity instanceof MainActivity) { ((MainActivity) activity).updateCacheCounter(); diff --git a/main/src/cgeo/geocaching/utils/TextUtils.java b/main/src/cgeo/geocaching/utils/TextUtils.java index 04a9007..9fc960c 100644 --- a/main/src/cgeo/geocaching/utils/TextUtils.java +++ b/main/src/cgeo/geocaching/utils/TextUtils.java @@ -8,6 +8,7 @@ import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import org.eclipse.jdt.annotation.Nullable; import java.nio.charset.Charset; +import java.text.Collator; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.zip.CRC32; @@ -183,4 +184,16 @@ public final class TextUtils { checksum.update(input.getBytes(CHARSET_UTF8)); return checksum.getValue(); } + + /** + * Build a Collator instance appropriate for comparing strings using the default locale while ignoring the casing. + * + * @return a collator + */ + public static Collator getCollator() { + final Collator collator = Collator.getInstance(); + collator.setDecomposition(Collator.CANONICAL_DECOMPOSITION); + collator.setStrength(Collator.TERTIARY); + return collator; + } } |
