Conductor

A small, yet full-featured framework that allows building View-based Android applications

APACHE-2.0 License

Stars
3.9K
Committers
39

Bot releases are hidden (Show)

Conductor - 4.0.0-preview-4 Latest Release

Published by EricKuck about 1 year ago

What's Changed

  • Fix issue with child controllers frozen at detach time not re-attaching

Full Changelog: https://github.com/bluelinelabs/Conductor/compare/4.0.0-preview-3...4.0.0-preview-4

Conductor - 4.0.0-preview-3

Published by PaulWoitaschek over 1 year ago

What's Changed

Full Changelog: https://github.com/bluelinelabs/Conductor/compare/4.0.0-preview-2...4.0.0-preview-3

Conductor - 3.1.7

Published by PaulWoitaschek over 1 year ago

What's Changed

Full Changelog: https://github.com/bluelinelabs/Conductor/compare/3.1.6...3.1.7

Conductor - 3.1.6

Published by PaulWoitaschek over 1 year ago

What's Changed

New Contributors

Full Changelog: https://github.com/bluelinelabs/Conductor/compare/3.1.5...3.1.6

Conductor - 3.1.5

Published by PaulWoitaschek over 1 year ago

What's Changed

Full Changelog: https://github.com/bluelinelabs/Conductor/compare/3.1.4...3.1.5

Conductor - 3.1.4

Published by PaulWoitaschek over 1 year ago

Conductor - 3.1.3

Published by PaulWoitaschek over 1 year ago

What's Changed

Full Changelog: https://github.com/bluelinelabs/Conductor/compare/3.1.2...3.1.3

Conductor - 3.1.2

Published by PaulWoitaschek over 1 year ago

Conductor - 3.1.1

Published by PaulWoitaschek over 1 year ago

What's Changed

Full Changelog: https://github.com/bluelinelabs/Conductor/compare/3.1.0...3.1.1

Conductor - 3.1.0

Published by PaulWoitaschek over 1 year ago

What's Changed

Full Changelog: https://github.com/bluelinelabs/Conductor/compare/3.0.1...3.1.0

Conductor - 3.1.8

Published by PaulWoitaschek over 1 year ago

Conductor - 3.0.1

Published by PaulWoitaschek over 1 year ago

What's Changed

Full Changelog: https://github.com/bluelinelabs/Conductor/compare/3.0.0...3.0.1

Conductor - 3.0.0

Published by PaulWoitaschek over 1 year ago

What's Changed

New Contributors

Full Changelog: https://github.com/bluelinelabs/Conductor/compare/2.1.5...3.0.0

Conductor - 4.0.0-preview-2

Published by EricKuck over 1 year ago

Conductor 4.0's second public preview

Updates from preview-1

  • Removed LifecycleController and merged lifecycle support into the main Controller class
  • Activity-hosted Routers now default to PopRootControllerMode.NEVER, which has always been the suggested setting.
  • Removed first-party support for AutoDispose
  • Added a back handling demo to the demo app

Predictive back opt-in updates

Changes needed to fully support predictive back gestures in your app:

  • Call setOnBackPressedDispatcherEnabled(true) on your Activity's Router.
  • Remove the override of onBackPressed() from the Activity. No replacement is needed.
  • Opt in to predictive back gestures in your manifest file as shown here.
  • Replace any override of handleBack(), which is now deprecated, with an OnBackPressedCallback. Example callback:
    onBackPressedDispatcher?.addCallback(lifecycleOwner, object : OnBackPressedCallback(enabled = true) {
      override fun handleOnBackPressed() {
        println("back handled")
      }
    })
Conductor - 4.0-preview-1

Published by EricKuck over 1 year ago

Conductor 4.0's first public preview

Conductor 4.0 is coming soon. It is already being used in production with many, many millions of users. It is, however, not guaranteed to be API stable. As such, it is being released as a preview rather than a standard release. Preview in this context is not a commentary on stability. It is considered to be up to the same quality standards as the current 3.x stable release.

Other than some Kotlin migrations and dependency updates, there are two primary changes in this release:

Support for predictive back gestures

This is an opt-in change. If no changes are made in your codebase, you shouldn't experience any functionality changes.

Changes needed to fully support predictive back gestures in your app:

  • Call both setPopRootControllerMode(PopRootControllerMode.NEVER) and setOnBackPressedDispatcherEnabled(true) on your Activity's Router.
  • Remove the override of onBackPressed() from the Activity. No replacement is needed.
  • Opt in to predictive back gestures in your manifest file as shown here
  • Replace any override of handleBack(), which is now deprecated, with an OnBackPressedCallback. Example callback:
    // "this" must be a LifecycleOwner
    onBackPressedDispatcher?.addCallback(this, object : OnBackPressedCallback(enabled = true) {
      override fun handleOnBackPressed() {
        println("back handled")
      }
    })

AndroidX backing

This is an opt-out change, and is enabled by default. Conductor has historically relied on platform Fragments to receive lifecycle events. This has resulted in a few shortcomings as functionality has been added to AndroidX Fragments, but is only available in newer API versions for the platform versions. Conductor will now automatically use AndroidX backing under two conditions: your Activity extends FragmentActivity and allowExperimentalAndroidXBacking = false is not passed into the Conductor.attachRouter method.

Conductor - 3.2.0

Published by EricKuck over 1 year ago

What's Changed

Full Changelog: https://github.com/bluelinelabs/Conductor/compare/3.1.9...3.2.0

Conductor - 3.1.9

Published by EricKuck almost 2 years ago

What's Changed

Full Changelog: https://github.com/bluelinelabs/Conductor/compare/3.1.8...3.1.9

Conductor - 2.1.5

Published by EricKuck about 6 years ago

  • Lots and lots of bug fixes
  • First official release with support for architecture components's lifecycle
  • Added SharedElementTransitionChangeHandler, which handles transitions much more robustly
  • Removed all synthetic accessors, lowering overall method count
Conductor -

Published by EricKuck over 7 years ago

  • Added onContextAvailable and onContextUnavailable callback to controllers (helpful for dependency injection)

  • Added modules for Autodispose and Architecture Components's Lifecycle

  • Fixes issue where calling setBackstack repeatedly could result in a situation where multiple ControllerChangeHandlers are executing at the same time and interfering with each others states (#263)

  • Fixes a case that caused the incorrect change handler to execute when setting the backstack (fixes #286)

  • Now ensures that parent controller is restored after process death (fixes #300)

  • Fixes issue when immediately creating two routers in the same Activity (fixes #299)

  • Fixes attach state management when a controller is pushed while the Activity is paused. (Fixes #303)

  • shouldShowRequestPermissionRationale now returns the correct result. Fixes #317

  • Args are now restored to a controller after process death even if there is only a no-arg constructor. Fixes #313

Conductor -

Published by EricKuck over 7 years ago

  • Fixes views never attaching if the host activity is stopped before inflation (#273)
  • Now properly handles pushing and popping controllers immediately back-to-back (#274)
  • Fixes horizontal change handlers in ViewPagers (#279)