Releases: ShaishavGandhi/navigator
Releases · ShaishavGandhi/navigator
0.5.0
0.4.1
New
- Reduced method count
- Support starting activities directly from Fragment.
- Added bunch of null annotations to better reflect compatibility with Kotlin.
- Reflect annotations that you have declared on fields to be copied over to the generated code.
0.4.0
Breaking
- Builder constructors are now private. You should instead fallback to using the static factory method provided with the generated code. For example:
MainActivityBuilder.builder(args)
.
New
- Added Kotlin extension for getting the builder class. If you have annotated fields in, let's say
MainActivity
, you can use the generated Kotlin extensionmainActivityBuilder(args).setOptionalParam(arg).start(context)
. - Add KDoc for generated extension.
0.3.2
0.3.1
- New
- Added static factory method for builders. Now you can do:
YourActivityBuilder.builder()
instead ofnew YourActivityBuilder()
. The constructor will be possibly made private when we go up a version so that we can enforce the static factory method.
- Added static factory method for builders. Now you can do:
0.3.0
-
Breaking
Navigator
has now been removed along with thebind
andprepare*
methods. It wasn't going to be scalable in a multi module setting where there was potential of clashes. You should instead usenew YourActivityBuilder().addWhatever().start()
to start your activity. If you're binding, you can use several different options. Consult the updated readme. See #68 for all details.- Changes with how you bind your variables when Activity/Fragment is created. Similar to the above point, it wasn't going to be scalable to have a single point of entry without using reflection. Consult the readme for updated methods. See #68
-
New
- Kotlin extensions for binding. Navigator now generates extensions on your binding targets so you can simply call
bind()
from your Kotlin Activity/Fragment. You can also use the generated extension in Java by callingYourActivityNavigator.bind(this)
whereYourActivityNavigator
is the generated extension. Consult readme for more. - Navigator now publicly makes available the keys that are used for binding. If you haven't given the key for an
@Extra
, Navigator now exposes the key as a public static field in case you want to do some custom binding with it. The fields are prefaced withEXTRA_*
See #65
- Kotlin extensions for binding. Navigator now generates extensions on your binding targets so you can simply call
0.2.1
0.2.0
-
Breaking:
- Package name change for generated code. See #57
-
New:
- Add documentation to generated code. See #41
- Add typed support for Parcelable, Serializable etc. See #51
- Add
@Optional
to mark a primitive as optional in generating builder. See #44 - Add ability to provide a custom key for your
@Extra
. See #46 - New API for
setAction(action)
while builder ActivityBuilder
-
Fixes
Support Kotlin Null Types
- Added support for Kotlin null types. There's no need to add
@Nullable
annotation.
@Extra var message: String?
makes the extra optional.
Initial Release
Merge pull request #28 from shaishavgandhi05/sg/v0.1.1 v0.1.1