This commit refactors the navigation implementation by renaming all `...Route` classes to `...NavKey`. This change provides more descriptive and consistent naming for navigation keys across the codebase.
Key changes include:
* Renamed `BookmarksRoute` to `BookmarksNavKey`
* Renamed `ForYouRoute` to `ForYouNavKey`
* Renamed `InterestsRoute` to `InterestsNavKey`
* Renamed `TopicRoute` to `TopicNavKey`
* Renamed `SearchRoute` to `SearchNavKey`
* Updated all associated feature modules, tests, and UI components to use the new `NavKey` names.
* Removed obsolete test utilities and mock providers related to the old navigation setup.
* Deleted outdated dependency graph images and their corresponding `README.md` files from feature modules.
Made NiaNavigator a stateless class only responsibly for navigating and pop (modifying backStack).
Navigation state now lives in a new class called NiaNavigatorState.
The state of this class is saved and restored by ViewModel.
* Add if state to prevent blank query.
* Create test emptySearchText_NotAddToRecentSearches
- For empty query not add in recent query list.
* Apply early return.
* assertEquals to assertNull.
Co-authored-by: Simon Marquis <contact@simon-marquis.fr>
* Import org.junit.Assert.assertNull
* Change org.junit.Assert.assertNull to kotlin.test.assertNull.
Change-Id: I60083b0b9a1dcaed84d957b49c91e5163d5659d6
* Add 'or' to prevent search when query is blank.
Change-Id: If498de05889d6d5946b1bbb1d1c10cb311bb9b52
* Create stateIsEmptyQuery_withThreeWhiteSpacesSearchQuery test.
Change-Id: I6d6e8f9fe988ca83fae484e4f2338ad6fe58b676
* Add UI logic to prevent blank text search in SearchScreen.
- Early return to do not call onSearchExplicitlyTriggered()
Change-Id: I28db284eac9059fb6f48dd718721a1fc5fdb8f7a
* Apply trim at query to remove whitespace.
Change-Id: Id349af4bb1af3d0f1c3973e6fb9e6f3e7b924d9b
* Create test stateIsEmptyQuery_withThreeWhiteSpacesAndOneLetterSearchQuery
Change-Id: Iee59f6085e4045b2e3c532f78804926290b6c6c5
* Update feature/search/src/test/kotlin/com/google/samples/apps/nowinandroid/feature/search/SearchViewModelTest.kt
Change name to emptySearchText_isNotAddedTorecentSearches()
Co-authored-by: Don Turner <dturner@users.noreply.github.com>
* Change name to searchTextWithThreeSpaces_isEmptyQuery()
Co-authored-by: Don Turner <dturner@users.noreply.github.com>
* Change name to searchTextWithThreeWhiteSpacesAndOneCharacter_isEmptyQuery()
Change-Id: I4c82b12e2c9bd4ff480e94061caf257a603e38da
* Revert "Change name to searchTextWithThreeWhiteSpacesAndOneCharacter_isEmptyQuery()"
This reverts commit e4c176598a.
* Change name to searchTextWithThreeSpacesAndOneLetter_isEmptyQuery
Co-authored-by: Don Turner <dturner@users.noreply.github.com>
* Add end curly bracket.
Change-Id: I7bd113e7b65d646f5321e34a7df2868f6e239cad
---------
Co-authored-by: Simon Marquis <contact@simon-marquis.fr>
Co-authored-by: Don Turner <dturner@users.noreply.github.com>
This is a followup cleanup of #1163 that was partially addressed by #1140.
- Remove unused `projects.core.testing` dependencies (or replace with direct dependencies).
- Introduce `androidx.compose.ui.test` bundle.
- Remove `NiaTestRunner` from the default config, forcing consumers to depend on it, even when not used.
- Reduce the visibility of multiple Hilt `Module`s and implementations of public interfaces
- Correctly configure the visibility of dependencies:
- `api` when it's part of it's public `api`
- `implementation` when it's part of it's internal `implementation`
- Remove unnecessary dependencies in build.gradle.kts files
- Remove unnecessary dependencies provided by plugins
- Remove unnecessary applied plugins (i.e. roborazzi)
- Sort dependencies in `build.gradle.kts`
- Delete unused entries in `libs.versions.toml`