diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2013-01-01 13:38:57 +0100 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2013-01-01 13:49:29 +0100 |
| commit | 7c638ee0b2b4481575696ff6442f036965c30fdd (patch) | |
| tree | 178bd1b4e8468056d04f26d1fa21ddfb2243c2d0 /main/src/cgeo/geocaching/cgeocaches.java | |
| parent | b85868107c3bfdd1f911c93e139fd32eafef4bd3 (diff) | |
| download | cgeo-7c638ee0b2b4481575696ff6442f036965c30fdd.zip cgeo-7c638ee0b2b4481575696ff6442f036965c30fdd.tar.gz cgeo-7c638ee0b2b4481575696ff6442f036965c30fdd.tar.bz2 | |
Refactoring: do not use global variables for data passing
Also, there is no need to use a separate handler, runOnUiThread is
enough here as we only deal with a single message.
Diffstat (limited to 'main/src/cgeo/geocaching/cgeocaches.java')
| -rw-r--r-- | main/src/cgeo/geocaching/cgeocaches.java | 38 |
1 files changed, 13 insertions, 25 deletions
diff --git a/main/src/cgeo/geocaching/cgeocaches.java b/main/src/cgeo/geocaching/cgeocaches.java index f8d1b83..f5cc336 100644 --- a/main/src/cgeo/geocaching/cgeocaches.java +++ b/main/src/cgeo/geocaching/cgeocaches.java @@ -246,10 +246,7 @@ public class cgeocaches extends AbstractListActivity implements FilteredActivity @Override public void handleMessage(Message msg) { try { - if (search != null) { - replaceCacheListFromSearch(); - adapter.reFilter(); - } + replaceCacheListFromSearch(); setAdapter(); updateTitle(); @@ -279,17 +276,24 @@ public class cgeocaches extends AbstractListActivity implements FilteredActivity adapter.setSelectMode(false); } }; - private Set<cgCache> cachesFromSearchResult; /** - * Loads the caches and fills the cachelist + * Loads the caches and fills the cachelist according to {@link #search} content. + * + * If {@link #search} is <code>null</code>, this does nothing. */ private void replaceCacheListFromSearch() { - if (search!=null) { - cachesFromSearchResult = search.getCachesFromSearchResult(LoadFlags.LOAD_CACHE_OR_DB); + if (search != null) { + final Set<cgCache> cachesFromSearchResult = search.getCachesFromSearchResult(LoadFlags.LOAD_CACHE_OR_DB); + runOnUiThread(new Runnable() { + @Override + public void run() { + cacheList.clear(); + cacheList.addAll((Set<cgCache>) cachesFromSearchResult); + } + }); } - refreshCacheListHandler.sendEmptyMessage(0); } protected void updateTitle() { @@ -1714,22 +1718,6 @@ public class cgeocaches extends AbstractListActivity implements FilteredActivity } } - /** - * Handler to refresh the current list of caches. This list is shared with the Adapter and therefore must be updated - * in the UI-Thread - */ - - private Handler refreshCacheListHandler = new Handler() { - @Override - public void handleMessage(Message msg) { - cacheList.clear(); - if (cachesFromSearchResult != null) { - cacheList.addAll(cachesFromSearchResult); - } - } - }; - - private void renameList() { new StoredList.UserInterface(this).promptForListRename(listId, new Runnable() { |
