diff options
| author | Bananeweizen <bananeweizen@gmx.de> | 2015-02-22 11:23:08 +0100 |
|---|---|---|
| committer | Bananeweizen <bananeweizen@gmx.de> | 2015-02-22 11:23:08 +0100 |
| commit | bd313c736eb1da343834ea416254c1daed34364a (patch) | |
| tree | 72a97bd1651a96de6dba8ec35184924f7eaffe7e /main/src/cgeo/geocaching/CacheDetailActivity.java | |
| parent | 6730171634cc41a4ea46cb8bfc91b4d822ae4a0c (diff) | |
| download | cgeo-bd313c736eb1da343834ea416254c1daed34364a.zip cgeo-bd313c736eb1da343834ea416254c1daed34364a.tar.gz cgeo-bd313c736eb1da343834ea416254c1daed34364a.tar.bz2 | |
new: ignore caches
Diffstat (limited to 'main/src/cgeo/geocaching/CacheDetailActivity.java')
| -rw-r--r-- | main/src/cgeo/geocaching/CacheDetailActivity.java | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/main/src/cgeo/geocaching/CacheDetailActivity.java b/main/src/cgeo/geocaching/CacheDetailActivity.java index d6ec50e..ffc60f2 100644 --- a/main/src/cgeo/geocaching/CacheDetailActivity.java +++ b/main/src/cgeo/geocaching/CacheDetailActivity.java @@ -13,6 +13,7 @@ import cgeo.geocaching.apps.cache.navi.NavigationSelectionActionProvider; import cgeo.geocaching.apps.cachelist.MapsWithMeCacheListApp; import cgeo.geocaching.connector.ConnectorFactory; import cgeo.geocaching.connector.IConnector; +import cgeo.geocaching.connector.capability.IgnoreCapability; import cgeo.geocaching.connector.gc.GCConnector; import cgeo.geocaching.connector.gc.GCConstants; import cgeo.geocaching.enumerations.CacheAttribute; @@ -494,6 +495,12 @@ public class CacheDetailActivity extends AbstractViewPagerActivity<CacheDetailAc menu.findItem(R.id.menu_refresh).setVisible(cache != null && cache.isOffline()); menu.findItem(R.id.menu_gcvote).setVisible(cache != null && GCVote.isVotingPossible(cache)); menu.findItem(R.id.menu_checker).setVisible(cache != null && StringUtils.isNotEmpty(CheckerUtils.getCheckerUrl(cache))); + if (cache != null) { + final IConnector connector = ConnectorFactory.getConnector(cache); + if (connector instanceof IgnoreCapability) { + menu.findItem(R.id.menu_ignore).setVisible(((IgnoreCapability) connector).canIgnoreCache(cache)); + } + } return super.onPrepareOptionsMenu(menu); } @@ -521,6 +528,9 @@ public class CacheDetailActivity extends AbstractViewPagerActivity<CacheDetailAc case R.id.menu_checker: startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(CheckerUtils.getCheckerUrl(cache)))); return true; + case R.id.menu_ignore: + ignoreCache(); + return true; default: if (NavigationAppFactory.onMenuItemSelected(item, this, cache)) { return true; @@ -534,6 +544,15 @@ public class CacheDetailActivity extends AbstractViewPagerActivity<CacheDetailAc return super.onOptionsItemSelected(item); } + private void ignoreCache() { + RxUtils.networkScheduler.createWorker().schedule(new Action0() { + @Override + public void call() { + ((IgnoreCapability) ConnectorFactory.getConnector(cache)).ignoreCache(cache); + } + }); + } + private void showVoteDialog() { GCVoteDialog.show(this, cache, new Runnable() { @Override |
