Skip to content

Rebranding to StarChord#13

Merged
lrq3000 merged 9 commits intomasterfrom
rebranding-starchord
Feb 5, 2026
Merged

Rebranding to StarChord#13
lrq3000 merged 9 commits intomasterfrom
rebranding-starchord

Conversation

@lrq3000
Copy link
Owner

@lrq3000 lrq3000 commented Feb 5, 2026

Finish rebranding to StarChord by renaming Hexiano -> StarChord and hexiano -> 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

    • New launcher icon for the app.
  • Chores

    • App rebranded to "StarChord" across UI, docs, and media.
    • Minimum Android SDK raised to API 21 (modern devices required).
    • App identifier and installer artifacts updated to reflect StarChord branding.

Signed-off-by: Stephen L. <LRQ3000@gmail.com>
Signed-off-by: Stephen L. <LRQ3000@gmail.com>
Signed-off-by: Stephen L. <LRQ3000@gmail.com>
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 5, 2026

📝 Walkthrough

Walkthrough

This 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

Cohort / File(s) Summary
Build Configuration
StarChord/build.gradle.kts, StarChord/build.xml, StarChord/custom_rules.xml, settings.gradle.kts
Renamed project/namespace from Hexiano to StarChord; applicationId updated; minSdk bumped 8→21; Gradle root project name and includes updated.
Build Infrastructure
.github/workflows/build_apk.yml, .gitignore
APK artifact name and upload path changed to StarChord (StarChord-debug.apk); keystore un-ignore path updated to StarChord/debug.keystore.
Android Manifest & Layout
StarChord/src/main/AndroidManifest.xml, StarChord/src/main/res/layout/main.xml
Launcher activity and custom view class references updated from opensource.hexiano.* to opensource.starchord.*.
Java Source Files
StarChord/src/main/java/opensource/starchord/*.java (AboutDialog, CC, GenericInstrument, HexKey, HexKeyboard, Instrument, JammerKey, JankoKey, ModifierKey, Note, Piano, Play, Point, Prefer, SonomeKey, SustainKey)
All Java files had package declarations changed opensource.hexianoopensource.starchord; header/license/comments updated to StarChord; GenericInstrument path constants updated /hexiano//starchord/; imports adjusted (e.g., R).
Resources
StarChord/src/main/res/values/strings.xml, StarChord/src/main/res/drawable/ic_launcher.xml
Strings rebranded (app name, URLs, prompts, credits) to StarChord; new vector drawable ic_launcher.xml added for launcher icon.
Documentation
README.md, ROADMAP.md
Project branding, images, descriptive text, and example paths updated from Hexiano to StarChord; narrative revised to present StarChord as successor/fork.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

🐰 I hopped through files, a nimble bard,
Hexiano's shell becomes StarChord's card,
Packages hopped, strings rearranged,
A launcher blooms and SDKs changed—
I twitch my nose; the new tune's starred. 🎶

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 66.67% 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
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Rebranding to StarChord' accurately summarizes the main objective of the changeset, which comprehensively rebrand the project from Hexiano to StarChord across all files.

✏️ 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 rebranding-starchord

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.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 | 🟠 Major

Pre-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 -1 for 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>
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 uses https://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>
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 | 🟠 Major

Update 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.yml uses ./gradlew assembleDebug (via build_apk.sh). These are different tasks: assembleDebug only builds the APK, while installDebug also installs it to a connected device. Update the README to document ./gradlew assembleDebug as 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" />

lrq3000 and others added 2 commits February 5, 2026 22:22
…d Studio, fixing icon

Signed-off-by: Stephen L. <LRQ3000@gmail.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
@lrq3000 lrq3000 merged commit 077e012 into master Feb 5, 2026
3 of 4 checks passed
@lrq3000 lrq3000 deleted the rebranding-starchord branch February 5, 2026 22:08
lrq3000 added a commit that referenced this pull request Feb 5, 2026
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>
This was referenced Feb 5, 2026
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.

1 participant