aboutsummaryrefslogtreecommitdiffstats
path: root/main/src
diff options
context:
space:
mode:
authorSamuel Tardieu <sam@rfc1149.net>2014-03-10 14:40:03 +0100
committerSamuel Tardieu <sam@rfc1149.net>2014-03-10 14:40:03 +0100
commit4ed6d0cc7c6b8be97c69fd4061f431442715b3b1 (patch)
tree6b89382d0a51d3dc58330744a3e5ec7c17304a0d /main/src
parentca91d0da3bf84a8c827412cbde9dbdc823b2d7c9 (diff)
downloadcgeo-4ed6d0cc7c6b8be97c69fd4061f431442715b3b1.zip
cgeo-4ed6d0cc7c6b8be97c69fd4061f431442715b3b1.tar.gz
cgeo-4ed6d0cc7c6b8be97c69fd4061f431442715b3b1.tar.bz2
Use basic synchronization on infrequent access pattern
Diffstat (limited to 'main/src')
-rw-r--r--main/src/cgeo/geocaching/CgeoApplication.java16
1 files changed, 6 insertions, 10 deletions
diff --git a/main/src/cgeo/geocaching/CgeoApplication.java b/main/src/cgeo/geocaching/CgeoApplication.java
index d34b70b..bb74b52 100644
--- a/main/src/cgeo/geocaching/CgeoApplication.java
+++ b/main/src/cgeo/geocaching/CgeoApplication.java
@@ -70,18 +70,14 @@ public class CgeoApplication extends Application {
}.start();
}
- public Observable<ImmutablePair<IGeoData, Float>> geoDirObservable() {
+ public synchronized Observable<ImmutablePair<IGeoData, Float>> geoDirObservable() {
if (geoDir == null) {
- synchronized(this) {
- if (geoDir == null) {
- geoDir = Observable.combineLatest(GeoDataProvider.create(this), DirectionProvider.create(this), new Func2<IGeoData, Float, ImmutablePair<IGeoData, Float>>() {
- @Override
- public ImmutablePair<IGeoData, Float> call(final IGeoData geoData, final Float dir) {
- return new ImmutablePair<IGeoData, Float>(geoData, dir);
- }
- });
+ geoDir = Observable.combineLatest(GeoDataProvider.create(this), DirectionProvider.create(this), new Func2<IGeoData, Float, ImmutablePair<IGeoData, Float>>() {
+ @Override
+ public ImmutablePair<IGeoData, Float> call(final IGeoData geoData, final Float dir) {
+ return new ImmutablePair<IGeoData, Float>(geoData, dir);
}
- }
+ });
}
return geoDir;
}