aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
Diffstat (limited to 'main')
-rw-r--r--main/src/cgeo/geocaching/AbstractPopupActivity.java23
-rw-r--r--main/src/cgeo/geocaching/CgeoApplication.java27
-rw-r--r--main/src/cgeo/geocaching/utils/DatabaseBackupUtils.java33
3 files changed, 31 insertions, 52 deletions
diff --git a/main/src/cgeo/geocaching/AbstractPopupActivity.java b/main/src/cgeo/geocaching/AbstractPopupActivity.java
index e88457a..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
@@ -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,8 +88,11 @@ 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();
}
diff --git a/main/src/cgeo/geocaching/CgeoApplication.java b/main/src/cgeo/geocaching/CgeoApplication.java
index b725b0b..2c419cf 100644
--- a/main/src/cgeo/geocaching/CgeoApplication.java
+++ b/main/src/cgeo/geocaching/CgeoApplication.java
@@ -9,8 +9,6 @@ import android.app.Activity;
import android.app.Application;
import android.app.ProgressDialog;
import android.content.res.Resources;
-import android.os.Handler;
-import android.os.Message;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -69,24 +67,21 @@ public class CgeoApplication extends Application {
final Resources res = this.getResources();
final ProgressDialog dialog = ProgressDialog.show(fromActivity, res.getString(R.string.init_dbmove_dbmove), res.getString(R.string.init_dbmove_running), true, false);
final AtomicBoolean atomic = new AtomicBoolean(false);
- Thread moveThread = new Thread() {
- final Handler handler = new Handler() {
- @Override
- public void handleMessage(Message msg) {
- dialog.dismiss();
- boolean success = atomic.get();
- String message = success ? res.getString(R.string.init_dbmove_success) : res.getString(R.string.init_dbmove_failed);
- ActivityMixin.helpDialog(fromActivity, res.getString(R.string.init_dbmove_dbmove), message);
- }
- };
-
+ new Thread() {
@Override
public void run() {
atomic.set(DataStore.moveDatabase());
- handler.sendMessage(handler.obtainMessage());
+ fromActivity.runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ dialog.dismiss();
+ boolean success = atomic.get();
+ String message = success ? res.getString(R.string.init_dbmove_success) : res.getString(R.string.init_dbmove_failed);
+ ActivityMixin.helpDialog(fromActivity, res.getString(R.string.init_dbmove_dbmove), message);
+ }
+ });
}
- };
- moveThread.start();
+ }.start();
}
/**
diff --git a/main/src/cgeo/geocaching/utils/DatabaseBackupUtils.java b/main/src/cgeo/geocaching/utils/DatabaseBackupUtils.java
index 5c8d641..b291a8a 100644
--- a/main/src/cgeo/geocaching/utils/DatabaseBackupUtils.java
+++ b/main/src/cgeo/geocaching/utils/DatabaseBackupUtils.java
@@ -12,8 +12,6 @@ import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.res.Resources;
-import android.os.Handler;
-import android.os.Message;
import java.io.File;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -34,27 +32,24 @@ public class DatabaseBackupUtils {
final Resources res = activity.getResources();
final ProgressDialog dialog = ProgressDialog.show(activity, res.getString(R.string.init_backup_restore), res.getString(R.string.init_restore_running), true, false);
final AtomicBoolean restoreSuccessful = new AtomicBoolean(false);
- Thread restoreThread = new Thread() {
- final Handler handler = new Handler() {
- @Override
- public void handleMessage(Message msg) {
- dialog.dismiss();
- boolean restored = restoreSuccessful.get();
- String message = restored ? res.getString(R.string.init_restore_success) : res.getString(R.string.init_restore_failed);
- ActivityMixin.helpDialog(activity, res.getString(R.string.init_backup_restore), message);
- if (activity instanceof MainActivity) {
- ((MainActivity) activity).updateCacheCounter();
- }
- }
- };
-
+ new Thread() {
@Override
public void run() {
restoreSuccessful.set(DataStore.restoreDatabaseInternal());
- handler.sendMessage(handler.obtainMessage());
+ activity.runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ dialog.dismiss();
+ boolean restored = restoreSuccessful.get();
+ String message = restored ? res.getString(R.string.init_restore_success) : res.getString(R.string.init_restore_failed);
+ ActivityMixin.helpDialog(activity, res.getString(R.string.init_backup_restore), message);
+ if (activity instanceof MainActivity) {
+ ((MainActivity) activity).updateCacheCounter();
+ }
+ }
+ });
}
- };
- restoreThread.start();
+ }.start();
}
public static boolean createBackup(final Activity activity, final Runnable runAfterwards) {