From 3b516d9dd7135c125046ec74c6c8bc12ff7dc9e2 Mon Sep 17 00:00:00 2001 From: Gavriil Sitnikov Date: Wed, 25 May 2016 16:32:49 +0300 Subject: [PATCH] added helper method to stateless view controllers --- .../fragments/SimpleViewControllerFragment.java | 4 ++-- .../StatelessTargetedViewControllerFragment.java | 14 ++++++++++++++ .../fragments/StatelessViewControllerFragment.java | 14 ++++++++++++++ 3 files changed, 30 insertions(+), 2 deletions(-) diff --git a/src/main/java/ru/touchin/roboswag/components/navigation/fragments/SimpleViewControllerFragment.java b/src/main/java/ru/touchin/roboswag/components/navigation/fragments/SimpleViewControllerFragment.java index 90e7c55..3d02ad6 100644 --- a/src/main/java/ru/touchin/roboswag/components/navigation/fragments/SimpleViewControllerFragment.java +++ b/src/main/java/ru/touchin/roboswag/components/navigation/fragments/SimpleViewControllerFragment.java @@ -42,8 +42,8 @@ public class SimpleViewControllerFragment> extends TargetedViewControllerFragment { + /** + * Creates {@link Bundle} which will store state and {@link ViewController}'s class. + * + * @param viewControllerClass Class of {@link ViewController} which will be instantiated inside this fragment; + * @return Returns {@link Bundle} with state inside. + */ + @NonNull + public static Bundle createState(@NonNull final Class viewControllerClass) { + return createState(viewControllerClass, null); + } + @Nullable @Override public AbstractState getState() { diff --git a/src/main/java/ru/touchin/roboswag/components/navigation/fragments/StatelessViewControllerFragment.java b/src/main/java/ru/touchin/roboswag/components/navigation/fragments/StatelessViewControllerFragment.java index 314407c..79a563c 100644 --- a/src/main/java/ru/touchin/roboswag/components/navigation/fragments/StatelessViewControllerFragment.java +++ b/src/main/java/ru/touchin/roboswag/components/navigation/fragments/StatelessViewControllerFragment.java @@ -19,9 +19,12 @@ package ru.touchin.roboswag.components.navigation.fragments; +import android.os.Bundle; +import android.support.annotation.NonNull; import android.support.annotation.Nullable; import ru.touchin.roboswag.components.navigation.AbstractState; +import ru.touchin.roboswag.components.navigation.ViewController; import ru.touchin.roboswag.components.navigation.activities.ViewControllerActivity; import ru.touchin.roboswag.core.log.Lc; @@ -34,6 +37,17 @@ import ru.touchin.roboswag.core.log.Lc; public class StatelessViewControllerFragment> extends SimpleViewControllerFragment { + /** + * Creates {@link Bundle} which will store state and {@link ViewController}'s class. + * + * @param viewControllerClass Class of {@link ViewController} which will be instantiated inside this fragment; + * @return Returns {@link Bundle} with state inside. + */ + @NonNull + public static Bundle createState(@NonNull final Class viewControllerClass) { + return createState(viewControllerClass, null); + } + @Nullable @Override public AbstractState getState() {