aboutsummaryrefslogtreecommitdiffstats
path: root/main/src
diff options
context:
space:
mode:
authorBananeweizen <bananeweizen@gmx.de>2015-02-08 11:23:15 +0100
committerBananeweizen <bananeweizen@gmx.de>2015-02-08 11:23:15 +0100
commit82e721dcd4ade969770b8ec2183f0b44daeeb716 (patch)
treea2b74e20afbf2be9677704d069026668baab47f8 /main/src
parent592cbf997da3e0964383b964990bfbd39bca0d39 (diff)
downloadcgeo-82e721dcd4ade969770b8ec2183f0b44daeeb716.zip
cgeo-82e721dcd4ade969770b8ec2183f0b44daeeb716.tar.gz
cgeo-82e721dcd4ade969770b8ec2183f0b44daeeb716.tar.bz2
fix #4659: cancel action mode on page switch
Diffstat (limited to 'main/src')
-rw-r--r--main/src/cgeo/geocaching/CacheDetailActivity.java14
1 files changed, 12 insertions, 2 deletions
diff --git a/main/src/cgeo/geocaching/CacheDetailActivity.java b/main/src/cgeo/geocaching/CacheDetailActivity.java
index 9ebad8b..b48fc58 100644
--- a/main/src/cgeo/geocaching/CacheDetailActivity.java
+++ b/main/src/cgeo/geocaching/CacheDetailActivity.java
@@ -306,6 +306,11 @@ public class CacheDetailActivity extends AbstractViewPagerActivity<CacheDetailAc
}
requireGeodata = getPage(position) == Page.DETAILS;
startOrStopGeoDataListener();
+
+ // cancel contextual actions on page change
+ if (currentActionMode != null) {
+ currentActionMode.finish();
+ }
}
});
requireGeodata = pageToOpen == 1;
@@ -1288,6 +1293,11 @@ public class CacheDetailActivity extends AbstractViewPagerActivity<CacheDetailAc
});
+ /**
+ * Reflect the (contextual) action mode of the action bar.
+ */
+ protected ActionMode currentActionMode;
+
protected class DescriptionViewCreator extends AbstractCachingPageViewCreator<ScrollView> {
@InjectView(R.id.personalnote) protected TextView personalNoteView;
@@ -1788,7 +1798,7 @@ public class CacheDetailActivity extends AbstractViewPagerActivity<CacheDetailAc
@Override
public boolean onLongClick(final View v) {
- startSupportActionMode(new ActionMode.Callback() {
+ currentActionMode = startSupportActionMode(new ActionMode.Callback() {
@Override
public boolean onPrepareActionMode(final ActionMode actionMode, final Menu menu) {
@@ -1837,7 +1847,7 @@ public class CacheDetailActivity extends AbstractViewPagerActivity<CacheDetailAc
@Override
public void onDestroyActionMode(final ActionMode actionMode) {
- // do nothing
+ currentActionMode = null;
}
@Override