diff options
| author | Bananeweizen <Bananeweizen@gmx.de> | 2012-12-29 09:48:53 +0100 |
|---|---|---|
| committer | Bananeweizen <Bananeweizen@gmx.de> | 2012-12-29 09:48:53 +0100 |
| commit | f0ca3839442f1702d729e02045d536a35da874dd (patch) | |
| tree | c22a8bbee995881c4a83e52729e77a07bfead8bb /main/src | |
| parent | d4391c55a12c7b527da9d0d301eb9411c1e16e5b (diff) | |
| download | cgeo-f0ca3839442f1702d729e02045d536a35da874dd.zip cgeo-f0ca3839442f1702d729e02045d536a35da874dd.tar.gz cgeo-f0ca3839442f1702d729e02045d536a35da874dd.tar.bz2 | |
fix #2299: Crash on screen rotation in cache details when menu opened
Diffstat (limited to 'main/src')
| -rw-r--r-- | main/src/cgeo/geocaching/CacheDetailActivity.java | 11 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/TrackableActivity.java | 7 |
2 files changed, 12 insertions, 6 deletions
diff --git a/main/src/cgeo/geocaching/CacheDetailActivity.java b/main/src/cgeo/geocaching/CacheDetailActivity.java index 188f939..5f6fdef 100644 --- a/main/src/cgeo/geocaching/CacheDetailActivity.java +++ b/main/src/cgeo/geocaching/CacheDetailActivity.java @@ -533,10 +533,12 @@ public class CacheDetailActivity extends AbstractViewPagerActivity<CacheDetailAc @Override public boolean onPrepareOptionsMenu(Menu menu) { - menu.findItem(MENU_DEFAULT_NAVIGATION).setVisible(null != cache.getCoords()); - menu.findItem(MENU_CALENDAR).setVisible(cache.canBeAddedToCalendar()); - menu.findItem(MENU_CACHES_AROUND).setVisible(null != cache.getCoords() && cache.supportsCachesAround()); - menu.findItem(MENU_BROWSER).setVisible(cache.canOpenInBrowser()); + if (cache != null) { + menu.findItem(MENU_DEFAULT_NAVIGATION).setVisible(null != cache.getCoords()); + menu.findItem(MENU_CALENDAR).setVisible(cache.canBeAddedToCalendar()); + menu.findItem(MENU_CACHES_AROUND).setVisible(null != cache.getCoords() && cache.supportsCachesAround()); + menu.findItem(MENU_BROWSER).setVisible(cache.canOpenInBrowser()); + } return super.onPrepareOptionsMenu(menu); } @@ -650,6 +652,7 @@ public class CacheDetailActivity extends AbstractViewPagerActivity<CacheDetailAc reinitializeViewPager(); // rendering done! remove progress popup if any there + invalidateOptionsMenuCompatible(); progress.dismiss(); } diff --git a/main/src/cgeo/geocaching/TrackableActivity.java b/main/src/cgeo/geocaching/TrackableActivity.java index b01942f..8b300be 100644 --- a/main/src/cgeo/geocaching/TrackableActivity.java +++ b/main/src/cgeo/geocaching/TrackableActivity.java @@ -95,6 +95,7 @@ public class TrackableActivity extends AbstractViewPagerActivity<TrackableActivi setTitle(trackable.getName()); } + invalidateOptionsMenuCompatible(); reinitializeViewPager(); } catch (Exception e) { @@ -257,8 +258,10 @@ public class TrackableActivity extends AbstractViewPagerActivity<TrackableActivi @Override public boolean onPrepareOptionsMenu(Menu menu) { - menu.findItem(MENU_LOG_TOUCH).setEnabled(StringUtils.isNotBlank(geocode) && trackable.isLoggable()); - menu.findItem(MENU_BROWSER_TRACKABLE).setEnabled(StringUtils.isNotBlank(trackable.getUrl())); + if (trackable != null) { + menu.findItem(MENU_LOG_TOUCH).setEnabled(StringUtils.isNotBlank(geocode) && trackable.isLoggable()); + menu.findItem(MENU_BROWSER_TRACKABLE).setEnabled(StringUtils.isNotBlank(trackable.getUrl())); + } return super.onPrepareOptionsMenu(menu); } |
