diff options
Diffstat (limited to 'main')
| -rw-r--r-- | main/src/cgeo/geocaching/AbstractPopupActivity.java | 23 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/CgeoApplication.java | 27 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/utils/DatabaseBackupUtils.java | 33 |
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) { |
