diff options
| author | Bananeweizen <Bananeweizen@gmx.de> | 2013-03-31 13:59:57 +0200 |
|---|---|---|
| committer | Bananeweizen <Bananeweizen@gmx.de> | 2013-03-31 13:59:57 +0200 |
| commit | 1c34648ec943ff4f407677f14203790257b79321 (patch) | |
| tree | ac3c2a5a9bf0848e1bcb24ad6591ecca8e412466 | |
| parent | 7d23bd5da5770645843f0dd11d89ea75db860de2 (diff) | |
| download | cgeo-1c34648ec943ff4f407677f14203790257b79321.zip cgeo-1c34648ec943ff4f407677f14203790257b79321.tar.gz cgeo-1c34648ec943ff4f407677f14203790257b79321.tar.bz2 | |
fix #2615: loader not working for next page
| -rw-r--r-- | main/src/cgeo/geocaching/cgeocaches.java | 22 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/loaders/AbstractSearchLoader.java | 3 |
2 files changed, 14 insertions, 11 deletions
diff --git a/main/src/cgeo/geocaching/cgeocaches.java b/main/src/cgeo/geocaching/cgeocaches.java index df09936..096f960 100644 --- a/main/src/cgeo/geocaching/cgeocaches.java +++ b/main/src/cgeo/geocaching/cgeocaches.java @@ -23,6 +23,7 @@ import cgeo.geocaching.loaders.AddressGeocacheListLoader; import cgeo.geocaching.loaders.CoordsGeocacheListLoader; import cgeo.geocaching.loaders.HistoryGeocacheListLoader; import cgeo.geocaching.loaders.KeywordGeocacheListLoader; +import cgeo.geocaching.loaders.NextPageGeocacheListLoader; import cgeo.geocaching.loaders.OfflineGeocacheListLoader; import cgeo.geocaching.loaders.OwnerGeocacheListLoader; import cgeo.geocaching.loaders.RemoveFromHistoryLoader; @@ -1427,7 +1428,7 @@ public class cgeocaches extends AbstractListActivity implements FilteredActivity showFooterLoadingCaches(); listFooter.setOnClickListener(null); - currentLoader.startLoading(); + getSupportLoaderManager().restartLoader(CacheListLoaderType.NEXT_PAGE.ordinal(), null, cgeocaches.this); } } @@ -1725,8 +1726,10 @@ public class cgeocaches extends AbstractListActivity implements FilteredActivity @Override public Loader<SearchResult> onCreateLoader(int type, Bundle extras) { AbstractSearchLoader loader = null; + if (type >= CacheListLoaderType.values().length) { + throw new IllegalArgumentException("invalid loader type " + type); + } CacheListLoaderType enumType = CacheListLoaderType.values()[type]; - final String username = extras.getString(Intents.EXTRA_USERNAME); switch (enumType) { case OFFLINE: listId = Settings.getLastList(); @@ -1775,12 +1778,14 @@ public class cgeocaches extends AbstractListActivity implements FilteredActivity } break; case USERNAME: + final String username = extras.getString(Intents.EXTRA_USERNAME); title = username; loader = new UsernameGeocacheListLoader(app, username); break; case OWNER: - title = username; - loader = new OwnerGeocacheListLoader(app, username); + final String ownerName = extras.getString(Intents.EXTRA_USERNAME); + title = ownerName; + loader = new OwnerGeocacheListLoader(app, ownerName); break; case MAP: //TODO Build Nullloader @@ -1793,12 +1798,9 @@ public class cgeocaches extends AbstractListActivity implements FilteredActivity title = res.getString(R.string.caches_history); loader = new RemoveFromHistoryLoader(app, extras.getStringArray(Intents.EXTRA_CACHELIST), coords); break; - - default: - title = "caches"; - setTitle(title); - Log.e("cgeocaches.onCreate: No action or unknown action specified"); - return null; + case NEXT_PAGE: + loader = new NextPageGeocacheListLoader(app, search); + break; } setTitle(title); showProgress(true); diff --git a/main/src/cgeo/geocaching/loaders/AbstractSearchLoader.java b/main/src/cgeo/geocaching/loaders/AbstractSearchLoader.java index 46912c5..ece5c2f 100644 --- a/main/src/cgeo/geocaching/loaders/AbstractSearchLoader.java +++ b/main/src/cgeo/geocaching/loaders/AbstractSearchLoader.java @@ -19,7 +19,8 @@ public abstract class AbstractSearchLoader extends AsyncTaskLoader<SearchResult> USERNAME, OWNER, MAP, - REMOVE_FROM_HISTORY; + REMOVE_FROM_HISTORY, + NEXT_PAGE; } private Handler recaptchaHandler = null; |
