Mosby v3.1.1 Release Notes
Release Date: 2018-12-17 // over 6 years ago-
๐ Minor release for better support with jetifier and androidx
Solves:
BackstackAccessor.isFragmentOnBackStack(Fragment())
Crash:
java.lang.IllegalAccessError: Method 'boolean androidx.fragment.app.Fragment.isInBackStack()' is inaccessible to class 'androidx.core.app.BackstackAccessor'
Previous changes from v3.1.0
-
โ Added
MvpQueueingBasePresenter
: This Presenter has a methodonceViewAttached(ViewAction)
that internally queues allViewAction
if no view is attached to this presenter and executes all queued actions once a view is attached. If a view is attached, the ViewAction executes immediately. This class is useful in MVP powered apps with backstack navigation.
๐ Changes
MvpPresenter.detachView(boolean retainInstance)
is now split in two methods:detachView()
: Was the same asdetachView(retainInstance = true)
destroy()
: Was the same asdetachView(retainInstance = false)
Please note thatdestroy()
is called when the corresponding View is also destroyed permanently. For example, if FragmentA (View) has PresenterA. Once we push a new Fragment B (with Presenter B) on top of the stack,PresenterA.detachView()
is called because View of FragmentA is destroyed temporarily.
๐ Deprecations
- ๐
MvpPresenter.detachView(boolean retainInstance)
is deprecated now. UsedetachView()
anddestroy()
. - ๐
MvpBasePresenter.getView()
andMvpBasePresenter.isViewAttached()
are deprecated. UseMvpBasePresenter.ifViewAttached(ViewAction)
, see #233