diff options
19 files changed, 65 insertions, 30 deletions
diff --git a/main/.classpath b/main/.classpath index 8a16be1..79a19e9 100644 --- a/main/.classpath +++ b/main/.classpath @@ -12,10 +12,8 @@ <classpathentry kind="lib" path="libs/android-support-v4.jar"/> <classpathentry kind="lib" path="libs/mapsforge-map-0.3.0-jar-with-dependencies.jar"/> <classpathentry kind="lib" path="libs/mapsforge-map-0.2.4.jar"/> - <classpathentry kind="lib" path="libs/commons-codec-1.4.jar"/> - <classpathentry kind="lib" path="libs/commons-logging-1.1.1.jar"/> - <classpathentry exported="true" kind="lib" path="libs/httpclientandroidlib-1.1.0.jar"/> <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> + <classpathentry kind="lib" path="libs/httpclientandroidlib-1.1.1.jar"/> <classpathentry kind="output" path="bin/classes"/> </classpath> diff --git a/main/AndroidManifest.xml b/main/AndroidManifest.xml index 749443a..7d1c09e 100644 --- a/main/AndroidManifest.xml +++ b/main/AndroidManifest.xml @@ -3,7 +3,6 @@ android:versionName="developer build" android:versionCode="20120618" package="cgeo.geocaching" - name="c:geo" android:installLocation="auto"> <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="8" /> <uses-permission android:name="android.permission.INTERNET" /> @@ -21,7 +20,8 @@ android:theme="@style/cgeo" android:label="@string/app_name" android:icon="@drawable/cgeo" - android:backupAgent="cgeo.geocaching.backup.CentralBackupAgent" > + android:backupAgent="cgeo.geocaching.backup.CentralBackupAgent" + android:allowBackup="true" > <uses-library android:name="com.google.android.maps" android:required="false" /> <meta-data android:name="android.app.default_searchable" @@ -85,12 +85,6 @@ android:configChanges="keyboardHidden|orientation" > </activity> <activity - android:name=".cgeowaypoint" - android:label="@string/app_name" - android:windowSoftInputMode="stateHidden" - android:configChanges="keyboardHidden|orientation" > - </activity> - <activity android:name=".cgeopoint" android:label="@string/app_name" android:windowSoftInputMode="stateHidden" diff --git a/main/libs/android-support-v4.jar b/main/libs/android-support-v4.jar Binary files differindex 1fbeba0..6080877 100644 --- a/main/libs/android-support-v4.jar +++ b/main/libs/android-support-v4.jar diff --git a/main/libs/commons-codec-1.4.jar b/main/libs/commons-codec-1.4.jar Binary files differdeleted file mode 100644 index 458d432..0000000 --- a/main/libs/commons-codec-1.4.jar +++ /dev/null diff --git a/main/libs/commons-logging-1.1.1.jar b/main/libs/commons-logging-1.1.1.jar Binary files differdeleted file mode 100644 index 1deef14..0000000 --- a/main/libs/commons-logging-1.1.1.jar +++ /dev/null diff --git a/main/libs/httpclientandroidlib-1.1.0.jar b/main/libs/httpclientandroidlib-1.1.1.jar Binary files differindex baa9d8f..42dbf7c 100644 --- a/main/libs/httpclientandroidlib-1.1.0.jar +++ b/main/libs/httpclientandroidlib-1.1.1.jar diff --git a/main/project/localization/findmissingtranslations.sh b/main/project/localization/findmissingtranslations.sh index 420f6f9..ea14f90 100755 --- a/main/project/localization/findmissingtranslations.sh +++ b/main/project/localization/findmissingtranslations.sh @@ -10,7 +10,8 @@ finddiffs () { echo "Only in values/strings.xml:" >> $1.missing grep "<\||" tmp.str | cut -d " " -f 1 | while read s; do egrep "<(string|plurals)" ../../res/values/strings.xml | grep "name=\"$s\"" - done | egrep -v '<string name="(contributors|changelog)">'>> $1.missing + done | egrep -v 'translatable="false"' \ + | egrep -v '<string name="(contributors|changelog)">'>> $1.missing echo "Only in values-$1/strings.xml:" >> $1.missing grep ">\||" tmp.str | sed "s/^/x/;s/\s\s*/ /g" | cut -d " " -f 3 | while read s; do egrep "<(string|plurals)" ../../res/values-$1/strings.xml | grep "name=\"$s\"" diff --git a/main/res/values-de/strings.xml b/main/res/values-de/strings.xml index beb069c..d563608 100644 --- a/main/res/values-de/strings.xml +++ b/main/res/values-de/strings.xml @@ -588,6 +588,7 @@ <string name="cache_status_archived">Archiviert</string> <string name="cache_status_disabled">Deaktiviert</string> <string name="cache_status_premium">Nur für Premium-Mitglieder</string> + <string name="cache_status_not_premium">Für alle Mitglieder</string> <string name="cache_geocode">GC-Code</string> <string name="cache_name">Name</string> <string name="cache_type">Typ</string> diff --git a/main/res/values-es/strings.xml b/main/res/values-es/strings.xml index 265eb5d..4fd9a29 100644 --- a/main/res/values-es/strings.xml +++ b/main/res/values-es/strings.xml @@ -371,7 +371,7 @@ <string name="init_backup_last">Copia guardada el</string> <string name="init_backup_last_no">No hay ninguna copia de seguridad.</string> <string name="init_mapsources">Proveedor de mapas</string> - <string name="init_mapsources_description">Aquí puedes seleccionar un proveedor de mapas. Como alternativa a Google Maps están disponibles varios estilos de OpenStreetMap e incluso mapas fuera de linea (mira <a href="http://code.google.com/p/mapsforge/">http://code.google.com/p/mapsforge/</a> para más información).</string> + <string name="init_mapsources_description">Aquí puedes seleccionar un proveedor de mapas. Como alternativa a Google Maps están disponibles varios estilos de OpenStreetMap e incluso mapas fuera de línea (mira <a href="http://code.google.com/p/mapsforge/">http://code.google.com/p/mapsforge/</a> para más información).</string> <string name="init_mapsource_select">Elige proveedor de mapas</string> <string name="init_trackautovisit">Convertir rastreables automáticamente a \"visita\"</string> <string name="init_sigautoinsert">Insertar firma automáticamente</string> @@ -633,7 +633,7 @@ <string name="helper_manual_title">Manual</string> <string name="helper_manual_description">Sencillo manual de c:geo que contiene todas las capacidades de este programa (incluidas las ocultas).</string> <string name="helper_locus_title">Locus</string> - <string name="helper_locus_description">Sencilla aplicación que muestra mapas en linea y permite descargarlos para ser usados sin conexión (sólo mapas no vectoriales). Tambien permite registrar el recorrido, gestionar puntos de interés y más funciones interesantes.</string> + <string name="helper_locus_description">Sencilla aplicación que muestra mapas en línea y permite descargarlos para ser usados sin conexión (sólo mapas no vectoriales). También permite registrar el recorrido, gestionar puntos de interés y más funciones interesantes.</string> <string name="helper_gpsstatus_title">GPS Status</string> <string name="helper_gpsstatus_description">Puedes usar el radar de esta aplicación con c:geo. Además ofrece un montón de información relacionada con el GPS.</string> diff --git a/main/res/values-hu/strings.xml b/main/res/values-hu/strings.xml index 6b417d6..3d95471 100644 --- a/main/res/values-hu/strings.xml +++ b/main/res/values-hu/strings.xml @@ -800,7 +800,7 @@ <!-- next things --> <string name="legal_note">A geocaching.com szolgáltatásainak használatához, el kell fogadnod ezeket a feltételeket:<a href="http://www.geocaching.com/about/termsofuse.aspx">Groundspeak disclaimer</a> </string> - <string name="quote">Hogy a geocaching könyebb legyen a felhasználók pedig lustábbak.</string> + <string name="quote">Hogy a geocaching könnyebb legyen a felhasználók pedig lustábbak.</string> <string name="powered_by">carnero</string> <string name="support">Támogatás: <a href="mailto:support@cgeo.org">support@cgeo.org</a></string> <string name="website">Weboldal: <a href="http://cgeo.org/">cgeo.org</a></string> diff --git a/main/res/values-nb/strings.xml b/main/res/values-nb/strings.xml index 1f14f65..6e8435c 100644 --- a/main/res/values-nb/strings.xml +++ b/main/res/values-nb/strings.xml @@ -158,7 +158,7 @@ <string name="loc_last">Sist sett</string> <string name="loc_net">Nettverk</string> <string name="loc_gps">GPS</string> - <string name="loc_sat">Satelitt</string> + <string name="loc_sat">Sateliett</string> <string name="loc_trying">Prøver å lokalisere</string> <string name="loc_no_addr">Ukjent adresse</string> diff --git a/main/res/values-pt/strings.xml b/main/res/values-pt/strings.xml index 88f6634..3f9ec73 100644 --- a/main/res/values-pt/strings.xml +++ b/main/res/values-pt/strings.xml @@ -26,7 +26,7 @@ <string name="event">Cache evento</string> <string name="mega">Cache mega-evento</string> <string name="earth">Cache Terra</string> - <string name="cito">Evento cache in trash out</string> + <string name="cito">Evento Cache In Trash Out</string> <string name="webcam">Cache webcam</string> <string name="virtual">Cache virtual</string> <string name="wherigo">Cache whereigo</string> @@ -72,7 +72,7 @@ <string name="log_maintenance_needed">Precisa manutenção</string> <string name="log_update">Coordenadas actualizadas</string> <string name="log_archived">Arquivada</string> - <string name="log_needs_archived">Precisa arquivo</string> + <string name="log_needs_archived">Precisa de arquivamento</string> <string name="log_discovered">Descoberta</string> <string name="log_reviewer">Nota de revisor</string> <string name="log_tb_nothing">Não fazer nada</string> @@ -575,8 +575,8 @@ <string name="gpx_import_loading_waypoints">A carregar o ficheiro dos waypoints</string> <string name="gpx_import_storing">A gravar as caches na base de dados</string> <string name="gpx_import_caches_imported">caches importadas</string> - <string name="gpx_import_title">Importar GPX</string> <string name="gpx_import_title_reading_file">A ler o ficheiro</string> + <string name="gpx_import_title">Importar GPX</string> <string name="gpx_import_title_caches_imported">Resultado</string> <string name="gpx_import_title_caches_import_failed">A importação falhou</string> <string name="gpx_import_error_io">Não consegue ler o ficheiro</string> diff --git a/main/res/values/strings.xml b/main/res/values/strings.xml index fe7a068..0d51ebe 100644 --- a/main/res/values/strings.xml +++ b/main/res/values/strings.xml @@ -601,6 +601,7 @@ <string name="cache_status_archived">Archived</string> <string name="cache_status_disabled">Disabled</string> <string name="cache_status_premium">Premium Members only</string> + <string name="cache_status_not_premium">All Members Access</string> <string name="cache_geocode">GC-code</string> <string name="cache_name">Name</string> <string name="cache_type">Type</string> @@ -661,7 +662,7 @@ <string name="gpx_import_title_caches_imported">Result</string> <string name="gpx_import_title_caches_import_failed">Import failed</string> <string name="gpx_import_error_io">Can\'t read file</string> - <string name="gpx_import_error_parser">File format not ok</string> + <string name="gpx_import_error_parser">Bad File format</string> <string name="gpx_import_error_unexpected">Unexpected error</string> <string name="gpx_import_confirm">Do you want to import the GPX file into c:geo?</string> <string name="gpx_import_canceled">GPX import was canceled</string> diff --git a/main/src/cgeo/geocaching/export/FieldnoteExport.java b/main/src/cgeo/geocaching/export/FieldnoteExport.java index 41ec44c..465641f 100644 --- a/main/src/cgeo/geocaching/export/FieldnoteExport.java +++ b/main/src/cgeo/geocaching/export/FieldnoteExport.java @@ -30,6 +30,7 @@ import java.io.Writer; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; +import java.util.Locale; /** * Exports offline-logs in the Groundspeak Field Note format.<br> @@ -40,7 +41,7 @@ import java.util.List; */ class FieldnoteExport extends AbstractExport { private static final File exportLocation = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/field-notes"); - private static final SimpleDateFormat fieldNoteDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); + private static final SimpleDateFormat fieldNoteDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.US); protected FieldnoteExport() { super(getString(R.string.export_fieldnotes)); @@ -161,7 +162,7 @@ class FieldnoteExport extends AbstractExport { if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { exportLocation.mkdirs(); - SimpleDateFormat fileNameDateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); + SimpleDateFormat fileNameDateFormat = new SimpleDateFormat("yyyyMMddHHmmss", Locale.US); exportFile = new File(exportLocation.toString() + '/' + fileNameDateFormat.format(new Date()) + ".txt"); OutputStream os; diff --git a/main/src/cgeo/geocaching/export/GpxExport.java b/main/src/cgeo/geocaching/export/GpxExport.java index a97bf0a..c06f0c6 100644 --- a/main/src/cgeo/geocaching/export/GpxExport.java +++ b/main/src/cgeo/geocaching/export/GpxExport.java @@ -37,9 +37,10 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Locale; class GpxExport extends AbstractExport { - private static final SimpleDateFormat dateFormatZ = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); + private static final SimpleDateFormat dateFormatZ = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.US); protected GpxExport() { super(getString(R.string.export_gpx)); @@ -133,7 +134,7 @@ class GpxExport extends AbstractExport { final File exportLocation = new File(Settings.getGpxExportDir()); exportLocation.mkdirs(); - final SimpleDateFormat fileNameDateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); + final SimpleDateFormat fileNameDateFormat = new SimpleDateFormat("yyyyMMddHHmmss", Locale.US); exportFile = new File(Settings.getGpxExportDir() + File.separatorChar + "export_" + fileNameDateFormat.format(new Date()) + ".gpx"); gpx = new BufferedWriter(new FileWriter(exportFile)); diff --git a/main/src/cgeo/geocaching/files/GPXParser.java b/main/src/cgeo/geocaching/files/GPXParser.java index a6a285f..d8f78fc 100644 --- a/main/src/cgeo/geocaching/files/GPXParser.java +++ b/main/src/cgeo/geocaching/files/GPXParser.java @@ -39,15 +39,16 @@ import java.util.Collection; import java.util.Date; import java.util.EnumSet; import java.util.HashSet; +import java.util.Locale; import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; public abstract class GPXParser extends FileParser { - private static final SimpleDateFormat formatSimple = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); // 2010-04-20T07:00:00 - private static final SimpleDateFormat formatSimpleZ = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); // 2010-04-20T07:00:00Z - private static final SimpleDateFormat formatTimezone = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ"); // 2010-04-20T01:01:03-04:00 + private static final SimpleDateFormat formatSimple = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss", Locale.US); // 2010-04-20T07:00:00 + private static final SimpleDateFormat formatSimpleZ = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.US); // 2010-04-20T07:00:00Z + private static final SimpleDateFormat formatTimezone = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ", Locale.US); // 2010-04-20T01:01:03-04:00 /** * Attention: case sensitive geocode pattern to avoid matching normal words in the name or description of the cache. diff --git a/main/src/cgeo/geocaching/filter/StateFilter.java b/main/src/cgeo/geocaching/filter/StateFilter.java index b086477..f51329a 100644 --- a/main/src/cgeo/geocaching/filter/StateFilter.java +++ b/main/src/cgeo/geocaching/filter/StateFilter.java @@ -64,6 +64,17 @@ abstract class StateFilter extends AbstractFilter { } } + static class StateNonPremiumFilter extends StateFilter { + public StateNonPremiumFilter() { + super(res.getString(R.string.cache_status_not_premium)); + } + + @Override + public boolean accepts(cgCache cache) { + return !cache.isPremiumMembersOnly(); + } + } + private static class StateOfflineLogFilter extends StateFilter { public StateOfflineLogFilter() { super(res.getString(R.string.cache_status_offline_log)); @@ -84,6 +95,7 @@ abstract class StateFilter extends AbstractFilter { filters.add(new StateArchivedFilter()); filters.add(new StateDisabledFilter()); filters.add(new StatePremiumFilter()); + filters.add(new StateNonPremiumFilter()); filters.add(new StateOfflineLogFilter()); Collections.sort(filters, new Comparator<StateFilter>() { diff --git a/main/src/cgeo/geocaching/ui/FileSelectionListAdapter.java b/main/src/cgeo/geocaching/ui/FileSelectionListAdapter.java index 28f9705..1b5d47f 100644 --- a/main/src/cgeo/geocaching/ui/FileSelectionListAdapter.java +++ b/main/src/cgeo/geocaching/ui/FileSelectionListAdapter.java @@ -54,9 +54,8 @@ public class FileSelectionListAdapter extends ArrayAdapter<File> { holder = (ViewHolder) v.getTag(); } - File current = new File(parentView.getCurrentFile()); - - if (file.equals(current)) { + String currentFile = parentView.getCurrentFile(); + if (currentFile != null && file.equals(new File(currentFile))) { holder.filename.setTypeface(holder.filename.getTypeface(), Typeface.BOLD); } else { holder.filename.setTypeface(holder.filename.getTypeface(), Typeface.NORMAL); diff --git a/tests/src/cgeo/geocaching/filter/StateNonPremiumFilterTest.java b/tests/src/cgeo/geocaching/filter/StateNonPremiumFilterTest.java new file mode 100644 index 0000000..98d9e63 --- /dev/null +++ b/tests/src/cgeo/geocaching/filter/StateNonPremiumFilterTest.java @@ -0,0 +1,26 @@ +package cgeo.geocaching.filter; + +import cgeo.CGeoTestCase; +import cgeo.geocaching.cgCache; +import cgeo.geocaching.filter.StateFilter.StateNonPremiumFilter; + +public class StateNonPremiumFilterTest extends CGeoTestCase { + + private StateFilter.StateNonPremiumFilter nonPremiumFilter; + private cgCache premiumCache; + + @Override + protected void setUp() throws Exception { + super.setUp(); + + nonPremiumFilter = new StateNonPremiumFilter(); + premiumCache = new cgCache(); + premiumCache.setPremiumMembersOnly(true); + } + + public void testAccepts() { + assertFalse(nonPremiumFilter.accepts(premiumCache)); + assertTrue(nonPremiumFilter.accepts(new cgCache())); + } + +} |
