aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/res/layout/init.xml71
-rw-r--r--main/res/values-de/strings.xml4
-rw-r--r--main/res/values/strings.xml4
-rw-r--r--main/src/cgeo/geocaching/Settings.java23
-rw-r--r--main/src/cgeo/geocaching/cgBase.java67
-rw-r--r--main/src/cgeo/geocaching/cgeoinit.java31
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 &amp; 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 &amp; 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() {