[Bug]: Interests top-level nav label sources string from feature/search instead of feature/interests
Nobody has claimed this yet.
Assessment
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Newbie friendliness
- 90/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Quiet
- Tech stack
- android, kotlin
- Domain
- mobile-dev
Research direction
Start in app/src/main/kotlin/com/google/samples/apps/nowinandroid/navigation/TopLevelNavItem.kt and compare the INTERESTS entry with feature/interests/api/src/main/res/values/strings.xml. Use the interests module's dedicated title resource for the top-level navigation labels, and confirm the search module's feature_search_api_interests resource remains specific to SearchScreen.kt.
Written by the indexing model from the issue text.
Description
Is there an existing issue for this?
- I have searched the existing issues
Is there a StackOverflow question about this issue?
- I have searched StackOverflow
What happened?
The INTERESTS entry in TopLevelNavItem.kt sources its iconTextId and titleTextId from the search module's string resource rather than from the interests module:
val INTERESTS = TopLevelNavItem(
selectedIcon = NiaIcons.Grid3x3,
unselectedIcon = NiaIcons.Grid3x3,
iconTextId = searchR.string.feature_search_api_interests,
titleTextId = searchR.string.feature_search_api_interests,
)
feature_search_api_interests is the inline "Interests" link label used by the search screen's empty-result body at SearchScreen.kt:248 (the "Try another search or Interests to browse topics" text). Reusing it as the bottom-nav tab title creates a silent cross-feature coupling: a contributor changing the in-search "Interests" link text would unintentionally change the bottom-nav tab label too.
Meanwhile, the interests module already has its own dedicated title resource that is completely unused anywhere in the codebase:
<string name="feature_interests_api_title">Interests</string>
The resource was added on 2025-11-19 in commit 068d8cc ("Split feature modules into api and impl modules") but never wired up.
This also breaks the per-module-ownership pattern used by the other top-level nav items in the same file:
FOR_YOU→forYouR.string.feature_foryou_api_titleBOOKMARKS→bookmarksR.string.feature_bookmarks_api_titleINTERESTS→ ❌searchR.string.feature_search_api_interests
Relevant logcat output
Code of Conduct
- I agree to follow this project's Code of Conduct
- Dominant language
- Kotlin
- Stars
- 21.8k
- Forks
- 4.6k
- Avg merge
- 19h 20m
- Merged PRs (30d)
- 2
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from android/nowinandroid
-
bug
Difficulty 1/5 Under an hour Newbie friendliness 84/100
android/nowinandroid#2127 ·
-
documentation
Difficulty 1/5 Under an hour Newbie friendliness 92/100
android/nowinandroid#2121 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
android/nowinandroid#2115 ·
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
android/nowinandroid#2110 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
android/nowinandroid#1984 ·
All issues in android/nowinandroid
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
bitcoindevkit/bdk-ffi#1125 ·
-
Issue: Bug
Difficulty 1/5 Under an hour Newbie friendliness 91/100
OpenAPITools/openapi-generator#24978 ·
-
helsemelding-json-schema json-schema-core
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
contributor: external needs review
Difficulty 2/5 1-3 hours Newbie friendliness 82/100