Flowless 1.0-RC2 (2017-01-08)

@Zhuinden Zhuinden released this Jan 8, 2017 · 5 commits to master since this release

Flowless Version 1.0-RC2 (2017-01-08)

  • Fix: Make ActivityUtils.getActivity() work if provided baseContext is not InternalContextWrapper
  • Enhancement: ˙samples to use setBaseContext(Activity) to properly support AppCompat* inflation


Flowless 1.0-RC1 (2017-01-04)

@Zhuinden Zhuinden released this Jan 4, 2017 · 9 commits to master since this release

Flowless Version 1.0-RC1 (2017-01-04)

  • Added: KeyManager.isKeyRegistered()
  • Enhancement: added flowless-mvp-sample example


Flowless 1.0-alpha1.25 (2017-01-01)

@Zhuinden Zhuinden released this Jan 1, 2017 · 13 commits to master since this release

Flowless Version 1.0-alpha1.25 (2017-01-01)

  • BREAKING CHANGE: BaseDispatcher (and therefore SingleRootDispatcher and ContainerRootDispatcher) no longer take Activity constructor parameter
  • Added: KeyManager.registerKey() and KeyManager.unregisterKey() to allow registration of arbitrary key. The state bound to registered keys also gets retained.


Flowless Version 1.0-alpha1.24

@Zhuinden Zhuinden released this Dec 26, 2016 · 14 commits to master since this release

Flowless Version 1.0-alpha1.24 (2016-12-26)

  • Fix: context.getSystemService() integration should throw IllegalStateException if Flow is not found after process death, instead of crashing with NPE
  • Change: InternalContextWrapper should be able to return global key even if Flow is not initialized


Flowless Version 1.0-alpha1.23

@Zhuinden Zhuinden released this Dec 20, 2016 · 16 commits to master since this release

Flowless Version 1.0-alpha1.23 (2016-12-20)

  • CRITICAL FIX: Regression of 1.19 - Internal changes that allowed ServiceProvider and Flow to exist during onCreate(). They exist in dispatch() and from onPostCreate().
  • Added ServiceProvider.get(Context) and KeyManager.get(Context) methods to use instead of flow.getServices() and flow.getStates()
  • Change: Flow, KeyManager, ServiceProvider and ActivityUtils has public SERVICE_TAG constant that is used for Context.getSystemService()
  • Added public KeyContextWrapper.KEY_SERVICE_TAG constant which is used for obtaining key from Context.getSystemService()
  • Change: final classes are now marked as /* final */ to be open for mocks (no point in subclassing them)


Flowless Version 1.0-alpha1.21

@Zhuinden Zhuinden released this Dec 18, 2016 · 19 commits to master since this release

Flowless Version 1.0-alpha1.21 (2016-12-18)

  • BREAKING CHANGE: ForceBundler.saveToBundle finally no longer takes Activity parameter
  • Added Installer.globalKey() to register global key, that can have state bound to it which never gets cleared
  • Enhancement: Global key is available from baseContext via Flow.getKey()
  • Change: KeyManager is exposed in Flow via Flow.getStates() to allow persisting global key state


Flowless Version 1.0-alpha1.17

@Zhuinden Zhuinden released this Dec 11, 2016 · 26 commits to master since this release

Flowless Version 1.0-alpha1.17 (2016-12-11)

  • BREAKING CHANGE: Flow.services(Context) and Flow.services(View) are now flow.getServices()
  • Fix: InternalContextWrapper should no longer throw NPE if InternalLifecycleIntegration is detached or not yet attached (returns null instead)
  • Enhancement: null checks for ServiceProvider


Flowless Version 1.0-alpha1.16

@Zhuinden Zhuinden released this Dec 7, 2016 · 32 commits to master since this release

Flowless Version 1.0-alpha1.16 (2016-12-07)

  • BREAKING CHANGE: FlowLifecycles.ViewStatePersistenceListener's preSaveViewState() is now detached into two interfaces with following methods: preSaveViewState() and onSaveInstanceState().
    • delegation of preSaveViewState() is manual, but onSaveInstanceState() is automatic. This enables Bundleable to work even without calling preSaveViewState().


Flowless Version 1.0-alpha1.15

@Zhuinden Zhuinden released this Dec 4, 2016 · 35 commits to master since this release

Flowless Version 1.0-alpha1.15 (2016-12-04)

  • BREAKING CHANGE: FlowLifecycleListener.onViewRestored() no longer receives forcedWithBundler boolean, it never really had a purpose.


Flowless 1.0-alpha1.14

@Zhuinden Zhuinden released this Dec 3, 2016 · 38 commits to master since this release

Flowless Version 1.0-alpha1.14 (2016-12-03)

  • Enhancement: added new sample flowless-sample-transitions


  • BREAKING CHANGE: SingleRootDispatcher is now abstract, the dispatch() method must be implemented by the user! Its previous implementation and supporting elements were moved to ExampleDispatcher in the samples. (This change is to support annotations for metadata, and transition animations: example here)
    • Moved following to samples: DispatcherUtils.addViewToGroupForKey(), DispatcherUtils.createAnimatorForViews(), DispatcherUtils.selectAnimatedKey() to remove forced AnimatorSet and FlowAnimation usage (to support transitions)
    • Moved following to samples: DispatcherUtils.createViewFromKey() to remove forced dependency on LayoutKey interface (to support using annotations)
    • Removed DispatcherUtils.removeFromViewGroup() and DispatcherUtils.finishTraversal() (because it cluttered the API even though it's just a null check / single-line method call)
    • Moved following to samples: LayoutKey (to support annotation-based layout specification)
    • Moved following to samples: FlowAnimation (to support transitions)
  • BREAKING(?) CHANGE: FlowLifecycleProvider is now a utility class (static methods) because it doesn't make much sense to redefine any of its behavior