Conversation
Signed-off-by: Stephen L. <LRQ3000@gmail.com>
Signed-off-by: Stephen L. <LRQ3000@gmail.com>
Signed-off-by: Stephen L. <LRQ3000@gmail.com>
📝 WalkthroughWalkthroughThis PR rebrands the project from Hexiano to StarChord: package namespaces, resource strings, docs, build metadata, and CI artifacts were updated; minSdk raised from 8 to 21; a new vector launcher icon was added. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 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: 3
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
StarChord/src/main/java/opensource/starchord/Prefer.java (1)
878-888:⚠️ Potential issue | 🟠 MajorPre-existing bug: String comparison uses
==instead of.equals().This method compares strings using
==which checks reference equality, not value equality. This will likely cause the method to always return-1for non-interned strings, breaking functionality like loading/deleting saved mapping profiles.🐛 Proposed fix
public static int ListGetIndexOfValue(String value, List<String> list) { int i = 0; for (String entry : list) { - if (entry == value) { + if (entry != null && entry.equals(value)) { return i; } i++; } return -1; }
🤖 Fix all issues with AI agents
In `@StarChord/custom_rules.xml`:
- Around line 40-43: The copy task's fileset uses an incorrect source directory
(fileset dir="../src/starchord/") so Java sources aren't found; update the
fileset dir value in the copy task (the <copy todir=...> / <fileset dir=...>
block) to point to the real source location
"../src/main/java/opensource/starchord/" so the <include name="**.java" /> will
copy the Java files correctly.
In `@StarChord/src/main/java/opensource/starchord/GenericInstrument.java`:
- Line 158: The call in GenericInstrument.getExternalInstruments (the return
calling GenericInstrument.listExternalInstruments with "/starchord/") breaks
existing user setups that used "/hexiano/"; update the code to handle both paths
and notify users: modify the logic around
GenericInstrument.listExternalInstruments to first check "/starchord/" and if
empty or missing, fall back to "/hexiano/" (or call listExternalInstruments
twice and merge results), and add a clear warning/log when falling back so users
know to rename; additionally add a short note to the README/release notes
documenting the required manual migration from hexiano/ to starchord/.
In `@StarChord/src/main/res/values/strings.xml`:
- Line 125: Update the "open_source" string value to correct the historical
reference: replace "James original StarChord is at
https://gitorious.org/starchord" with "James' original Hexiano is at
https://gitorious.org/hexiano" so the string named open_source contains the
accurate project name and URL; keep the rest of the sentence and license mention
unchanged.
🧹 Nitpick comments (1)
README.md (1)
100-100: Minor: Capitalize "GitHub".The official name is spelled with a capital "H".
Proposed fix
-If you have found any bug or have a suggestion for an amazing new feature you would like to see in StarChord, feel free to post a request in the github issue tracker: +If you have found any bug or have a suggestion for an amazing new feature you would like to see in StarChord, feel free to post a request in the GitHub issue tracker:
Signed-off-by: Stephen L. <LRQ3000@gmail.com>
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In `@StarChord/src/main/res/values/strings.xml`:
- Around line 146-149: The credit string resource named "credit_osc" has
incorrect subject-verb agreement ("guys ... endorses"); update the text inside
the <string name="credit_osc"> value to replace "endorses" with "endorse" so the
plural subject agrees with the verb while preserving the rest of the content and
formatting.
🧹 Nitpick comments (1)
StarChord/src/main/res/values/strings.xml (1)
9-11: Normalize the GitHub URL for consistency.Line 9 uses
https://www.github.com/...while Line 125 useshttps://github.com/.... Consider using the canonical format consistently.Suggested diff
- <string name="url">https://www.github.com/lrq3000/starchord</string> + <string name="url">https://github.com/lrq3000/starchord</string>
Detected by @coderabbitai Signed-off-by: Stephen L. <LRQ3000@gmail.com>
Signed-off-by: Stephen L. <LRQ3000@gmail.com>
- Rebrand icon with the new StarChord logo - Increase minSdk from 8 to 21 to support vector drawables natively. - Replace density-specific PNG launcher icons with a single vector XML. - Move launcher icon from `drawable` to `mipmap` directory per Android best practices. - Update `AndroidManifest.xml` to reference `@mipmap/ic_launcher`. - Remove empty legacy `drawable-*` directories. BREAKING CHANGE: Minimum supported Android version is now API 21 (Android 5.0). Support for legacy devices (API 8-20) has been dropped to facilitate the use of vector assets. Co-authored with Zed and Gemini Flash 3 (Preview) Signed-off-by: Stephen L. <LRQ3000@gmail.com>
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 (1)
README.md (1)
32-35:⚠️ Potential issue | 🟠 MajorUpdate README.md to match the canonical Gradle task used by CI.
The README recommends
./gradlew installDebug, but the CI workflow in.github/workflows/build_apk.ymluses./gradlew assembleDebug(viabuild_apk.sh). These are different tasks:assembleDebugonly builds the APK, whileinstallDebugalso installs it to a connected device. Update the README to document./gradlew assembleDebugas the canonical build command to align with CI.
🤖 Fix all issues with AI agents
In `@README.md`:
- Line 4: The README image tag `<img
src="https://raw.github.com/lrq3000/starchord/master/wiki/images/logo.png"
style="width:384px;" />` is missing alt text; update that tag to include a
meaningful alt attribute (for example alt="Starchord logo" or another concise
description) so screen readers and markdown linters have accessible text for the
logo.
In `@StarChord/build.gradle.kts`:
- Around line 7-12: The applicationId value currently uses uppercase characters
("applicationId" in the defaultConfig block) which can cause Play Store
rejection; update the defaultConfig.applicationId to use all lowercase (e.g.,
change "opensource.starchord.Play" to "opensource.starchord.play") and save the
change in the build.gradle.kts so the package identifier contains only lowercase
characters; ensure you do not change this if the app is already published as
that would create a new app entry.
In `@StarChord/src/main/res/mipmap/ic_launcher.xml`:
- Around line 3-82: The SVG uses a 67.73×67.73 viewport while many <path>
elements (e.g., the large geometry with pathData containing y-values ~250–292
such as the path starting "M17.726,291.443" and related triangular/hex shapes)
are authored in a much larger coordinate space and will be clipped—re-export or
transform those paths to match the viewport by either updating the vector
viewportWidth/viewportHeight to the actual coordinate range or
scaling/translating the path coordinates to fit within ~0–67.73, and ensure
strokeWidth values scale accordingly; also remove the duplicate white background
rectangle path (the <path android:fillColor="#ffffff"> duplicate) to reduce
size.
🧹 Nitpick comments (1)
StarChord/src/main/res/mipmap/ic_launcher.xml (1)
126-132: Remove the duplicate path to reduce overdraw.The path at Lines 126–132 is duplicated verbatim, adding size and overdraw without a visual change.
✂️ Suggested cleanup
- <path - android:fillColor="#ffffff" - android:strokeWidth="0.0668369" - android:pathData="M43.6755,40.8047 C43.6755,40.8047,44.6134,40.9573,44.9501,40.7163 C45.2868,40.4753,55.4949,27.5807,41.4509,17.951 C41.3996,17.9159,40.7657,17.5337,40.4975,17.2097 C37.6519,13.7716,37.9613,11.9772,37.3362,11.9704 C36.2344,11.9585,34.3999,11.9483,34.3999,11.9483 C34.0258,11.9369,33.8387,12.4391,33.8387,12.4391 L33.8948,33.7348 L33.8948,43.0199 C32.2915,41.2202,20.6744,42.1922,21.1781,50.0979 C21.702,58.32,37.3579,56.2604,37.6145,48.0976 C37.8751,39.8041,37.733,33.7519,37.733,33.7519 L37.6876,24.3213 C37.6876,24.3213,49.0065,26.0619,43.6754,40.8048 Z" />
…d Studio, fixing icon Signed-off-by: Stephen L. <LRQ3000@gmail.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
This method compares strings using == which checks reference equality, not value equality. This will likely cause the method to always return -1 for non-interned strings, breaking functionality like loading/deleting saved mapping profiles. Detected and fixed by @coderabbitai in #13 Signed-off-by: Stephen L. <LRQ3000@gmail.com>
Finish rebranding to StarChord by renaming
Hexiano->StarChordandhexiano->starchord, remove deprecated assets, and replace them with high resolution vector images of the new logo.Made semi-manually via Zed (half was done by hand, half was automated and then checked).
Summary by CodeRabbit
New Features
Chores