aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authorBananeweizen <bananeweizen@gmx.de>2015-02-21 17:23:56 +0100
committerBananeweizen <bananeweizen@gmx.de>2015-02-21 17:23:56 +0100
commit491aa856303b4c01da8cda8bb033e58e5b8eb975 (patch)
tree6d41b5ca1512cfdef0f1be29c16b78ef3ce316e1 /main
parent083593725b909bb011f291c30e46e605e6908d2a (diff)
downloadcgeo-491aa856303b4c01da8cda8bb033e58e5b8eb975.zip
cgeo-491aa856303b4c01da8cda8bb033e58e5b8eb975.tar.gz
cgeo-491aa856303b4c01da8cda8bb033e58e5b8eb975.tar.bz2
fix Android Beam for trackables
Diffstat (limited to 'main')
-rw-r--r--main/res/values/changelog_master.xml1
-rw-r--r--main/src/cgeo/geocaching/TrackableActivity.java2
-rw-r--r--main/src/cgeo/geocaching/network/AndroidBeam.java5
3 files changed, 7 insertions, 1 deletions
diff --git a/main/res/values/changelog_master.xml b/main/res/values/changelog_master.xml
index ded2988..015c70b 100644
--- a/main/res/values/changelog_master.xml
+++ b/main/res/values/changelog_master.xml
@@ -16,6 +16,7 @@
· New: Links in personal notes can be clicked\n
· New: Menu in cache details to open geo checker\n
· Fix: Improve detection pattern for event start time\n
+ · Fix: Android Beam working with trackables again\n
· Fix: Disable Android Beam when not useful\n
· Fix: Don\'t allow logs in the future\n
· Fix: Allow shortcut creation for All caches list\n
diff --git a/main/src/cgeo/geocaching/TrackableActivity.java b/main/src/cgeo/geocaching/TrackableActivity.java
index b7e42ab..e04fe9f 100644
--- a/main/src/cgeo/geocaching/TrackableActivity.java
+++ b/main/src/cgeo/geocaching/TrackableActivity.java
@@ -29,6 +29,7 @@ import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.apache.commons.lang3.tuple.Pair;
+import org.eclipse.jdt.annotation.Nullable;
import rx.Observable;
import rx.android.app.AppObservable;
@@ -181,6 +182,7 @@ public class TrackableActivity extends AbstractViewPagerActivity<TrackableActivi
}));
}
+ @Nullable
@Override
public String getAndroidBeamUri() {
return trackable != null ? trackable.getUrl() : null;
diff --git a/main/src/cgeo/geocaching/network/AndroidBeam.java b/main/src/cgeo/geocaching/network/AndroidBeam.java
index 58198b9..68b8f94 100644
--- a/main/src/cgeo/geocaching/network/AndroidBeam.java
+++ b/main/src/cgeo/geocaching/network/AndroidBeam.java
@@ -3,6 +3,7 @@ package cgeo.geocaching.network;
import cgeo.geocaching.CgeoApplication;
import org.apache.commons.io.Charsets;
+import org.apache.commons.lang3.StringUtils;
import org.eclipse.jdt.annotation.Nullable;
import android.annotation.TargetApi;
@@ -74,10 +75,12 @@ public class AndroidBeam {
return new NfcAdapter.CreateNdefMessageCallback() {
@Override
public NdefMessage createNdefMessage(final NfcEvent event) {
- final String uri = sharingInterface.getAndroidBeamUri();
+ String uri = sharingInterface.getAndroidBeamUri();
if (uri == null) {
return null;
}
+ // normalize our modified URLs for beaming
+ uri = StringUtils.replace(uri, "geocaching.com//", "geocaching.com/");
final NdefRecord[] records = {
NdefRecord.createUri(uri),
NdefRecord.createApplicationRecord(CgeoApplication.getInstance().getPackageName())