Skip to content

Enhancements#7

Merged
AliElDerawi merged 8 commits intomasterfrom
enhancements
Sep 23, 2025
Merged

Enhancements#7
AliElDerawi merged 8 commits intomasterfrom
enhancements

Conversation

@AliElDerawi
Copy link
Copy Markdown
Owner

No description provided.

…e Storage bucket

The `google-services.json` file has been updated:
- The `storage_bucket` in `project_info` is changed from `udacityproject04-7fb9c.appspot.com` to `udacityproject04-7fb9c.firebasestorage.app`.
- A new OAuth client configuration has been added to the `client` array. This new client has the ID `621989879009-0vhbikiqse029vgfnbboae1aa8i6ogto.apps.googleusercontent.com` and is associated with the package name `com.udacity.project4` and a new certificate hash.
This commit updates how `MainViewModel` is injected across several fragments and `MainActivity`.
- In `MainActivity`, `MainViewModel` is now injected using `by viewModel()` instead of `by inject()`.
- In `SelectLocationFragment`, `SaveReminderFragment`, `AuthenticationFragment`, `ReminderDescriptionFragment`, and `ReminderListFragment`, `MainViewModel` (as `mSharedViewModel` or `mViewModel`) is now injected using `by activityViewModels()` instead of `by inject()`.
- In `MyApp.kt`, the Koin module definition for `MainViewModel` is changed from `singleOf(::MainViewModel)` to `viewModelOf(::MainViewModel)` to support ViewModel-scoped injection.

This change ensures that the `MainViewModel` instance is scoped to the `Activity` and shared correctly among its fragments, aligning with recommended Android practices for shared ViewModels.
…ests.

This commit updates the Koin dependency injection setup in `AppNavigationTest`, `SaveReminderFragmentTest`, and `ReminderListFragmentTest` to use `viewModelOf(::MainViewModel)` instead of `single { MainViewModel(get()) }`. This change aligns with modern Koin practices for ViewModel instantiation.
This commit updates the versions of several libraries:
- `archLifecycleVersion` from "2.2.0" to JUnit version '4.13.2', Espresso version '3.6.1', and JUnit Test version '1.2.1'.
- `coroutinesVersion` from "1.7.3" to "1.10.2".
- `dexMakerVersion` from "2.28.3" to "2.28.6".
- `coreVersion` from '1.15.0' to '1.16.0'.
- `appCompatVersion` from '1.7.0' to '1.7.1'.
- `constraintLayoutVersion` from '2.2.0' to '2.2.1'.
- `lifecycleViewmodelKtxVersion` from "2.8.7" to "2.9.4".
- `materialVersion` from '1.12.0' to '1.13.0'.
- `navigationVersion` from '2.8.4' to '2.9.4'.
- `safeArgsVersion` from '2.8.4' to '2.9.4'.
- `recyclerViewVersion` from '1.3.2' to '1.4.0'.
- `recyclerViewSelectionVersion` from '1.1.0' to '1.2.0'.
The versions for `junitVersion`, `espressoVersion`, and `junitTestVersion` were moved without a version change.
The versions for `fragmentTestingVersion`, `mockitoVersion`, `robolectricVersion`, and `archLifecycleVersion` were added.
This commit updates several key dependencies and configurations:
- Kotlin version is updated from `2.0.21` to `2.2.20`.
- Gradle version is updated from `8.10` to `8.14.3`.
- Android Gradle Plugin version is updated from `8.7.2` to `8.13.0`.
- Room version is updated from `2.6.1` to `2.8.0`.
- KSP version is updated from `2.0.21-1.0.25` to `2.2.20-2.0.2`.
- Java compatibility and Kotlin JVM target are set to version 17 in the `app/build.gradle` file.
This commit removes unused imports from `MainCoroutinesRules.kt` and `DefaultReminderRepositoryTest.kt`.
It also replaces `runBlockingTest` with `runTest` in `DefaultReminderRepositoryTest.kt` for improved coroutine testing.
This commit remove unused imports and reorders the import statements in `RemindersDaoTest.kt` for better organization and consistency. No functional changes were made.
@AliElDerawi AliElDerawi merged commit 0c8f2f8 into master Sep 23, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant