51 Commits

Author SHA1 Message Date
EricKuck f69fab6062 Merge LifecycleOwner into Controller, add back handling demo 2023-03-24 11:50:37 -04:00
Eric Kuck 590debf975 Conductor 4.0-preview-1 (#686) 2023-03-22 11:26:52 -05:00
EricKuck b0d15d9f9e Update maven publishing 2023-01-27 10:26:15 -05:00
Eric Kuck cdbdee5c42 Don't pop the final controller in pager adapters. Fixes #681 (#682) 2023-01-26 09:57:39 -06:00
EricKuck 1f918f10c5 Fix ControllerLifecycleOwner crash when onContextAvailable was never called 2022-11-03 15:29:15 -04:00
Eric Kuck 966bc1645d Convert dependencies to version catalogs (#675)
Also bumps gradle, agp, and kotlin versions
2022-06-16 16:40:05 -05:00
EricKuck 8297e0273d RouterStateAdapter now properly restores routers after process death 2021-11-28 11:27:47 -06:00
EricKuck 26db962168 Revert maven-publish plugin migration 2021-07-19 17:41:17 -05:00
Paul Woitaschek 94c817bbd9 Remove support for rxLifecycle2. 2021-07-03 21:40:43 +02:00
Paul Woitaschek 76b7572a01 Migrate to the maven-publish plugin. (#651) 2021-07-03 21:31:24 +02:00
Paul Woitaschek 3fc63b7f5f Remove the deprecated kotlin-android-extensions plugin and use the kotlin-parcelize plugin replacement instead. 2021-07-03 14:37:40 +02:00
Paul Woitaschek 03701d05a9 Add basic support for compose (#644)
Includes required lifecycle and saved state owners
2021-07-02 10:23:00 -05:00
EricKuck 8a8622c261 Fixed issue with VP2 routers potentially restoring incorrectly 2021-02-05 13:04:37 -06:00
EricKuck e54e88bf0d Ensure VP2 adapter saves visible controller instance states
Fixes #634
2020-11-30 22:37:00 -06:00
EricKuck 010117603c Ensure all views are removed when VP2 pages are detached 2020-11-06 10:25:49 -06:00
Eric Kuck 6fdb1d6ed3 Adds ViewPager2 Adapter (#594) 2020-11-03 16:17:30 -06:00
Eric Kuck e0bbd48935 Remove platform transition module 2020-05-04 20:14:33 -05:00
Eric Kuck 76074d1e3d Update mvn publish plugin, version bump 2020-05-04 18:07:12 -05:00
Eric Kuck 623ed03df8 Revert transition module package name change 2020-05-04 17:56:53 -05:00
Eric Kuck 28b8810e56 Fixes tests 2020-05-04 17:55:11 -05:00
Paul Woitaschek c53b8d9d49 Migrated the StateSaveTests to kotlin and set an id on the frame layout. 2020-04-12 08:58:15 +02:00
Chris Horner bbb4e8c066 Add platform transition module (#591) 2020-04-04 21:40:02 -05:00
Eric Kuck 4c9f2e9f30 RestoreViewOnCreateController functionality merged into Controller 2020-03-30 11:19:04 -05:00
Eric Kuck f6b396f679 Removes RxLifecycle for RxJava 1 2020-03-30 11:10:54 -05:00
Paul Woitaschek 589cb91fff Introduce Kotlin (and Java 8) (#585)
* Introduce kotlin and converted the ControllerChangeType to kotlin.

* Migrated the ThreadUtils to kotlin.

* Migrated the TransactionIndexer to kotlin.

* Migrated the ChangeHandlerFrameLayout to kotlin.

* Migrated Conductor to kotlin.

* Added RestrictTo annotations.

* Migrated the RouterRequiringFunc to kotlin.

* Migrated the RouterTransaction to kotlin

* Make use of diamonds.

* Make use of lambdas and method references.

* Use an interface with default implementations for the LifecycleListener.

* Simplify the attachRouter function.

* Updated the code style and checkin the idea folder.

* Use a Controller extension function for the router transaction.

* Use let's instead of forced !! casts.

* Added default implementations of ControllerChangeListener

* Migrated the NoOpControllerChangeHandler to kotlin.

* Use a top level extension function for the asTransaction function.

* Add JvmField annotations to the ControllerChangeType fields.

* Use the local variables instead of calling the controller again.
2020-03-30 16:37:13 +02:00
Paul Woitaschek a20ee6477a Replaced unmock with robolectric. 2020-03-28 21:22:55 +01:00
Eric Kuck 41f14f6ae5 support package renamed to viewpager 2020-03-28 14:44:15 -05:00
Eric Kuck 5205033cc6 Renamed support->viewpager, removed old deprecated code 2020-03-28 14:07:19 -05:00
Steven Schoen bbd26995c5 Add androidx-transition module, update demos (#584) 2020-03-26 21:54:25 -05:00
Eric Kuck 45db55c678 Fixes RouterPagerAdapter state restoration when removing pages.
Fixes #582
2020-03-24 11:17:06 -05:00
Paul Woitaschek bb173b7cdc Migrate to AndroidX. Fixes #490 (#492)
* Gradle 4.10.2
* Android Build tools 3.2.1
* compileSdk 27, targetSdk 27, support libraries 28.0.0
* Migrated to androidX
2018-10-22 20:10:50 +02:00
Shaishav Gandhi 6b5495a13b Update AutoDispose to 1.0.0-RC2 (#469)
* Upgrade AutoDispose to 1.0.0-RC2

Signed-off-by: shaishavgandhi05 <shaishgandhi@gmail.com>

* Remove fully qualified reference

Signed-off-by: shaishavgandhi05 <shaishgandhi@gmail.com>
2018-08-22 09:26:50 -05:00
Eric Kuck 241f052a7b Version bump 2018-08-01 16:19:16 -05:00
Eric Kuck 4a5442e821 Adds more Autodispose options (fixes #452) 2018-07-29 21:33:15 -05:00
Eric Kuck 131589670f Now removes savedPageHistory for pages that are reinstated (and therefore no longer saved) 2018-06-20 15:36:34 -05:00
inorichi 3d64903e54 Fix demo not compiling after dependency updates (#437)
LGTM 👍
2018-06-12 10:08:56 +02:00
Paul Woitaschek 5ce857bb24 Dependency update & Migrate Lint to UAST (#433)
* Use Android Sdk 27

* Updated the unmock plugin and use the default configuration.

* Removed the explicit buildTools and use the one bundled with the plugin.

* Updated the support library, butterknife, leakCanary, rxjava 1 & 2,
rxlifecycle 1 & 2, junit and robolectric.

* Migrated the lint checks to UAST.

* Rename the UClass "declaration" to "field" to be consistent to the
other check and the default name.

* Moved the evaluator of the ControllerIssueDetector to the handler too.
2018-05-29 11:31:32 -05:00
Eric Kuck f6512d3e1c Fixed build 2018-05-29 11:14:28 -05:00
Eric Kuck 52f095d945 Codestyle updates 2018-05-25 14:45:58 -05:00
Stephan Schuster 91da937d4f Improved lifecycle integration of Conductor and Architecture Components (#383)
Previous mapping was:
- () -> ON_CREATE -> CREATED
- preCreateView -> ON_START -> STARTED
- preAttach -> ON_RESUME -> RESUMED
- preDetach -> ON_PAUSE -> STARTED
- preDestroyView -> ON_STOP -> CREATED
- preDestroy -> ON_DESTROY -> DESTROYED

New mapping is:
- () -> INITIALIZED
- postContextAvailable -> ON_CREATE -> CREATED
- postCreateView -> ON_START -> STARTED
- postAttach -> ON_RESUME -> RESUMED
- preDetach -> ON_PAUSE -> STARTED
- preDestroyView -> ON_STOP -> CREATED
- preContextUnavailable -> // do nothing
- preDestroy -> ON_DESTROY -> DESTROYED

Change-Id: I9f65480018dc1204dc89a8065fa7c7f554ad7dd2
2018-05-25 14:41:06 -05:00
Eric Kuck 9e3095957c Autodispose dependency update, fixed build 2018-05-25 14:38:23 -05:00
Eric Kuck fac44b74e9 build.gradle updates 2018-05-25 13:26:48 -05:00
Paul Woitaschek df70e983be Removed synthetic accessors (#347)
* Removed synthetic accessors.

* Upon copying child routers, init the list with the new size and use
addAll.

* Initialize some lists with an appropriate initial capacity.

* Don't wrap methods.
2017-10-09 14:55:35 -05:00
inorichi 0987b311d9 Only show options menu of the active item in a ViewPager (#335) 2017-07-28 10:54:12 -05:00
Gustavo Pagani 422ca7a544 Expose parent constructor with Bundle as parameter (#328)
* Expose constructor with Bundle as parameter
* Add Nullable annotation to Bundle parameter
2017-07-21 11:58:20 -05:00
Eric Kuck 55e8aebb87 Version bump 2017-07-05 13:02:07 -05:00
Hannes Struß 8e945cde52 Fixes ControllerScopeProvider.from return type (#319) 2017-06-25 14:23:28 -05:00
Eric Kuck 0efc2b3daf Fixed rx lifecycle handling for subscriptions in the onContextAvailable callback 2017-06-15 10:27:05 -05:00
Eric Kuck 4b4c3a82b8 Added context available/unavailable to lifecycle listeners. Now supported by all rx lifecycle modules as well. 2017-06-12 12:14:18 -05:00
Eric Kuck 0adea89d34 Arch components lifecycle module now labeled as an alpha 2017-06-02 15:55:22 -05:00