Skip to content

ADFA-2827 Relocate plugin 3rd party disclaimer to strings.xml#938

Merged
hal-eisen-adfa merged 4 commits intostagefrom
ADFA-2827-Externalize-disclaimer-string
Feb 11, 2026
Merged

ADFA-2827 Relocate plugin 3rd party disclaimer to strings.xml#938
hal-eisen-adfa merged 4 commits intostagefrom
ADFA-2827-Externalize-disclaimer-string

Conversation

@hal-eisen-adfa
Copy link
Collaborator

Slightly simplified to avoid unicode and emoji problems

@hal-eisen-adfa hal-eisen-adfa marked this pull request as draft February 6, 2026 04:02
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 6, 2026

📝 Walkthrough

Release Notes

  • Externalized third-party plugin disclaimer: moved the hard-coded disclaimer into a localizable string resource plugin_documentation_third_party_disclaimer (resources/src/main/res/values/strings.xml).
  • HTML-encoded disclaimer value: the resource contains an HTML-escaped fragment (<br><br><em style="color: #888; font-size: 0.9em;">This documentation is provided by a third-party plugin.</em>) to render a muted, smaller disclaimer line.
  • Simplified runtime usage: PluginDocumentationManager now reads the disclaimer once at runtime via context.getString(R.string.plugin_documentation_third_party_disclaimer) and appends that value to tooltip summary and detail during insert and update operations, reducing duplicate creation and avoiding prior Unicode/emoji issues.
  • No public API changes: internal behavior only; no exported signatures were modified.

Risks & Considerations

  • Immutable stored text: the disclaimer is concatenated into summary/detail at write time. Updating the string resource will not update existing stored tooltips.
  • Data duplication: storing the disclaimer in each summary/detail duplicates content in the database and may hinder future changes where the disclaimer should be shown/hidden or updated centrally.
  • Presentation in strings: embedding inline HTML and styles in the string couples presentation with content; consider moving styling to display-time formatting for easier localization and design changes.
  • Localization/escaping: the resource uses HTML-escaped content; ensure translators and the build pipeline handle HTML-escaped strings correctly to avoid double-escaping or rendering regressions.

Walkthrough

Hard-coded HTML disclaimer removed from plugin documentation tooltips and replaced with a runtime resource lookup: context.getString(R.string.plugin_documentation_third_party_disclaimer). Tooltip insert and update flows now append the resource-provided disclaimer.

Changes

Cohort / File(s) Summary
Plugin manager logic
plugin-manager/src/main/kotlin/com/itsaky/androidide/plugins/manager/documentation/PluginDocumentationManager.kt
Removed hard-coded third-party disclaimer constant, added R import, and replaced usages with context.getString(R.string.plugin_documentation_third_party_disclaimer) for tooltip insertion and update paths.
Resources
resources/src/main/res/values/strings.xml
Added plugin_documentation_third_party_disclaimer string resource containing an HTML-encoded third-party disclaimer.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Suggested reviewers

  • dara-abijo-adfa
  • davidschachterADFA

Poem

🐰 I hopped through lines of code with cheer,
Placed a tiny note where tooltips appear.
From constant to XML I made the leap,
Now strings hold the whisper they softly keep.
🌿📜

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically describes the main change: relocating the plugin third-party disclaimer from hard-coded to strings.xml resource.
Description check ✅ Passed The description is related to the changeset, explaining the relocation to strings.xml and simplification to avoid Unicode/emoji problems.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch ADFA-2827-Externalize-disclaimer-string

No actionable comments were generated in the recent review. 🎉

Tip

Issue Planner is now in beta. Read the docs and try it out! Share your feedback on Discord.


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@hal-eisen-adfa hal-eisen-adfa changed the title ADFA-2827 Relocate plugin 3rd part disclaimer to strings.xml ADFA-2827 Relocate plugin 3rd party disclaimer to strings.xml Feb 7, 2026
@hal-eisen-adfa hal-eisen-adfa marked this pull request as ready for review February 7, 2026 17:54
@hal-eisen-adfa hal-eisen-adfa requested a review from a team February 7, 2026 17:55
@jatezzz jatezzz self-requested a review February 10, 2026 15:20
@hal-eisen-adfa hal-eisen-adfa merged commit 8abdb80 into stage Feb 11, 2026
2 checks passed
@hal-eisen-adfa hal-eisen-adfa deleted the ADFA-2827-Externalize-disclaimer-string branch February 11, 2026 21:32
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.

3 participants