aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/CacheDetailActivity.java
diff options
context:
space:
mode:
authorBananeweizen <bananeweizen@gmx.de>2015-02-22 11:23:08 +0100
committerBananeweizen <bananeweizen@gmx.de>2015-02-22 11:23:08 +0100
commitbd313c736eb1da343834ea416254c1daed34364a (patch)
tree72a97bd1651a96de6dba8ec35184924f7eaffe7e /main/src/cgeo/geocaching/CacheDetailActivity.java
parent6730171634cc41a4ea46cb8bfc91b4d822ae4a0c (diff)
downloadcgeo-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.java19
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