diff options
Diffstat (limited to 'main')
3 files changed, 13 insertions, 4 deletions
diff --git a/main/src/cgeo/geocaching/activity/AbstractViewPagerActivity.java b/main/src/cgeo/geocaching/activity/AbstractViewPagerActivity.java index 24c0a1b..049fc7d 100644 --- a/main/src/cgeo/geocaching/activity/AbstractViewPagerActivity.java +++ b/main/src/cgeo/geocaching/activity/AbstractViewPagerActivity.java @@ -8,6 +8,7 @@ import com.viewpagerindicator.TitleProvider; import org.apache.commons.lang3.tuple.Pair; import org.eclipse.jdt.annotation.NonNull; +import org.eclipse.jdt.annotation.Nullable; import android.app.Activity; import android.os.Bundle; @@ -86,7 +87,8 @@ public abstract class AbstractViewPagerActivity<Page extends Enum<Page>> extends /** * Gets state of the view */ - public Bundle getViewState(); + public @Nullable + Bundle getViewState(); /** * Set the state of the view @@ -115,8 +117,11 @@ public abstract class AbstractViewPagerActivity<Page extends Enum<Page>> extends // Store the state of the view if the page supports it PageViewCreator creator = viewCreators.get(page); if (creator != null) { + @Nullable Bundle state = creator.getViewState(); - viewStates.put(page, state); + if (state != null) { + viewStates.put(page, state); + } } container.removeView((View) object); diff --git a/main/src/cgeo/geocaching/ui/AbstractCachingListViewPageViewCreator.java b/main/src/cgeo/geocaching/ui/AbstractCachingListViewPageViewCreator.java index 11a37aa..799b695 100644 --- a/main/src/cgeo/geocaching/ui/AbstractCachingListViewPageViewCreator.java +++ b/main/src/cgeo/geocaching/ui/AbstractCachingListViewPageViewCreator.java @@ -3,6 +3,7 @@ package cgeo.geocaching.ui; import cgeo.geocaching.activity.AbstractViewPagerActivity.PageViewCreator; import org.eclipse.jdt.annotation.NonNull; +import org.eclipse.jdt.annotation.Nullable; import android.os.Bundle; import android.support.v4.view.ViewPager; @@ -24,7 +25,8 @@ public abstract class AbstractCachingListViewPageViewCreator extends AbstractCac * @return the state encapsulated in a bundle */ @Override - public Bundle getViewState() { + public @Nullable + Bundle getViewState() { if (view == null) { return null; } diff --git a/main/src/cgeo/geocaching/ui/AbstractCachingPageViewCreator.java b/main/src/cgeo/geocaching/ui/AbstractCachingPageViewCreator.java index 9d87f2b..ed5d182 100644 --- a/main/src/cgeo/geocaching/ui/AbstractCachingPageViewCreator.java +++ b/main/src/cgeo/geocaching/ui/AbstractCachingPageViewCreator.java @@ -5,6 +5,7 @@ import cgeo.geocaching.activity.AbstractViewPagerActivity.PageViewCreator; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import org.eclipse.jdt.annotation.NonNull; +import org.eclipse.jdt.annotation.Nullable; import android.os.Bundle; import android.view.View; @@ -42,7 +43,8 @@ public abstract class AbstractCachingPageViewCreator<ViewClass extends View> imp * @return empty bundle */ @Override - public Bundle getViewState() { + public @Nullable + Bundle getViewState() { return new Bundle(); } |
