Releases: Zhuinden/flowless
Releases · Zhuinden/flowless
Flowless 1.0-RC2 (2017-01-08)
Flowless Version 1.0-RC2 (2017-01-08)
- Fix: Make
ActivityUtils.getActivity()
work if providedbaseContext
is notInternalContextWrapper
- Enhancement: ˙samples to use
setBaseContext(Activity)
to properly supportAppCompat*
inflation
Flowless 1.0-RC1 (2017-01-04)
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)
Flowless Version 1.0-alpha1.25 (2017-01-01)
- BREAKING CHANGE:
BaseDispatcher
(and thereforeSingleRootDispatcher
andContainerRootDispatcher
) no longer take Activity constructor parameter - Added:
KeyManager.registerKey()
andKeyManager.unregisterKey()
to allow registration of arbitrary key. The state bound to registered keys also gets retained.
Flowless Version 1.0-alpha1.24
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
Flowless Version 1.0-alpha1.23 (2016-12-20)
- CRITICAL FIX: Regression of 1.19 - Internal changes that allowed
ServiceProvider
andFlow
to exist duringonCreate()
. They exist indispatch()
and fromonPostCreate()
. - Added
ServiceProvider.get(Context)
andKeyManager.get(Context)
methods to use instead offlow.getServices()
andflow.getStates()
- Change:
Flow
,KeyManager
,ServiceProvider
andActivityUtils
has publicSERVICE_TAG
constant that is used forContext.getSystemService()
- Added public
KeyContextWrapper.KEY_SERVICE_TAG
constant which is used for obtaining key fromContext.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
Flowless Version 1.0-alpha1.21 (2016-12-18)
- BREAKING CHANGE:
ForceBundler.saveToBundle
finally no longer takesActivity
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
viaFlow.getKey()
- Change:
KeyManager
is exposed in Flow viaFlow.getStates()
to allow persisting global key state
Flowless Version 1.0-alpha1.17
Flowless Version 1.0-alpha1.17 (2016-12-11)
- BREAKING CHANGE:
Flow.services(Context)
andFlow.services(View)
are nowflow.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
Flowless Version 1.0-alpha1.16 (2016-12-07)
- BREAKING CHANGE:
FlowLifecycles.ViewStatePersistenceListener
'spreSaveViewState()
is now detached into two interfaces with following methods:preSaveViewState()
andonSaveInstanceState()
.- delegation of
preSaveViewState()
is manual, butonSaveInstanceState()
is automatic. This enablesBundleable
to work even without callingpreSaveViewState()
.
- delegation of
Flowless Version 1.0-alpha1.15
Flowless Version 1.0-alpha1.15 (2016-12-04)
- BREAKING CHANGE:
FlowLifecycleListener.onViewRestored()
no longer receivesforcedWithBundler
boolean, it never really had a purpose.
Flowless 1.0-alpha1.14
Flowless Version 1.0-alpha1.14 (2016-12-03)
- Enhancement: added new sample
flowless-sample-transitions
- API QUAKE!
- BREAKING CHANGE:
SingleRootDispatcher
is now abstract, thedispatch()
method must be implemented by the user! Its previous implementation and supporting elements were moved toExampleDispatcher
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 forcedAnimatorSet
andFlowAnimation
usage (to support transitions) - Moved following to samples:
DispatcherUtils.createViewFromKey()
to remove forced dependency onLayoutKey
interface (to support using annotations) - Removed
DispatcherUtils.removeFromViewGroup()
andDispatcherUtils.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)
- Moved following to samples:
- BREAKING(?) CHANGE:
FlowLifecycleProvider
is now a utility class (static methods) because it doesn't make much sense to redefine any of its behavior