diff options
| author | Bananeweizen <bananeweizen@gmx.de> | 2014-05-31 08:13:12 +0200 |
|---|---|---|
| committer | Bananeweizen <bananeweizen@gmx.de> | 2014-05-31 08:13:12 +0200 |
| commit | 2bc6c925216b2b2b8cd921cd7996b4cb8657bac4 (patch) | |
| tree | 3e05c4521d5457293a6a8f9de3e1e69a660f86b3 /main | |
| parent | 72de884a71bed85880f074bc212d56be3a9b5134 (diff) | |
| parent | 2b2a2e19e1793ae79f80c8e520fb36a56e576e29 (diff) | |
| download | cgeo-2bc6c925216b2b2b8cd921cd7996b4cb8657bac4.zip cgeo-2bc6c925216b2b2b8cd921cd7996b4cb8657bac4.tar.gz cgeo-2bc6c925216b2b2b8cd921cd7996b4cb8657bac4.tar.bz2 | |
Merge pull request #3901 from schwabe/internal_webview
Internal webview
Diffstat (limited to 'main')
30 files changed, 100 insertions, 71 deletions
diff --git a/main/AndroidManifest.xml b/main/AndroidManifest.xml index 0268762..2cdbc2c 100644 --- a/main/AndroidManifest.xml +++ b/main/AndroidManifest.xml @@ -508,6 +508,12 @@ </intent-filter> </activity> + <activity android:name=".activity.SimpleWebviewActivity" + android:label="c:geo internal browser" + android:icon="@drawable/ic_launcher_browser"> + + </activity> + <!-- provide enhanced meta data for caches (and waypoints) when invoking Locus from c:geo --> <provider android:name=".apps.LocusDataStorageProvider" diff --git a/main/res/drawable-mdpi/ic_launcher_browser.png b/main/res/drawable-mdpi/ic_launcher_browser.png Binary files differnew file mode 100644 index 0000000..9bc6817 --- /dev/null +++ b/main/res/drawable-mdpi/ic_launcher_browser.png diff --git a/main/res/drawable-xhdpi/ic_launcher_browser.png b/main/res/drawable-xhdpi/ic_launcher_browser.png Binary files differnew file mode 100644 index 0000000..9412fbe --- /dev/null +++ b/main/res/drawable-xhdpi/ic_launcher_browser.png diff --git a/main/res/drawable-xxhdpi/ic_launcher_browser.png b/main/res/drawable-xxhdpi/ic_launcher_browser.png Binary files differnew file mode 100644 index 0000000..bd8c447 --- /dev/null +++ b/main/res/drawable-xxhdpi/ic_launcher_browser.png diff --git a/main/res/layout/internal_browser.xml b/main/res/layout/internal_browser.xml new file mode 100644 index 0000000..1e09ee0 --- /dev/null +++ b/main/res/layout/internal_browser.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> + +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:orientation="vertical" + android:layout_width="match_parent" + android:layout_height="match_parent"> + + <WebView + android:id="@+id/webview" + android:layout_width="match_parent" + android:layout_height="match_parent" /> +</LinearLayout>
\ No newline at end of file diff --git a/main/src/cgeo/calendar/CalendarAddon.java b/main/src/cgeo/calendar/CalendarAddon.java index 5d6371d..4a672fa 100644 --- a/main/src/cgeo/calendar/CalendarAddon.java +++ b/main/src/cgeo/calendar/CalendarAddon.java @@ -35,7 +35,7 @@ public class CalendarAddon { ICalendar.PARAM_NAME, cache.getName(), ICalendar.PARAM_NOTE, StringUtils.defaultString(cache.getPersonalNote()), ICalendar.PARAM_HIDDEN_DATE, hiddenDate != null ? String.valueOf(hiddenDate.getTime()) : StringUtils.EMPTY, - ICalendar.PARAM_URL, StringUtils.defaultString(cache.getBrowserUrl()), + ICalendar.PARAM_URL, StringUtils.defaultString(cache.getUrl()), ICalendar.PARAM_COORDS, cache.getCoords() == null ? "" : cache.getCoords().format(GeopointFormatter.Format.LAT_LON_DECMINUTE_RAW), ICalendar.PARAM_LOCATION, StringUtils.defaultString(cache.getLocation()), ICalendar.PARAM_SHORT_DESC, StringUtils.defaultString(cache.getShortDescription()), diff --git a/main/src/cgeo/geocaching/CacheDetailActivity.java b/main/src/cgeo/geocaching/CacheDetailActivity.java index ea02171..f5871e3 100644 --- a/main/src/cgeo/geocaching/CacheDetailActivity.java +++ b/main/src/cgeo/geocaching/CacheDetailActivity.java @@ -1565,7 +1565,7 @@ public class CacheDetailActivity extends AbstractViewPagerActivity<CacheDetailAc if (unknownTagsHandler.isProblematicDetected()) { final int startPos = description.length(); final IConnector connector = ConnectorFactory.getConnector(cache); - final Spanned tableNote = Html.fromHtml(res.getString(R.string.cache_description_table_note, "<a href=\"" + cache.getBrowserUrl() + "\">" + connector.getName() + "</a>")); + final Spanned tableNote = Html.fromHtml(res.getString(R.string.cache_description_table_note, "<a href=\"" + cache.getUrl() + "\">" + connector.getName() + "</a>")); ((Editable) description).append("\n\n").append(tableNote); ((Editable) description).setSpan(new StyleSpan(Typeface.ITALIC), startPos, description.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); } diff --git a/main/src/cgeo/geocaching/Geocache.java b/main/src/cgeo/geocaching/Geocache.java index 0840d6f..6084762 100644 --- a/main/src/cgeo/geocaching/Geocache.java +++ b/main/src/cgeo/geocaching/Geocache.java @@ -1,7 +1,9 @@ package cgeo.geocaching; +import android.os.Parcelable; import cgeo.geocaching.DataStore.StorageLocation; import cgeo.geocaching.activity.ActivityMixin; +import cgeo.geocaching.activity.SimpleWebviewActivity; import cgeo.geocaching.connector.ConnectorFactory; import cgeo.geocaching.connector.IConnector; import cgeo.geocaching.connector.ILoggingManager; @@ -493,11 +495,27 @@ public class Geocache implements ICache, IWaypoint { } public void openInBrowser(Activity fromActivity) { - fromActivity.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(getBrowserCacheUrl()))); + Intent viewIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(getUrl())); + + // Check if cgeo is the default, show the chooser to let the user choose a browser + if (viewIntent.resolveActivity(fromActivity.getPackageManager()).getPackageName().equals(fromActivity.getPackageName())) { + Intent chooser = Intent.createChooser(viewIntent, fromActivity.getString(R.string.cache_menu_browser)); + + Intent internalBrowser = new Intent(fromActivity, SimpleWebviewActivity.class); + internalBrowser.setData(Uri.parse(getUrl())); + + chooser.putExtra(Intent.EXTRA_INITIAL_INTENTS, new Parcelable[] {internalBrowser}); + + + fromActivity.startActivity(chooser); + } + else + fromActivity.startActivity(viewIntent); } + private String getCacheUrl() { - return getConnector().getCacheBrowserUrl(this); + return getConnector().getCacheUrl(this); } private String getBrowserCacheUrl() { @@ -718,16 +736,16 @@ public class Geocache implements ICache, IWaypoint { final Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("text/plain"); intent.putExtra(Intent.EXTRA_SUBJECT, subject.toString()); - intent.putExtra(Intent.EXTRA_TEXT, getBrowserUrl()); + intent.putExtra(Intent.EXTRA_TEXT, getUrl()); return intent; } - public String getBrowserUrl() { - return getConnector().getCacheBrowserUrl(this); + public String getUrl() { + return getConnector().getCacheUrl(this); } - public String getCgeoUrl() { return getConnector().getCgeoCacheUrl(this); } + public String getCgeoUrl() { return getConnector().getCacheUrl(this); } public boolean supportsGCVote() { return StringUtils.startsWithIgnoreCase(geocode, "GC"); diff --git a/main/src/cgeo/geocaching/Trackable.java b/main/src/cgeo/geocaching/Trackable.java index 0fe580f..d532cda 100644 --- a/main/src/cgeo/geocaching/Trackable.java +++ b/main/src/cgeo/geocaching/Trackable.java @@ -38,12 +38,8 @@ public class Trackable implements ILogable { private List<LogEntry> logs = new ArrayList<LogEntry>(); private String trackingcode = null; - public String getBrowserUrl() { - return getConnector().getBrowserUrl(this); - } - - public String getCgeoUrl() { - return getConnector().getCgeoUrl(this); + public String getUrl() { + return getConnector().getUrl(this); } private TrackableConnector getConnector() { diff --git a/main/src/cgeo/geocaching/TrackableActivity.java b/main/src/cgeo/geocaching/TrackableActivity.java index 2b6808e..f1dab50 100644 --- a/main/src/cgeo/geocaching/TrackableActivity.java +++ b/main/src/cgeo/geocaching/TrackableActivity.java @@ -120,7 +120,7 @@ public class TrackableActivity extends AbstractViewPagerActivity<TrackableActivi new ActivitySharingInterface() { @Override public String getUri() { - return trackable.getCgeoUrl(); + return trackable.getUrl(); } } ); @@ -228,7 +228,7 @@ public class TrackableActivity extends AbstractViewPagerActivity<TrackableActivi LogTrackableActivity.startActivity(this, trackable); return true; case R.id.menu_browser_trackable: - startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(trackable.getBrowserUrl()))); + startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(trackable.getUrl()))); return true; } return super.onOptionsItemSelected(item); @@ -238,7 +238,7 @@ public class TrackableActivity extends AbstractViewPagerActivity<TrackableActivi public boolean onPrepareOptionsMenu(Menu menu) { if (trackable != null) { menu.findItem(R.id.menu_log_touch).setVisible(StringUtils.isNotBlank(geocode) && trackable.isLoggable()); - menu.findItem(R.id.menu_browser_trackable).setVisible(StringUtils.isNotBlank(trackable.getBrowserUrl())); + menu.findItem(R.id.menu_browser_trackable).setVisible(StringUtils.isNotBlank(trackable.getUrl())); } return super.onPrepareOptionsMenu(menu); } diff --git a/main/src/cgeo/geocaching/Waypoint.java b/main/src/cgeo/geocaching/Waypoint.java index efedff5..275882f 100644 --- a/main/src/cgeo/geocaching/Waypoint.java +++ b/main/src/cgeo/geocaching/Waypoint.java @@ -157,7 +157,7 @@ public class Waypoint implements IWaypoint { } public String getUrl() { - return "http://www.geocaching.com//seek/cache_details.aspx?wp=" + geocode; + return "http://www.geocaching.com/seek/cache_details.aspx?wp=" + geocode; } @Override diff --git a/main/src/cgeo/geocaching/activity/SimpleWebviewActivity.java b/main/src/cgeo/geocaching/activity/SimpleWebviewActivity.java new file mode 100644 index 0000000..54f3667 --- /dev/null +++ b/main/src/cgeo/geocaching/activity/SimpleWebviewActivity.java @@ -0,0 +1,28 @@ +package cgeo.geocaching.activity; + +import android.os.Bundle; +import android.webkit.WebView; +import android.webkit.WebViewClient; +import cgeo.geocaching.R; + +public class SimpleWebviewActivity extends AbstractActionBarActivity { + + private WebView webview; + + class SimplelWebviewClient extends WebViewClient { + @Override + public boolean shouldOverrideUrlLoading(WebView view, String url) { + webview.loadUrl(url); + return true; + } + } + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState, R.layout.internal_browser); + + webview = (WebView) findViewById(R.id.webview); + webview.getSettings().setJavaScriptEnabled(true); + webview.setWebViewClient(new SimplelWebviewClient()); + webview.loadUrl(String.valueOf(getIntent().getData())); + } +} diff --git a/main/src/cgeo/geocaching/connector/AbstractConnector.java b/main/src/cgeo/geocaching/connector/AbstractConnector.java index 0d28b7f..6d8d79e 100644 --- a/main/src/cgeo/geocaching/connector/AbstractConnector.java +++ b/main/src/cgeo/geocaching/connector/AbstractConnector.java @@ -142,12 +142,7 @@ public abstract class AbstractConnector implements IConnector { @Override public String getLongCacheUrl(final @NonNull Geocache cache) { - return getCacheBrowserUrl(cache); - } - - @Override - public String getCgeoCacheUrl(@NonNull Geocache cache) { - return getLongCacheUrl(cache); + return getCacheUrl(cache); } @Override diff --git a/main/src/cgeo/geocaching/connector/GeocachingAustraliaConnector.java b/main/src/cgeo/geocaching/connector/GeocachingAustraliaConnector.java index 1aaaf53..3992013 100644 --- a/main/src/cgeo/geocaching/connector/GeocachingAustraliaConnector.java +++ b/main/src/cgeo/geocaching/connector/GeocachingAustraliaConnector.java @@ -14,7 +14,7 @@ public class GeocachingAustraliaConnector extends AbstractConnector { } @Override - public String getCacheBrowserUrl(final @NonNull Geocache cache) { + public String getCacheUrl(final @NonNull Geocache cache) { return getCacheUrlPrefix() + cache.getGeocode(); } diff --git a/main/src/cgeo/geocaching/connector/GeopeitusConnector.java b/main/src/cgeo/geocaching/connector/GeopeitusConnector.java index aa7ca1e..aa08485 100644 --- a/main/src/cgeo/geocaching/connector/GeopeitusConnector.java +++ b/main/src/cgeo/geocaching/connector/GeopeitusConnector.java @@ -14,7 +14,7 @@ public class GeopeitusConnector extends AbstractConnector { } @Override - public String getCacheBrowserUrl(final @NonNull Geocache cache) { + public String getCacheUrl(final @NonNull Geocache cache) { return getCacheUrlPrefix() + StringUtils.stripStart(cache.getGeocode().substring(2), "0"); } diff --git a/main/src/cgeo/geocaching/connector/IConnector.java b/main/src/cgeo/geocaching/connector/IConnector.java index d103011..fbade5a 100644 --- a/main/src/cgeo/geocaching/connector/IConnector.java +++ b/main/src/cgeo/geocaching/connector/IConnector.java @@ -34,15 +34,7 @@ public interface IConnector { * @param cache * @return */ - public String getCacheBrowserUrl(final @NonNull Geocache cache); - - /** - * Get the URL that will default to CGEO opening the cache - * - * @param cache - * @return - */ - public String getCgeoCacheUrl(final @NonNull Geocache cache); + public String getCacheUrl(final @NonNull Geocache cache); /** * get long browser URL for the given cache diff --git a/main/src/cgeo/geocaching/connector/UnknownConnector.java b/main/src/cgeo/geocaching/connector/UnknownConnector.java index d254af1..05593d7 100644 --- a/main/src/cgeo/geocaching/connector/UnknownConnector.java +++ b/main/src/cgeo/geocaching/connector/UnknownConnector.java @@ -14,7 +14,7 @@ public class UnknownConnector extends AbstractConnector { } @Override - public String getCacheBrowserUrl(@NonNull Geocache cache) { + public String getCacheUrl(@NonNull Geocache cache) { return null; // we have no url for these caches } diff --git a/main/src/cgeo/geocaching/connector/WaymarkingConnector.java b/main/src/cgeo/geocaching/connector/WaymarkingConnector.java index d1e4e41..282ee31 100644 --- a/main/src/cgeo/geocaching/connector/WaymarkingConnector.java +++ b/main/src/cgeo/geocaching/connector/WaymarkingConnector.java @@ -14,7 +14,7 @@ public class WaymarkingConnector extends AbstractConnector { } @Override - public String getCacheBrowserUrl(@NonNull Geocache cache) { + public String getCacheUrl(@NonNull Geocache cache) { return getCacheUrlPrefix() + cache.getGeocode(); } diff --git a/main/src/cgeo/geocaching/connector/ec/ECConnector.java b/main/src/cgeo/geocaching/connector/ec/ECConnector.java index ebc1a92..71716fe 100644 --- a/main/src/cgeo/geocaching/connector/ec/ECConnector.java +++ b/main/src/cgeo/geocaching/connector/ec/ECConnector.java @@ -68,7 +68,7 @@ public class ECConnector extends AbstractConnector implements ISearchByGeocode, } @Override - public String getCacheBrowserUrl(@NonNull Geocache cache) { + public String getCacheUrl(@NonNull Geocache cache) { return CACHE_URL + cache.getGeocode().replace("EC", ""); } @@ -178,7 +178,7 @@ public class ECConnector extends AbstractConnector implements ISearchByGeocode, @Override public String getLicenseText(final @NonNull Geocache cache) { // NOT TO BE TRANSLATED - return "© " + cache.getOwnerDisplayName() + ", <a href=\"" + getCacheBrowserUrl(cache) + "\">" + getName() + "</a>, CC BY-NC-ND 3.0, alle Logeinträge © jeweiliger Autor"; + return "© " + cache.getOwnerDisplayName() + ", <a href=\"" + getCacheUrl(cache) + "\">" + getName() + "</a>, CC BY-NC-ND 3.0, alle Logeinträge © jeweiliger Autor"; } @Override diff --git a/main/src/cgeo/geocaching/connector/gc/GCConnector.java b/main/src/cgeo/geocaching/connector/gc/GCConnector.java index 723d873..294e969 100644 --- a/main/src/cgeo/geocaching/connector/gc/GCConnector.java +++ b/main/src/cgeo/geocaching/connector/gc/GCConnector.java @@ -50,7 +50,7 @@ public class GCConnector extends AbstractConnector implements ISearchByGeocode, private static final String CACHE_URL_SHORT = "http://coord.info/"; // Double slash is used to force open in browser - private static final String CACHE_URL_LONG = "http://www.geocaching.com//seek/cache_details.aspx?wp="; + private static final String CACHE_URL_LONG = "http://www.geocaching.com/seek/cache_details.aspx?wp="; /** * Pocket queries downloaded from the website use a numeric prefix. The pocket query creator Android app adds a * verbatim "pocketquery" prefix. @@ -84,17 +84,12 @@ public class GCConnector extends AbstractConnector implements ISearchByGeocode, } @Override - public String getCgeoCacheUrl(@NonNull Geocache cache) { - return getLongCacheUrl(cache).replace("//", "/"); - } - - @Override public String getLongCacheUrl(@NonNull Geocache cache) { return CACHE_URL_LONG + cache.getGeocode(); } @Override - public String getCacheBrowserUrl(@NonNull Geocache cache) { + public String getCacheUrl(@NonNull Geocache cache) { return CACHE_URL_SHORT + cache.getGeocode(); } diff --git a/main/src/cgeo/geocaching/connector/oc/OCApiConnector.java b/main/src/cgeo/geocaching/connector/oc/OCApiConnector.java index 4357e79..284234e 100644 --- a/main/src/cgeo/geocaching/connector/oc/OCApiConnector.java +++ b/main/src/cgeo/geocaching/connector/oc/OCApiConnector.java @@ -45,7 +45,7 @@ public class OCApiConnector extends OCConnector implements ISearchByGeocode { @Override public String getLicenseText(final @NonNull Geocache cache) { // NOT TO BE TRANSLATED - return "© " + cache.getOwnerDisplayName() + ", <a href=\"" + getCacheBrowserUrl(cache) + "\">" + getName() + "</a>, " + licenseString; + return "© " + cache.getOwnerDisplayName() + ", <a href=\"" + getCacheUrl(cache) + "\">" + getName() + "</a>, " + licenseString; } @Override diff --git a/main/src/cgeo/geocaching/connector/oc/OCConnector.java b/main/src/cgeo/geocaching/connector/oc/OCConnector.java index 0131c73..1ba88d5 100644 --- a/main/src/cgeo/geocaching/connector/oc/OCConnector.java +++ b/main/src/cgeo/geocaching/connector/oc/OCConnector.java @@ -39,7 +39,7 @@ public class OCConnector extends AbstractConnector { } @Override - public String getCacheBrowserUrl(@NonNull Geocache cache) { + public String getCacheUrl(@NonNull Geocache cache) { return getCacheUrlPrefix() + cache.getGeocode(); } diff --git a/main/src/cgeo/geocaching/connector/ox/OXConnector.java b/main/src/cgeo/geocaching/connector/ox/OXConnector.java index b95a5b8..7d4cf7f 100644 --- a/main/src/cgeo/geocaching/connector/ox/OXConnector.java +++ b/main/src/cgeo/geocaching/connector/ox/OXConnector.java @@ -35,7 +35,7 @@ public class OXConnector extends AbstractConnector implements ISearchByCenter, I } @Override - public String getCacheBrowserUrl(@NonNull Geocache cache) { + public String getCacheUrl(@NonNull Geocache cache) { return getCacheUrlPrefix() + cache.getGeocode(); } @@ -52,7 +52,7 @@ public class OXConnector extends AbstractConnector implements ISearchByCenter, I @Override public String getLicenseText(@NonNull Geocache cache) { // NOT TO BE TRANSLATED - return "<a href=\"" + getCacheBrowserUrl(cache) + "\">" + getName() + "</a> data licensed under the Creative Commons CC-BY-SA 3.0 License"; + return "<a href=\"" + getCacheUrl(cache) + "\">" + getName() + "</a> data licensed under the Creative Commons CC-BY-SA 3.0 License"; } @Override diff --git a/main/src/cgeo/geocaching/connector/trackable/AbstractTrackableConnector.java b/main/src/cgeo/geocaching/connector/trackable/AbstractTrackableConnector.java index 15e32fb..fb554b9 100644 --- a/main/src/cgeo/geocaching/connector/trackable/AbstractTrackableConnector.java +++ b/main/src/cgeo/geocaching/connector/trackable/AbstractTrackableConnector.java @@ -1,6 +1,5 @@ package cgeo.geocaching.connector.trackable; -import cgeo.geocaching.Trackable; import cgeo.geocaching.connector.AbstractConnector; import cgeo.geocaching.connector.UserAction; @@ -23,11 +22,6 @@ public abstract class AbstractTrackableConnector implements TrackableConnector { } @Override - public String getCgeoUrl(Trackable trackable) { - return getBrowserUrl(trackable); - } - - @Override public @NonNull List<UserAction> getUserActions() { return AbstractConnector.getDefaultUserActions(); diff --git a/main/src/cgeo/geocaching/connector/trackable/GeokretyConnector.java b/main/src/cgeo/geocaching/connector/trackable/GeokretyConnector.java index 709ec70..03052f9 100644 --- a/main/src/cgeo/geocaching/connector/trackable/GeokretyConnector.java +++ b/main/src/cgeo/geocaching/connector/trackable/GeokretyConnector.java @@ -20,7 +20,7 @@ public class GeokretyConnector extends AbstractTrackableConnector { } @Override - public String getBrowserUrl(Trackable trackable) { + public String getUrl(Trackable trackable) { return "http://geokrety.org/konkret.php?id=" + getId(trackable.getGeocode()); } @@ -38,7 +38,7 @@ public class GeokretyConnector extends AbstractTrackableConnector { final String hex = geocode.substring(2); return Integer.parseInt(hex, 16); } catch (final NumberFormatException e) { - Log.e("Trackable.getBrowserUrl", e); + Log.e("Trackable.getUrl", e); } return -1; } diff --git a/main/src/cgeo/geocaching/connector/trackable/TrackableConnector.java b/main/src/cgeo/geocaching/connector/trackable/TrackableConnector.java index f91c4ba..6071b5f 100644 --- a/main/src/cgeo/geocaching/connector/trackable/TrackableConnector.java +++ b/main/src/cgeo/geocaching/connector/trackable/TrackableConnector.java @@ -16,9 +16,7 @@ public interface TrackableConnector { public boolean canHandleTrackable(final String geocode); - public String getBrowserUrl(final Trackable trackable); - - public String getCgeoUrl(final Trackable trackable); + public String getUrl(final Trackable trackable); public boolean isLoggable(); diff --git a/main/src/cgeo/geocaching/connector/trackable/TravelBugConnector.java b/main/src/cgeo/geocaching/connector/trackable/TravelBugConnector.java index 3b4077e..77848d7 100644 --- a/main/src/cgeo/geocaching/connector/trackable/TravelBugConnector.java +++ b/main/src/cgeo/geocaching/connector/trackable/TravelBugConnector.java @@ -25,12 +25,7 @@ public class TravelBugConnector extends AbstractTrackableConnector { } @Override - public String getCgeoUrl(Trackable trackable) { - return getBrowserUrl(trackable).replace("//", "/"); - } - - @Override - public String getBrowserUrl(Trackable trackable) { + public String getUrl(Trackable trackable) { return "http://www.geocaching.com//track/details.aspx?tracker=" + trackable.getGeocode(); } diff --git a/main/src/cgeo/geocaching/connector/trackable/UnknownTrackableConnector.java b/main/src/cgeo/geocaching/connector/trackable/UnknownTrackableConnector.java index ea1d0ae..0295927 100644 --- a/main/src/cgeo/geocaching/connector/trackable/UnknownTrackableConnector.java +++ b/main/src/cgeo/geocaching/connector/trackable/UnknownTrackableConnector.java @@ -12,7 +12,7 @@ public class UnknownTrackableConnector extends AbstractTrackableConnector { } @Override - public String getBrowserUrl(Trackable trackable) { + public String getUrl(Trackable trackable) { return StringUtils.EMPTY; } diff --git a/main/src/cgeo/geocaching/export/GpxSerializer.java b/main/src/cgeo/geocaching/export/GpxSerializer.java index 8e71c08..b2587aa 100644 --- a/main/src/cgeo/geocaching/export/GpxSerializer.java +++ b/main/src/cgeo/geocaching/export/GpxSerializer.java @@ -111,7 +111,7 @@ public final class GpxSerializer { XmlUtils.multipleTexts(gpx, PREFIX_GPX, "name", cache.getGeocode(), "desc", cache.getName(), - "url", cache.getCgeoUrl(), + "url", cache.getUrl(), "urlname", cache.getName(), "sym", cache.isFound() ? "Geocache Found" : "Geocache", "type", "Geocache|" + cache.getType().pattern); diff --git a/main/src/cgeo/geocaching/utils/LogTemplateProvider.java b/main/src/cgeo/geocaching/utils/LogTemplateProvider.java index 1ddede5..76400cf 100644 --- a/main/src/cgeo/geocaching/utils/LogTemplateProvider.java +++ b/main/src/cgeo/geocaching/utils/LogTemplateProvider.java @@ -205,11 +205,11 @@ public final class LogTemplateProvider { public String getValue(final LogContext context) { final Trackable trackable = context.getTrackable(); if (trackable != null) { - return trackable.getBrowserUrl(); + return trackable.getUrl(); } final Geocache cache = context.getCache(); if (cache != null) { - return cache.getBrowserUrl(); + return cache.getUrl(); } return StringUtils.EMPTY; } |
