ModernAndroidPreferences

Android Preferences defined through Kotlin DSL, shown in a RecyclerView

APACHE-2.0 License

Stars
117

Bot releases are visible (Hide)

ModernAndroidPreferences - 2.4.0-beta2 Latest Release

Published by Maxr1998 7 months ago

New features

  • Support Int keys for singleChoice preferences. While this is API-compatible for the DSL API and (mostly) for the general API, advanced usage might face some breaking changes.

Behavior changes

  • Compile SDK was raised to 34

Other

  • Lots of dependency updates, see full changelog for details

Full Changelog: https://github.com/Maxr1998/ModernAndroidPreferences/compare/2.4.0-beta1...2.4.0-beta2

ModernAndroidPreferences - 2.4.0-beta1

Published by Maxr1998 about 1 year ago

New features

  • Allow to prevent dialog item selection through listener #139, by @rosenpin
  • Support custom badge colors and badges in dialog preferences #140, by @rosenpin

Fixes

  • Fixed a bug in PreferencesAdapter.loadSavedState() where the restore process would continue after a bogus state entry

Behavior changes

  • Previously deprecated Preference.getString(String) and DialogPreference.onStop() were finally removed – potentially breaking change
  • Deprecate DEFAULT_RES_ID constant which was exposed to the API surface accidentally

Other

  • Lots of dependency updates, see full changelog for details

New Contributors

Full Changelog: https://github.com/Maxr1998/ModernAndroidPreferences/compare/2.3.2...2.4.0-beta1

ModernAndroidPreferences - Release 2.3.2

Published by Maxr1998 almost 2 years ago

New features

  • Support setting default value for EditTextPreference

Other

  • Lots of dependency updates, see full changelog for details

Full Changelog

ModernAndroidPreferences - Release 2.3.1

Published by Maxr1998 over 2 years ago

This is a simple maintenance release with just dependency updates, notably Kotlin 1.7.0.

Full Changelog: https://github.com/Maxr1998/ModernAndroidPreferences/compare/2.3.0...2.3.1

ModernAndroidPreferences - Release 2.3.0

Published by Maxr1998 almost 3 years ago

New features

  • Support overriding accent-colored texts with mapAccentTextColor attribute in a theme - by default, it still uses colorAccent from AppCompat

Behavior changes

  • Hide various functions and variables from public API - potentially breaking!
    (shouldn't have been public in the first place and are unlikely to be used)

Other

  • Update Gradle Wrapper to 7.3.3 (#22, #24, #25)
  • Add dump of public API and automatic binary compatiblity validation
  • Run lint, detekt and API validation in CI via check task
  • Other CI tweaks, see full changelog below for more info

Full Changelog

ModernAndroidPreferences - Release 2.2.1

Published by Maxr1998 almost 3 years ago

Fixes

  • Fix specs of selection dialog items
ModernAndroidPreferences - Release 2.2.0

Published by Maxr1998 almost 3 years ago

New features

  • Allow overriding the default AlertDialog builder through a factory in Preference.Config

Fixes

  • Rework lifecycle observers to properly handle dialogs (should now restore properly on device rotation)

Other

  • Target Android 12
  • Build environment changes
  • Bump Kotlin to 1.5.31
  • Bump Android Gradle plugin to 7.0.3 and update other plugins
  • Dependency updates
ModernAndroidPreferences - Release 2.1.0

Published by Maxr1998 over 3 years ago

New features

  • Allow to disable summary generation for choice preferences 7780c3d249db24d0538cc5293a1df9ea759630cb

Fixes

  • Force viewStart text alignment for summary 4491211419ec5ce385fd49fc67ec4a2b3aa7ee4d, by @8bitPit
  • Set Kotlin module name to fix library conflict #10, by @kdrag0n

Other

  • Update Kotlin to 1.4.32
  • Build plugin and dependency updates
  • Introduce detekt for static code analysis and improve code quality
  • CI improvements
ModernAndroidPreferences - Release 2.0

Published by Maxr1998 over 3 years ago

IMPORTANT

The library is now available on Maven Central as de.maxr1998:modernandroidpreferences.
See the README for more information!

Other

  • Dependency updates and maintainance
  • Removed unnecessary stdlib dependency
ModernAndroidPreferences - Release 1.2.0-alpha1

Published by Maxr1998 almost 4 years ago

New features

  • Added EditTextPreference that allows free-form text input in a dialog

Behavior changes

  • DialogPreference now uses the AlertDialog from AppCompat
ModernAndroidPreferences - Release 1.1.0

Published by Maxr1998 almost 4 years ago

  • Promote 1.1.0-beta01 to stable, no other changes
ModernAndroidPreferences - Release 1.1.0-beta1

Published by Maxr1998 almost 4 years ago

New features

  • Make maximum line number for preference titles and summaries configurable through Preference.Config

Other

  • Dependency updates and maintainance
ModernAndroidPreferences - Release 1.1.0-alpha5

Published by Maxr1998 almost 4 years ago

Fixes

  • Fix crash caused by StateListAnimator.clone() missing on some (awful) devices with Android 5 from various OEMs
ModernAndroidPreferences - Release 1.1.0-alpha4

Published by Maxr1998 about 4 years ago

New features

  • Add adapter listener that is notified before screen changes (the existing one is notified after screen changes)
  • Add option to apply a stateListAnimator to preference views

Fixes

  • Fix crash in getSavedState for adapter without screens

Other

  • Make subScreen DSL return the created screen
  • Category headers and seek bars are now not clickable anymore
  • Add tests for adapter saved state and screen change listeners
ModernAndroidPreferences - Release 1.1.0-alpha3

Published by Maxr1998 about 4 years ago

New features

  • Reintroduced listener shorthands (onClick, onCheckedChange, onSelectionChange), marked old deprecated shorthands as error
  • Added dialog selection listeners with shorthands

Behavior changes

  • Now targetting Android 11
  • Updated Kotin to 1.4.10
ModernAndroidPreferences - Release 1.1.0-alpha2

Published by Maxr1998 about 4 years ago

New feature

  • DSL helpers for choice dialogs

Fix

  • SingleChoiceDialogPreference showed wrong summary value
ModernAndroidPreferences - Release 1.1.0-alpha1

Published by Maxr1998 about 4 years ago

New features

  • Dialog preferences for value selection (single/multi-choice)
  • Preference.getStringSet() helper

Behavior changes

  • Preference.getX() helpers don't catch the ClassCastException from SharedPreferences anymore
  • Preference.getString(): nullable return value instead of default value parameter
ModernAndroidPreferences - Release 1.0

Published by Maxr1998 about 4 years ago

Mostly the same as 1.0-RC2, with minimal refactoring and a + shorthand operator to add preference items to a screen

ModernAndroidPreferences - Release 1.0-RC2

Published by Maxr1998 about 4 years ago

Second stable release candidate

  • Updated to Kotlin 1.4
  • Deprecated SAM conversion helper functions in favor of native functional interface support (onSeek {} now is seekListener = OnSeekListener {})
ModernAndroidPreferences - Release 1.0-RC1

Published by Maxr1998 over 4 years ago

First stable release candidate! 🎉

Fixes

  • Fix potential memory and context leak if the library was used improperly (e.g. failure to unregister OnScreenChangeListeners)