fix: Disable and give warning for Epic 3rd party launcher games#1419
fix: Disable and give warning for Epic 3rd party launcher games#1419phobos665 wants to merge 3 commits into
Conversation
… able to support 3rd party launchers in Epic"
📝 WalkthroughWalkthroughPR adds UI support for warning about Epic games that require third-party managed clients. New ChangesEpic Third-Party App Warning Feature
Possibly related PRs
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@app/src/main/java/app/gamenative/ui/screen/library/appscreen/EpicAppScreen.kt`:
- Around line 275-279: The warning gating currently uses
game.thirdPartyManagedApp.isNotEmpty(), which treats whitespace-only values as
non-empty; update both use-sites (the disabledWarning assignment in
EpicAppScreen and the related gating at lines around where install is disabled)
to normalize the field first (e.g., call .trim()) or use .isNotBlank() on
game.thirdPartyManagedApp before deciding to disable install or compose the
warning so whitespace-only values are treated as blank and no low-quality
warning is shown; refer to the EpicAppScreen.kt disabledWarning variable and the
gating logic that checks game.thirdPartyManagedApp to make the change
consistently.
In `@app/src/main/res/values/strings.xml`:
- Line 57: The default string resource epic_disabled_warning_third_party_client
currently lacks the format placeholder used in localized variants; update the
value of epic_disabled_warning_third_party_client to include the same
placeholder (e.g. %1$s) in the sentence where the third-party client name or
token is inserted, ensuring the format contract matches across all locales and
avoiding resource-format mismatches.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: aa55e35c-44b4-40d6-bf90-6d2d72c0c742
📒 Files selected for processing (17)
app/src/main/java/app/gamenative/ui/data/GameDisplayInfo.ktapp/src/main/java/app/gamenative/ui/screen/library/LibraryAppScreen.ktapp/src/main/java/app/gamenative/ui/screen/library/appscreen/EpicAppScreen.ktapp/src/main/res/values-da/strings.xmlapp/src/main/res/values-de/strings.xmlapp/src/main/res/values-es/strings.xmlapp/src/main/res/values-fr/strings.xmlapp/src/main/res/values-it/strings.xmlapp/src/main/res/values-ko/strings.xmlapp/src/main/res/values-pl/strings.xmlapp/src/main/res/values-pt-rBR/strings.xmlapp/src/main/res/values-ro/strings.xmlapp/src/main/res/values-ru/strings.xmlapp/src/main/res/values-uk/strings.xmlapp/src/main/res/values-zh-rCN/strings.xmlapp/src/main/res/values-zh-rTW/strings.xmlapp/src/main/res/values/strings.xml
…y as we don't really care for it.
|
Any chance we could show this as a snackbar when the install button is pressed? I believe we had (and got removed during the UI overhaul) something like this when the user wasn't on wifi and tried to download |
Would this not be a UX anti-pattern though? The assumption would be that we should disable a button that ultimately they cannot choose, rather than essentially throwing up an error when they try to install. Would make them assume that something is wrong/errored rather than intentional |
|
Fair point, what if we hide the compatibility text then? So that this message will show in its place? |
That's a very fair point. Happy to do that! |
|
@phobos665 - let me know when ready? Also looks like we have some conflicts |
Description
This PR disables the Install button and gives a disabled warning for Epic games.
I've written this so that we can use the disabledWarning for a variety of reasons for the future.
Should help with user confusion.
Non-Third Party

Third Party Launcher Required:

Note: We should agree on whether or not we want to do this for something like AC Syndicate which does actually install the game, but requires Ubisoft Connect to launch.
For now, I've made this a blanket specifically on installing all epic games that require a 3rd party app.
Recording
Type of Change
Checklist
#code-changes, I have discussed this change there and it has been green-lighted. If I do not have access, I have still provided clear context in this PR. If I skip both, I accept that this change may face delays in review, may not be reviewed at all, or may be closed.CONTRIBUTING.md.Summary by cubic
Disable Install for Epic games that require a third‑party launcher and show a clear, localized warning. This prevents failed installs and reduces user confusion.
isValidToDownloadnow checksthirdPartyManagedApp).disabledWarningtoGameDisplayInfoto surface reasons in the UI.epic_disabled_warning_third_party_clientstring with translations (en, da, de, es, fr, it, ko, pl, pt-BR, ro, ru, uk, zh-CN, zh-TW).Written for commit f68cac6. Summary will update on new commits.
Summary by CodeRabbit