diff options
| -rw-r--r-- | main/res/layout/init.xml | 71 | ||||
| -rw-r--r-- | main/res/values-de/strings.xml | 4 | ||||
| -rw-r--r-- | main/res/values/strings.xml | 4 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/Settings.java | 23 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/cgBase.java | 67 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/cgeoinit.java | 31 |
6 files changed, 130 insertions, 70 deletions
diff --git a/main/res/layout/init.xml b/main/res/layout/init.xml index 40ba0ce..d55d9de 100644 --- a/main/res/layout/init.xml +++ b/main/res/layout/init.xml @@ -218,6 +218,56 @@ android:textColor="?text_color" android:text="@string/init_sigautoinsert" /> </LinearLayout> + <RelativeLayout style="@style/separator_horizontal_layout" > + <View style="@style/separator_horizontal" /> + <TextView style="@style/separator_horizontal_headline" + android:text="@string/init_details" /> + </RelativeLayout> + <LinearLayout + android:layout_margin="3dip" android:padding="3dip" android:layout_width="fill_parent" android:orientation="vertical" android:layout_height="fill_parent"> + <LinearLayout + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:orientation="horizontal" > + <CheckBox android:id="@+id/autoload" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_alignParentLeft="true" + android:layout_gravity="left" + android:padding="1px" + android:gravity="center" /> + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical" + android:gravity="left" + android:paddingRight="3dip" + android:textSize="14dip" + android:textColor="?text_color" + android:text="@string/init_autoload" /> + </LinearLayout> + <LinearLayout + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:orientation="horizontal" > + <CheckBox android:id="@+id/additionaldetails" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_alignParentLeft="true" + android:layout_gravity="left" + android:padding="1px" + android:gravity="center" /> + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical" + android:gravity="left" + android:paddingRight="3dip" + android:textSize="14dip" + android:textColor="?text_color" + android:text="@string/init_additionaldetails" /> + </LinearLayout> + </LinearLayout> <!-- ** --> <RelativeLayout style="@style/separator_horizontal_layout" > <View style="@style/separator_horizontal" /> @@ -486,27 +536,6 @@ android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > - <CheckBox android:id="@+id/autoload" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_alignParentLeft="true" - android:layout_gravity="left" - android:padding="1px" - android:gravity="center" /> - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="center_vertical" - android:gravity="left" - android:paddingRight="3dip" - android:textSize="14dip" - android:textColor="?text_color" - android:text="@string/init_autoload" /> - </LinearLayout> - <LinearLayout - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:orientation="horizontal" > <CheckBox android:id="@+id/livelist" android:layout_width="wrap_content" android:layout_height="wrap_content" diff --git a/main/res/values-de/strings.xml b/main/res/values-de/strings.xml index 9fe2466..403576b 100644 --- a/main/res/values-de/strings.xml +++ b/main/res/values-de/strings.xml @@ -362,6 +362,9 @@ <string name="init_signature_template_datetime">Datum & Zeit</string> <string name="init_signature_template_user">Benutzer</string> <string name="init_signature_template_number">Nummer</string> + <string name="init_details">Cache Details</string> + <string name="init_additionaldetails">Zusätzliche Cache Details wie Bewertung, Höhe etc. laden</string> + <string name="init_autoload">Ausführliche Beschreibung automatisch laden</string> <string name="init_other">Weitere Optionen</string> <string name="init_skin">Helle Oberfläche (Neustart erforderlich)</string> <string name="init_address">Position am Startbildschirm anzeigen</string> @@ -375,7 +378,6 @@ <string name="init_save_log_img">Logbilder abspeichern</string> <string name="init_units">Imperiale Einheiten (Meilen/Fuß)</string> <string name="init_nav">Google Navigation verwenden</string> - <string name="init_autoload">Ausführliche Beschreibung automatisch laden</string> <string name="init_livelist">Richtung zum Cache in der Cache-Liste anzeigen</string> <string name="init_log_offline">Offline loggen (Dialog für Online-Log nicht anzeigen)</string> <string name="init_browser">c:geo als normalen Internet-Browser tarnen</string> diff --git a/main/res/values/strings.xml b/main/res/values/strings.xml index 8bb16c2..5f0a1a2 100644 --- a/main/res/values/strings.xml +++ b/main/res/values/strings.xml @@ -364,6 +364,9 @@ <string name="init_signature_template_datetime">Date & Time</string> <string name="init_signature_template_user">User</string> <string name="init_signature_template_number">Number</string> + <string name="init_details">Cache details</string> + <string name="init_additionaldetails">Load additional details like rating, elevation etc.</string> + <string name="init_autoload">Auto-loading long description</string> <string name="init_other">Other options</string> <string name="init_skin">Light skin\n(needs restart of c:geo)</string> <string name="init_address">Show address on mainscreen</string> @@ -377,7 +380,6 @@ <string name="init_save_log_img">Save Images from Logs</string> <string name="init_units">Use miles/feet\n(imperial units)</string> <string name="init_nav">Use Google Navigation</string> - <string name="init_autoload">Auto-loading long description</string> <string name="init_log_offline">When logging, always log offline (don\'t show online log screen when logging, don\'t send the log online)</string> <string name="init_livelist">Show direction to caches in its list</string> <string name="init_browser">Identify c:geo as standard browser</string> diff --git a/main/src/cgeo/geocaching/Settings.java b/main/src/cgeo/geocaching/Settings.java index 2b377de..6b7d7c4 100644 --- a/main/src/cgeo/geocaching/Settings.java +++ b/main/src/cgeo/geocaching/Settings.java @@ -45,6 +45,7 @@ public final class Settings { private static final String KEY_TWITTER_TOKEN_PUBLIC = "tokenpublic"; private static final String KEY_VERSION = "version"; private static final String KEY_LOAD_DESCRIPTION = "autoloaddesc"; + private static final String KEY_ADDITIONAL_DETAILS = "additionaldetails"; private static final String KEY_USE_ENGLISH = "useenglish"; private static final String KEY_AS_BROWSER = "asbrowser"; private static final String KEY_USE_COMPASS = "usecompass"; @@ -137,13 +138,9 @@ public final class Settings { // this class is not to be instantiated; } - static void setLanguage(boolean useEnglish) { - Locale locale = Locale.getDefault(); - if (useEnglish) { - locale = new Locale("en"); - } + public static void setLanguage(boolean useEnglish) { final Configuration config = new Configuration(); - config.locale = locale; + config.locale = useEnglish ? new Locale("en") : Locale.getDefault(); final Resources resources = cgeoapplication.getInstance().getResources(); resources.updateConfiguration(config, resources.getDisplayMetrics()); } @@ -572,6 +569,20 @@ public final class Settings { }); } + public static boolean isAdditionalDetails() { + return sharedPrefs.getBoolean(KEY_ADDITIONAL_DETAILS, true); + } + + public static void setAdditionalDetails(final boolean additionaldetails) { + editSharedSettings(new PrefRunnable() { + + @Override + public void edit(Editor edit) { + edit.putBoolean(KEY_ADDITIONAL_DETAILS, additionaldetails); + } + }); + } + public static boolean isLiveList() { return 0 != sharedPrefs.getInt(KEY_LIVE_LIST, 1); } diff --git a/main/src/cgeo/geocaching/cgBase.java b/main/src/cgeo/geocaching/cgBase.java index 4f2553a..0cff355 100644 --- a/main/src/cgeo/geocaching/cgBase.java +++ b/main/src/cgeo/geocaching/cgBase.java @@ -884,27 +884,29 @@ public class cgBase { } } - // get ratings - if (guids.size() > 0) { - Log.i(Settings.tag, "Trying to get ratings for " + cids.size() + " caches"); + if (Settings.isAdditionalDetails()) { + // get ratings + if (guids.size() > 0) { + Log.i(Settings.tag, "Trying to get ratings for " + cids.size() + " caches"); - try { - final Map<String, cgRating> ratings = GCVote.getRating(guids, null); + try { + final Map<String, cgRating> ratings = GCVote.getRating(guids, null); - if (MapUtils.isNotEmpty(ratings)) { - // save found cache coordinates - for (cgCache oneCache : caches.cacheList) { - if (ratings.containsKey(oneCache.guid)) { - cgRating thisRating = ratings.get(oneCache.guid); + if (MapUtils.isNotEmpty(ratings)) { + // save found cache coordinates + for (cgCache oneCache : caches.cacheList) { + if (ratings.containsKey(oneCache.guid)) { + cgRating thisRating = ratings.get(oneCache.guid); - oneCache.rating = thisRating.rating; - oneCache.votes = thisRating.votes; - oneCache.myVote = thisRating.myVote; + oneCache.rating = thisRating.rating; + oneCache.votes = thisRating.votes; + oneCache.myVote = thisRating.myVote; + } } } + } catch (Exception e) { + Log.e(Settings.tag, "cgBase.parseSearch.GCvote: " + e.toString()); } - } catch (Exception e) { - Log.e(Settings.tag, "cgBase.parseSearch.GCvote: " + e.toString()); } } @@ -1439,23 +1441,26 @@ public class cgBase { sendLoadProgressDetail(handler, R.string.cache_dialog_loading_details_status_logs); loadLogsFromDetails(page, cache); - if (CancellableHandler.isCancelled(handler)) { - return; - } - sendLoadProgressDetail(handler, R.string.cache_dialog_loading_details_status_elevation); - if (cache.coords != null) { - cache.elevation = getElevation(cache.coords); - } + if (Settings.isAdditionalDetails()) { - if (CancellableHandler.isCancelled(handler)) { - return; - } - sendLoadProgressDetail(handler, R.string.cache_dialog_loading_details_status_gcvote); - final cgRating rating = GCVote.getRating(cache.guid, cache.geocode); - if (rating != null) { - cache.rating = rating.rating; - cache.votes = rating.votes; - cache.myVote = rating.myVote; + if (CancellableHandler.isCancelled(handler)) { + return; + } + sendLoadProgressDetail(handler, R.string.cache_dialog_loading_details_status_elevation); + if (cache.coords != null) { + cache.elevation = getElevation(cache.coords); + } + + if (CancellableHandler.isCancelled(handler)) { + return; + } + sendLoadProgressDetail(handler, R.string.cache_dialog_loading_details_status_gcvote); + final cgRating rating = GCVote.getRating(cache.guid, cache.geocode); + if (rating != null) { + cache.rating = rating.rating; + cache.votes = rating.votes; + cache.myVote = rating.myVote; + } } } diff --git a/main/src/cgeo/geocaching/cgeoinit.java b/main/src/cgeo/geocaching/cgeoinit.java index 413e291..34a7a14 100644 --- a/main/src/cgeo/geocaching/cgeoinit.java +++ b/main/src/cgeo/geocaching/cgeoinit.java @@ -314,6 +314,27 @@ public class cgeoinit extends AbstractActivity { } }); + // Cache details + final CheckBox autoloadButton = (CheckBox) findViewById(R.id.autoload); + autoloadButton.setChecked(Settings.isAutoLoadDescription()); + autoloadButton.setOnClickListener(new View.OnClickListener() { + + @Override + public void onClick(View v) { + Settings.setAutoLoadDesc(autoloadButton.isChecked()); + } + }); + + final CheckBox additionalDetailsButton = (CheckBox) findViewById(R.id.additionaldetails); + additionalDetailsButton.setChecked(Settings.isAdditionalDetails()); + additionalDetailsButton.setOnClickListener(new View.OnClickListener() { + + @Override + public void onClick(View v) { + Settings.setAdditionalDetails(additionalDetailsButton.isChecked()); + } + }); + // Other settings final CheckBox skinButton = (CheckBox) findViewById(R.id.skin); skinButton.setChecked(Settings.isLightSkin()); @@ -419,16 +440,6 @@ public class cgeoinit extends AbstractActivity { } }); - final CheckBox autoloadButton = (CheckBox) findViewById(R.id.autoload); - autoloadButton.setChecked(Settings.isAutoLoadDescription()); - autoloadButton.setOnClickListener(new View.OnClickListener() { - - @Override - public void onClick(View v) { - Settings.setAutoLoadDesc(autoloadButton.isChecked()); - } - }); - final CheckBox livelistButton = (CheckBox) findViewById(R.id.livelist); livelistButton.setChecked(Settings.isLiveList()); livelistButton.setOnClickListener(new View.OnClickListener() { |
