diff --git a/build.gradle b/build.gradle index fdf0e7e..af933a2 100644 --- a/build.gradle +++ b/build.gradle @@ -39,7 +39,7 @@ dependencies { provided('com.google.http-client:google-http-client-jackson2:1.21.0') { exclude(group: 'org.apache.httpcomponents', module: 'httpclient') } - provided 'com.squareup.okhttp:okhttp:2.7.0' + provided 'com.squareup.okhttp:okhttp:2.7.2' provided 'com.facebook.fresco:fbcore:0.8.1' } diff --git a/src/main/java/org/roboswag/components/navigation/AbstractBaseActivity.java b/src/main/java/org/roboswag/components/navigation/AbstractBaseActivity.java index 577c8f4..1eae86d 100644 --- a/src/main/java/org/roboswag/components/navigation/AbstractBaseActivity.java +++ b/src/main/java/org/roboswag/components/navigation/AbstractBaseActivity.java @@ -189,7 +189,7 @@ public abstract class AbstractBaseActivity extends AppCompatActivity fragmentManager.popBackStackImmediate(null, FragmentManager.POP_BACK_STACK_INCLUSIVE); } - return setFragment(fragmentClass); + return setFragment(fragmentClass, args); } @Nullable diff --git a/src/main/java/org/roboswag/components/navigation/ViewController.java b/src/main/java/org/roboswag/components/navigation/ViewController.java index 90c8387..1dde96f 100644 --- a/src/main/java/org/roboswag/components/navigation/ViewController.java +++ b/src/main/java/org/roboswag/components/navigation/ViewController.java @@ -42,6 +42,8 @@ public class ViewController creationContext, @Nullable final Bundle savedInstanceState) { this.logicBridge = creationContext.logicBridge; diff --git a/src/main/java/org/roboswag/components/navigation/ViewControllerFragment.java b/src/main/java/org/roboswag/components/navigation/ViewControllerFragment.java index ea2d1f7..c0e6d9a 100644 --- a/src/main/java/org/roboswag/components/navigation/ViewControllerFragment.java +++ b/src/main/java/org/roboswag/components/navigation/ViewControllerFragment.java @@ -64,6 +64,8 @@ public abstract class ViewControllerFragment>> getViewControllerClass(); + // need throwable for app stability + @SuppressWarnings("PMD.AvoidCatchingThrowable") @Override public void onCreate(@Nullable final Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -73,25 +75,25 @@ public abstract class ViewControllerFragment>observeService(getContext(), getLogicServiceClass()) .map(service -> service != null ? service.getLogicBridge() : null) .distinctUntilChanged(), - (activity, view, logicBridge) -> { - if (activity == null || view == null || logicBridge == null) { - return null; - } - - final ViewController.CreationContext> creationContext - = new ViewController.CreationContext<>(logicBridge, activity, this, view.first); - if (getViewControllerClass().getConstructors().length == 1) { - try { - return (ViewController) getViewControllerClass().getConstructors()[0].newInstance(creationContext, view.second); - } catch (Throwable throwable) { - Lc.assertion(throwable); - } - } else { - Lc.assertion("There should be single constructor for " + getViewControllerClass()); - } + (activity, view, logicBridge) -> { + if (activity == null || view == null || logicBridge == null) { return null; - }).subscribe(this::onViewControllerChanged); + } + + final ViewController.CreationContext> creationContext + = new ViewController.CreationContext<>(logicBridge, activity, this, view.first); + if (getViewControllerClass().getConstructors().length == 1) { + try { + return (ViewController) getViewControllerClass().getConstructors()[0].newInstance(creationContext, view.second); + } catch (Throwable throwable) { + Lc.assertion(throwable); + } + } else { + Lc.assertion("There should be single constructor for " + getViewControllerClass()); + } + return null; + }).subscribe(this::onViewControllerChanged); } else { Lc.assertion("Context is null in onCreate."); }