<commit_before># Change Log
All notable changes to this project will be documented in this file.

## Unrealeased
### Added
- Optional "listen" flag for `@InjectPreference` annotation as shorthand for also adding `@OnPreferenceChange` annotation to the same element

## 2.1.1 - 2015-02-25
### Added
- `PreferenceInjector.inject(Fragment target)` method. The `Context` can be inferred from the `Fragment`.
- `PreferenceInjector.inject(Service target)` method. The `Context` can be inferred from the `Service`.

## 2.1.0 - 2015-02-19
### Added
- `@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

## 2.0.0 - 2015-02-19
### 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.stopListening` no longer needs to be called if no `@OnPreferenceChange` annotations exist

## 1.0 - 2015-02-18
### Added
- @InjectPreference and code generation for it
- @OnPreferenceChange and code generation for it<commit_msg>Updated changelog #18<commit_after># Change Log
All notable changes to this project will be documented in this file.

## Unrealeased
### Added
- Optional "listen" flag for `@InjectPreference` annotation as shorthand for also adding `@OnPreferenceChange` annotation to the same element

### 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.

## 2.1.1 - 2015-02-25
### Added
- `PreferenceInjector.inject(Fragment target)` method. The `Context` can be inferred from the `Fragment`.
- `PreferenceInjector.inject(Service target)` method. The `Context` can be inferred from the `Service`.

## 2.1.0 - 2015-02-19
### Added
- `@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

## 2.0.0 - 2015-02-19
### 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.stopListening` no longer needs to be called if no `@OnPreferenceChange` annotations exist

## 1.0 - 2015-02-18
### Added
- @InjectPreference and code generation for it
- @OnPreferenceChange and code generation for it
{'fraction_non_alphanumeric': 0.09754335260115607, 'fraction_numerical': 0.031791907514450865, 'mean_word_length': 4.980561555075594, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '560000', 'n_tokens_mistral': 844, 'n_tokens_neox': 768, 'n_words': 320}