aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/AbstractPopupActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/cgeo/geocaching/AbstractPopupActivity.java')
-rw-r--r--main/src/cgeo/geocaching/AbstractPopupActivity.java33
1 files changed, 12 insertions, 21 deletions
diff --git a/main/src/cgeo/geocaching/AbstractPopupActivity.java b/main/src/cgeo/geocaching/AbstractPopupActivity.java
index 1cf0353..02f89a6 100644
--- a/main/src/cgeo/geocaching/AbstractPopupActivity.java
+++ b/main/src/cgeo/geocaching/AbstractPopupActivity.java
@@ -21,8 +21,6 @@ import android.content.Intent;
import android.graphics.Rect;
import android.net.Uri;
import android.os.Bundle;
-import android.os.Handler;
-import android.os.Message;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
@@ -42,18 +40,6 @@ public abstract class AbstractPopupActivity extends AbstractActivity {
private TextView cacheDistance = null;
private final int layout;
- private final Handler ratingHandler = new Handler() {
-
- @Override
- public void handleMessage(Message msg) {
- try {
- details.addRating(cache);
- } catch (final Exception e) {
- // nothing
- }
- }
- };
-
private final GeoDirHandler geoUpdate = new GeoDirHandler() {
@Override
@@ -64,7 +50,7 @@ public abstract class AbstractPopupActivity extends AbstractActivity {
cacheDistance.bringToFront();
}
onUpdateGeoData(geo);
- } catch (final Exception e) {
+ } catch (final RuntimeException e) {
Log.w("Failed to UpdateLocation location.");
}
}
@@ -91,8 +77,8 @@ public abstract class AbstractPopupActivity extends AbstractActivity {
if (!cache.supportsGCVote()) {
return;
}
- (new Thread("Load GCVote") {
+ (new Thread("Load GCVote") {
@Override
public void run() {
final GCVoteRating rating = GCVote.getRating(cache.getGuid(), geocode);
@@ -102,14 +88,17 @@ public abstract class AbstractPopupActivity extends AbstractActivity {
}
cache.setRating(rating.getRating());
cache.setVotes(rating.getVotes());
- final Message msg = Message.obtain();
- ratingHandler.sendMessage(msg);
+ runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ details.addRating(cache); }
+ });
}
}).start();
}
protected void init() {
- cache = cgData.loadCache(geocode, LoadFlags.LOAD_CACHE_OR_DB);
+ cache = DataStore.loadCache(geocode, LoadFlags.LOAD_CACHE_OR_DB);
if (cache == null) {
showToast(res.getString(R.string.err_detail_cache_find));
@@ -209,7 +198,7 @@ public abstract class AbstractPopupActivity extends AbstractActivity {
menu.findItem(R.id.menu_default_navigation).setTitle(NavigationAppFactory.getDefaultNavigationApplication().getName());
LoggingUI.onPrepareOptionsMenu(menu, cache);
- } catch (final Exception e) {
+ } catch (final RuntimeException e) {
// nothing
}
@@ -243,6 +232,7 @@ public abstract class AbstractPopupActivity extends AbstractActivity {
protected abstract void startDefaultNavigation2();
protected final void addCacheDetails() {
+ assert cache != null;
// cache type
final String cacheType = cache.getType().getL10n();
final String cacheSize = cache.getSize() != CacheSize.UNKNOWN ? " (" + cache.getSize().getL10n() + ")" : "";
@@ -256,6 +246,7 @@ public abstract class AbstractPopupActivity extends AbstractActivity {
details.addDifficulty(cache);
details.addTerrain(cache);
+ details.addEventDate(cache);
// rating
if (cache.getRating() > 0) {
@@ -285,7 +276,7 @@ public abstract class AbstractPopupActivity extends AbstractActivity {
showToast(res.getString(R.string.err_location_unknown));
return;
}
- cgeocaches.startActivityCoordinates(this, coords);
+ CacheListActivity.startActivityCoordinates(this, coords);
finish();
}