📝 A Simple Note-Taking App built to demonstrate the use of Modern Android development tools - (Kotlin, Coroutines, State Flow, Hilt-Dependency Injection, Jetpack DataStore, Architecture Components, MVVM, Room, Material Design Components).
Fixes #3480. Replace dependency on javax.annotation:jsr250-api:1.0 with javax.annotation:javax.annotation-api:1.3.2. (e9dc377d1)
Fixes #3483: Add onPluginEnd to BindingGraphPlugin, which will be called after all BindingGraphPlugins have been visited (34452751e)
Fixes #3476: Fix issue with Dagger generating mismatching parameter names in component inject functions. (90300d992)
Dagger 2.43
What’s New In Dagger
Bug Fixes
Fixes #3401 where Dagger generated mismatched parameter names in subcomponent factory method implementations when the original factory method is in a separate build unit from the component that implements it.
What’s New In Hilt
Potentially Breaking Changes
Hilt now throws if the base activity/fragment class’s getDefaultViewModelProviderFactory() returns null. This is unlikely to happen though unless overridden by the user to return null. (9eee8e47f)
As part ViewModel bug fixes, dependencies were updated as below. androidx.navigation users will need to update to 2.5.0 to interoperate. These libraries require building with SDK 31. To build with SDK 31, AGP users will need to use AGP 7.0+. This will also require using JDK11.
androidx.activity and androidx.fragment to 1.5.0
androidx.lifecycle to 2.5.0
androidx.savedstate to 1.2.0
Bug Fixes
Fix #3464 where SPI plugins were not being invoked with Hilt's Gradle Plugin aggregation (enableAggregatingTask) turned on. (b83887624)
Fixes #2328 and #3232 where getting multiple instances of @HiltViewModel with different keys would cause a crash.
Fixes #2152. hiltNavGraphViewModels is now no longer necessary to use @HiltViewModel with navigation backstack entries as the owner. The default ViewModelProvider.Factory from activities and fragments can be used directly with the backstack entry as the owner. (74ea7653a)
Make it so that map keys used with @BindValueIntoMap in Kotlin code do not need to use the @field notation. (e59183324)
Dagger 2.42
What’s new in Dagger
Potentially breaking changes
As of this release, Dagger’s generated class will no longer extend the user-defined @Component annotated class (885b16dcf). This change was done to improve build times in certain scenarios by avoiding a known javac bottleneck. However, it may also be a breaking change for some users. For example
// This will fail as of Dagger version 2.42
DaggerMyComponent component = DaggerMyComponent.create();
// Do this instead:
MyComponent component = DaggerMyComponent.create();
For migration purposes, we’ve added a temporary javac flag that can be used to re-enable the legacy behavior (the flag is disabled by default).
-Adagger.generatedClassExtendsComponent=ENABLED
This flag will be removed in a future version of Dagger.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps hilt-android from 2.39.1 to 2.43.1.
Release notes
Sourced from hilt-android's releases.
... (truncated)
Commits
bf9a46b
2.43.1 releasee9dc377
Replace dependency on javax.annotation:jsr250-api:1.0 with javax.annotation:j...b9413ba
Rollback of https://github.com/google/dagger/commit/2cce0be5e8d32ffd0cb0d7359...2cce0be
Migrate to the newJavaPoetExtKt#toAnnotationSpec(XAnnotation)
API in XProc...56335c1
Migratedagger.spi.model.Key.MultibindingContributionIdentifier
to use XPro...3445275
Add an onPluginEnd method to BindingGraphPlugin.c78df18
Add a KSP test for a basic component with@Inject
bindings.90300d9
Fix issue with Dagger generating mismatching parameter name for inject functi...9f656bc
Update Dagger yml and README with new latest version number.4a96bbe
Use new XProcessing APIs to get TypeVariableNames from XTypeElements.Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)