All Versions
9
Latest Version
Avg Release Cycle
21 days
Latest Release
1829 days ago

Changelog History

  • v3.0.2

    August 03, 2015

    ✂ Removed

    • ✂ Removed compiler check for PreferenceBinder.bind and PreferenceBinder.unbind method calls pending testing and stability improvement to the feature
  • v3.0.1

    August 02, 2015

    🛠 Fixed

    • 🛠 Fixed NullPointerException when using this library in classes with abstract methods.
    • ⚡️ Updated bind/unbind statement checker to look in scopes inside methods.
  • v3.0.0

    July 25, 2015

    🔄 Changed

    • 🆕 New annotation @BindPref replaces both @InjectPreference and @OnPreferenceChanged. The listen flag now defaults to true
    • All instances of "inject", "injector", and "injection" have been replaced with "bind", "binding", and "binding".
    • 0️⃣ @PreferenceDefault annotated fields now apply globally (application-wide) rather than just for their containing class.

    ➕ Added

    • 👀 @BindPref annotation may now be used on certain widget types (fields), to automatically bind the preference value to a widget's method. See README.md for details.
    • Compiler now checks for PreferenceBinder.bind and PreferenceBinder.unbind (when necessary) method calls in classes with @BindPref annotations.
  • v2.2.1

    March 28, 2015

    🛠 Fixed

    • 👀 Set minSdk to 4, to prevent unnecessary permissions being added by default (see this reference for explanation)
  • v2.2.0

    March 01, 2015

    ➕ Added

    • Optional "listen" flag for @InjectPreference annotation as shorthand for also adding @OnPreferenceChange annotation to the same element
    • OnPreferenceChange annotations on methods can now contain multiple keys (if the method has zero parameters)

    🔄 Changed

    • ⚡️ Method calls now always occur after field updates for any given preference key (for both initialization and updates)
    • Annotated methods can now contain zero parameters, to disregard the preference value.
  • v2.1.1

    February 25, 2015

    ➕ Added

    • PreferenceInjector.bind(Fragment target) method. The Context can be inferred from the Fragment.
    • PreferenceInjector.bind(Service target) method. The Context can be inferred from the Service.
  • v2.1.0

    February 19, 2015

    ➕ Added

    • 0️⃣ @PreferenceDefault annotation, to specify injection values when none exists in the SharedPreferences file

    🛠 Fixed

    • String and Set<String> are now properly recognized as valid types
  • v2.0.0

    February 19, 2015

    🔄 Changed

    • ✂ Removed initialize flag from @OnPreferenceChange annotation, @InjectPreference can now be applied to methods instead
    • ✂ Removed autoUpdate flag from @InjectPreference annotation, @OnPreferenceChange can now be applied to fields instead
    • PreferenceInjector.unbind no longer needs to be called if no @OnPreferenceChange annotations exist
  • v1.0

    February 18, 2015

    ➕ Added

    • @InjectPreference and code generation for it
    • @OnPreferenceChange and code generation for it