Refresh about page credits and default server settings#10
Refresh about page credits and default server settings#10
Conversation
WalkthroughRebrands references from Snapdrop/PairDrop to ErikrafT Drop across README, Java, JS, and string resources; updates funding and social links to Ko‑fi and X; changes default baseURL to https://drop.erikraft.com/; adjusts MainActivity checks to startsWith-based logic for baseURL and pair-drop detection. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor User
participant App as App Process
participant Main as MainActivity
participant Res as Resources
User->>App: Launch app
App->>Main: onCreate()
Main->>Res: Load baseURL (strings_not_translatable)
Res-->>Main: baseURL (e.g., https://drop.erikraft.com/)
alt Onboarding trigger check
Note over Main: If baseURL startsWith("https://snapdrop.net")
Main->>Main: Show server selection onboarding
else
Main->>Main: Continue normal startup
end
rect rgba(230,245,255,0.5)
Note over Main: Pair-drop detection
Main->>Main: isPairDrop()\n- true if baseURL startsWith(pairdrop_onboarding)\n- or startsWith("https://drop.erikraft.com/")\n- null-safe
end
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ 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: 3
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (4)
app/src/main/res/values-zh-rCN/strings.xml (1)
3-3: Inconsistent branding in app title strings.Lines 3 and 35 still reference "Snapdrop & PairDrop" in
app_name_longandtitle_activity_about, while other strings in this file have been updated to "ErikrafT Drop". This inconsistency may confuse users who see different branding across the app.Apply this diff to complete the rebranding:
- <string name="app_name_long">Snapdrop & PairDrop 安卓版</string> + <string name="app_name_long">ErikrafT Drop 安卓版</string>- <string name="title_activity_about">关于 Snapdrop & PairDrop 安卓版</string> + <string name="title_activity_about">关于 ErikrafT Drop 安卓版</string>Also applies to: 35-35
app/src/main/res/values-ru-rRU/strings.xml (1)
3-3: Inconsistent branding in app title strings.Lines 3 and 37 still reference "Snapdrop & PairDrop" in
app_name_longandtitle_activity_about, while other strings in this file have been updated to "ErikrafT Drop". This creates inconsistent branding across the app.Apply this diff to complete the rebranding:
- <string name="app_name_long">Snapdrop & PairDrop для Android</string> + <string name="app_name_long">ErikrafT Drop для Android</string>- <string name="title_activity_about">О Snapdrop & PairDrop для Android</string> + <string name="title_activity_about">О ErikrafT Drop для Android</string>Also applies to: 37-37
app/src/main/res/values-ar-rSA/strings.xml (1)
3-3: Inconsistent branding in app title strings.Lines 3 and 38 still reference the old branding (Snapdrop/PairDrop) in
app_name_longandtitle_activity_about, while other strings in this file have been updated to "ErikrafT Drop". This creates inconsistent branding across the app.Consider updating these strings to reflect the ErikrafT Drop branding consistently.
Also applies to: 38-38
app/src/main/res/values-nl-rNL/strings.xml (1)
3-3: Inconsistent branding in app title strings.Lines 3 and 35 still reference "Snapdrop & PairDrop" in
app_name_longandtitle_activity_about, while other strings in this file have been updated to "ErikrafT Drop". This creates inconsistent branding across the app.Apply this diff to complete the rebranding:
- <string name="app_name_long">Snapdrop & PairDrop voor Android</string> + <string name="app_name_long">ErikrafT Drop voor Android</string>- <string name="title_activity_about">Over Snapdrop & PairDrop voor Android</string> + <string name="title_activity_about">Over ErikrafT Drop voor Android</string>Also applies to: 35-35
🧹 Nitpick comments (2)
app/src/main/java/com/erikraft/drop/MainActivity.java (2)
309-312: Consider using URL parsing for more precise domain matching.Similar to the previous comment, using
startsWith()for URL matching could match unintended domains. For production-grade URL validation, consider parsing the URL and checking the host component:private boolean isPairDrop() { - return baseURL != null && (baseURL.startsWith(getString(R.string.onboarding_server_pairdrop)) - || baseURL.startsWith("https://drop.erikraft.com")); + if (baseURL == null) return false; + try { + String host = Uri.parse(baseURL).getHost(); + String pairDropHost = Uri.parse(getString(R.string.onboarding_server_pairdrop)).getHost(); + return host != null && (host.equals(pairDropHost) || host.equals("drop.erikraft.com")); + } catch (Exception e) { + return false; + } }However, if the intent is to broadly match any URL starting with these prefixes (including subpaths), the current implementation may be acceptable.
195-197: Use host comparison instead of startsWith()
The checkbaseURL.startsWith("https://snapdrop.net")can match unintended domains (e.g.snapdrop.net.evil.com). ParsebaseURL(e.g.Uri.parse(baseURL).getHost()) and compare it to"snapdrop.net".
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (35)
README.md(1 hunks)app/src/main/assets/init.js(2 hunks)app/src/main/java/com/erikraft/drop/MainActivity.java(2 hunks)app/src/main/java/com/erikraft/drop/SettingsFragment.java(3 hunks)app/src/main/res/values-ar-rSA/strings.xml(2 hunks)app/src/main/res/values-bg-rBG/strings.xml(1 hunks)app/src/main/res/values-ca-rES/strings.xml(2 hunks)app/src/main/res/values-cs-rCZ/strings.xml(2 hunks)app/src/main/res/values-de-rDE/strings.xml(2 hunks)app/src/main/res/values-el-rGR/strings.xml(2 hunks)app/src/main/res/values-es-rES/strings.xml(2 hunks)app/src/main/res/values-fr-rFR/strings.xml(2 hunks)app/src/main/res/values-hi-rIN/strings.xml(1 hunks)app/src/main/res/values-hu-rHU/strings.xml(1 hunks)app/src/main/res/values-in-rID/strings.xml(2 hunks)app/src/main/res/values-it-rIT/strings.xml(2 hunks)app/src/main/res/values-iw-rIL/strings.xml(1 hunks)app/src/main/res/values-ja-rJP/strings.xml(2 hunks)app/src/main/res/values-ko-rKR/strings.xml(2 hunks)app/src/main/res/values-ne-rNP/strings.xml(1 hunks)app/src/main/res/values-nl-rNL/strings.xml(2 hunks)app/src/main/res/values-pl-rPL/strings.xml(2 hunks)app/src/main/res/values-pt-rBR/strings.xml(4 hunks)app/src/main/res/values-pt-rPT/strings.xml(1 hunks)app/src/main/res/values-ro-rRO/strings.xml(2 hunks)app/src/main/res/values-ru-rRU/strings.xml(2 hunks)app/src/main/res/values-sk-rSK/strings.xml(2 hunks)app/src/main/res/values-sl-rSI/strings.xml(2 hunks)app/src/main/res/values-tr-rTR/strings.xml(2 hunks)app/src/main/res/values-uk-rUA/strings.xml(2 hunks)app/src/main/res/values-vi-rVN/strings.xml(1 hunks)app/src/main/res/values-zh-rCN/strings.xml(2 hunks)app/src/main/res/values-zh-rTW/strings.xml(2 hunks)app/src/main/res/values/strings.xml(2 hunks)app/src/main/res/values/strings_not_translatable.xml(1 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
app/src/main/java/com/erikraft/drop/SettingsFragment.java (1)
app/src/main/java/com/erikraft/drop/utils/ShareUtils.java (1)
ShareUtils(14-41)
🔇 Additional comments (17)
app/src/main/res/values-ro-rRO/strings.xml (1)
12-12: Branding updates look goodRomanian strings now consistently reference ErikrafT Drop; phrasing stays natural and aligned with prior translation tone.
Also applies to: 45-46
app/src/main/res/values-ca-rES/strings.xml (1)
14-14: Localized branding update LGTMThe Catalan copy now consistently references ErikrafT Drop and remains grammatically sound. Nice catch keeping the action label and summary aligned.
Also applies to: 52-55
app/src/main/res/values-uk-rUA/strings.xml (1)
14-14: Branding copy reads well.Ukrainian phrasing stays natural while aligning with the ErikrafT Drop brand. Good update.
Also applies to: 55-55, 58-58
app/src/main/res/values-ko-rKR/strings.xml (2)
14-14: Brand refresh localized correctly.The onboarding copy now references ErikrafT Drop without regressing the Korean phrasing. 👍
50-53: Text-selection strings match the new branding.Both the summary and label read naturally in Korean while reflecting the ErikrafT Drop name. Looks good.
README.md (1)
40-40: LGTM!The support link correctly points to the ErikrafT Ko-fi page as intended.
app/src/main/res/values/strings_not_translatable.xml (1)
4-4: LGTM!The default baseURL correctly updated to
https://drop.erikraft.com/as per the rebranding objectives.app/src/main/res/values-zh-rCN/strings.xml (1)
14-14: LGTM!The Chinese translations correctly reference ErikrafT Drop in the onboarding description and floating text selection strings.
Also applies to: 50-50, 53-53
app/src/main/assets/init.js (2)
31-31: LGTM!The social link correctly updated to point to the ErikrafT X (Twitter) account.
60-60: LGTM!The donation link correctly points to the ErikrafT Ko-fi page, consistent with other changes in this PR.
app/src/main/res/values-ru-rRU/strings.xml (1)
14-14: LGTM!The Russian translations correctly reference ErikrafT Drop in the onboarding description and floating text selection strings.
Also applies to: 52-52, 55-55
app/src/main/res/values-ar-rSA/strings.xml (1)
14-14: LGTM!The Arabic translations correctly reference ErikrafT Drop in the onboarding description and floating text selection strings.
Also applies to: 55-55, 58-58
app/src/main/res/values-it-rIT/strings.xml (1)
12-12: LGTM!The Italian translations correctly reference ErikrafT Drop across all updated strings.
Also applies to: 43-44
app/src/main/res/values-nl-rNL/strings.xml (1)
14-14: LGTM!The Dutch translations correctly reference ErikrafT Drop in the onboarding description and floating text selection strings.
Also applies to: 50-50, 53-53
app/src/main/res/values-pl-rPL/strings.xml (1)
14-14: LGTM! Polish localization updated correctly.The Polish strings have been properly updated to reflect the ErikrafT Drop branding across onboarding descriptions and text selection features, consistent with the PR's rebranding objectives.
Also applies to: 52-52, 55-55
app/src/main/res/values/strings.xml (1)
15-15: LGTM! English strings updated correctly.The English localization strings have been properly updated to reflect the ErikrafT Drop branding, maintaining consistency with other locale files in the PR.
Also applies to: 60-60, 63-63
app/src/main/java/com/erikraft/drop/SettingsFragment.java (1)
93-93: LGTM! Support links and credits updated correctly.All support URLs, credits, and social links have been properly updated to reflect the ErikrafT Drop branding and Ko-fi funding page. The Unicode characters in the social button label ("𝕏|Twitter") are well-supported in modern Android versions.
Also applies to: 102-110, 112-112, 140-140, 146-146, 148-148
| <string name="onboarding_choose_server">Επιλέξτε διεύθυνση διακομιστή</string> | ||
| <string name="onboarding_choose_server_short">επιλέξτε διακομιστή</string> | ||
| <string name="onboarding_choose_server_description">Αυτή η εφαρμογή είναι ένας βελτιστοποιημένος client για τις web εφαρμογές Snapdrop και PairDrop.\nΕπιλέξτε μία από τις ακόλουθες επιλογές ή καθορίστε μια προσαρμοσμένη διεύθυνση URL για να συνδεθίιτε.\n\nΣημείωση: Πρέπει να επιλέξετε το ίδιο URL σε όλες τις συσκευές.</string> | ||
| <string name="onboarding_choose_server_description">Αυτή η εφαρμογή είναι ένας βελτιστοποιημένος client για τις web εφαρμογές ErikrafT Drop και PairDrop.\nΕπιλέξτε μία από τις ακόλουθες επιλογές ή καθορίστε μια προσαρμοσμένη διεύθυνση URL για να συνδεθίιτε.\n\nΣημείωση: Πρέπει να επιλέξετε το ίδιο URL σε όλες τις συσκευές.</string> |
There was a problem hiding this comment.
Fix typo in localized onboarding text.
The updated sentence now reads “συνδεθίιτε” with a double ι, which is a typo and should be “συνδεθείτε”.
-Επιλέξτε μία από τις ακόλουθες επιλογές ή καθορίστε μια προσαρμοσμένη διεύθυνση URL για να συνδεθίιτε.
+Επιλέξτε μία από τις ακόλουθες επιλογές ή καθορίστε μια προσαρμοσμένη διεύθυνση URL για να συνδεθείτε.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| <string name="onboarding_choose_server_description">Αυτή η εφαρμογή είναι ένας βελτιστοποιημένος client για τις web εφαρμογές ErikrafT Drop και PairDrop.\nΕπιλέξτε μία από τις ακόλουθες επιλογές ή καθορίστε μια προσαρμοσμένη διεύθυνση URL για να συνδεθίιτε.\n\nΣημείωση: Πρέπει να επιλέξετε το ίδιο URL σε όλες τις συσκευές.</string> | |
| <string name="onboarding_choose_server_description">Αυτή η εφαρμογή είναι ένας βελτιστοποιημένος client για τις web εφαρμογές ErikrafT Drop και PairDrop.\nΕπιλέξτε μία από τις ακόλουθες επιλογές ή καθορίστε μια προσαρμοσμένη διεύθυνση URL για να συνδεθείτε.\n\nΣημείωση: Πρέπει να επιλέξετε το ίδιο URL σε όλες οι συσκευές.</string> |
🤖 Prompt for AI Agents
In app/src/main/res/values-el-rGR/strings.xml around line 14, the localized
onboarding string contains a typo: "συνδεθίιτε" (double 'ι'); replace it with
the correct word "συνδεθείτε" so the sentence reads correctly, ensuring the rest
of the string (newlines and punctuation) remains unchanged.
| <?xml version="1.0" encoding="utf-8"?> | ||
| <resources> | ||
| <string name="app_name_long">Sobre Snapdrop & PairDrop para Android</string> | ||
| <string name="app_name_long">Sobre ErikrafT Drop & PairDrop para Android</string> |
There was a problem hiding this comment.
Fix app_name_long wording.
app_name_long should be the product name (ErikrafT Drop & PairDrop para Android). Prefixing it with “Sobre” turns the label into “About …”, so UI surfaces using this string (e.g., headers) will now display the wrong text. Please drop the “Sobre” prefix.
🤖 Prompt for AI Agents
In app/src/main/res/values-pt-rBR/strings.xml around line 3, the string value
for app_name_long incorrectly includes the prefix "Sobre" making labels read
"About …"; remove the "Sobre" prefix so the value is just "ErikrafT Drop &
PairDrop para Android" to reflect the product name exactly.
| <string name="floating_text_selection_summary">Pri izbiri besedila v drugih aplikacijah se bo prikazala možnost \"Pošlji s ErikrafT Drop-om\"</string> | ||
| <string name="show_connectivity_card_title">Opozorilo o povezljivosti</string> | ||
| <string name="show_connectivity_card_summary"> Opozori me, če nisem povezan z WiFi omrežjem</string> | ||
| <string name="floating_text_selection_activity_label">Pošlji s Snapdrop-om</string> | ||
| <string name="floating_text_selection_activity_label">Pošlji s ErikrafT Drop-om</string> | ||
| <string name="permission_not_granted">prosimo omogočite potrebna dovoljenja</string> |
There was a problem hiding this comment.
Fix Slovene preposition for vowel-starting brand name.
In Slovene we use “z” (not “s”) before words that begin with a vowel, so the new phrasing should be “Pošlji z ErikrafT Drop-om”. Please update both strings to keep the locale grammatically correct.
- <string name="floating_text_selection_summary">Pri izbiri besedila v drugih aplikacijah se bo prikazala možnost "Pošlji s ErikrafT Drop-om"</string>
+ <string name="floating_text_selection_summary">Pri izbiri besedila v drugih aplikacijah se bo prikazala možnost "Pošlji z ErikrafT Drop-om"</string>
@@
- <string name="floating_text_selection_activity_label">Pošlji s ErikrafT Drop-om</string>
+ <string name="floating_text_selection_activity_label">Pošlji z ErikrafT Drop-om</string>Committable suggestion skipped: line range outside the PR's diff.
🤖 Prompt for AI Agents
In app/src/main/res/values-sl-rSI/strings.xml around lines 52 to 56, the Slovene
preposition before the brand name is incorrect; change occurrences of "Pošlji s
ErikrafT Drop-om" to "Pošlji z ErikrafT Drop-om" in both the
floating_text_selection_summary and floating_text_selection_activity_label
strings so the preposition agrees with the vowel-starting brand name; keep
existing escaping/quoting and formatting unchanged.
Summary
Testing
https://chatgpt.com/codex/tasks/task_e_68e44e8cd5dc832aa25628790c6c5bfb
Summary by CodeRabbit
New Features
Chores
Documentation