Rename app id to harley.keyboard and add agent notes

This commit is contained in:
nyra
2026-09-27 17:09:44 +00:00
parent 5cba22a19a
commit be6f455b01
3 changed files with 51 additions and 6 deletions
+46
View File
@@ -0,0 +1,46 @@
# Harley's Keyboard - agent notes
Fork of Julow/Unexpected-Keyboard (Unexpected Keyboard). Android IME, Java, Gradle Kotlin DSL.
## Build & test (exact)
```bash
./gradlew testDebugUnitTest assembleDebug # full verification: unit tests THEN the APK
./gradlew clean assembleDebug # when a generated file may be stale
```
- SDK: `local.properties` -> `sdk.dir=/home/nyra/android-sdk` (present, gitignored, do not commit).
- JDK 21, build-tools 34.0.0/36.0.0, AGP 8.8.2, compileSdk 36, minSdk 21.
- APK: `build/outputs/apk/debug/Unexpected-Keyboard-debug.apk`, package id `harley.keyboard`.
## Layout & generated code
- Layout rows live in `srcs/layouts/*.xml`. A layout edit needs a **full build**, not just compile:
`gen_layouts.py` regenerates `res/values/layouts.xml`, `res/raw/*.xml` and
`srcs/juloo.keyboard2/ComposeKeyData.java`. Unit tests run before regeneration report
stale-generated-state failures that are not real bugs.
- Never hand-edit generated files (`res/values/layouts.xml`, `res/raw/*`, `ComposeKeyData.java`,
`res/xml/method.xml`).
## Always do
- Run `./gradlew testDebugUnitTest assembleDebug` before reporting done.
- Keep user-visible text in `res/values/strings.xml`.
- Keep all network access off the UI thread.
## Ask first
- Adding any dependency (prefer the framework: `org.json`, `HttpURLConnection`).
- Changing the package id, signing config or versionCode.
## Never do
- Commit or print secrets/tokens; no credentials in code, XML, tests or logs.
- Touch `.git` internals, force-push, or edit CI workflows.
- Enable cleartext HTTP globally (only a per-host network security config).
- Change the space-bar peak-colour behaviour (a separate, deliberate feature).
## Definition of done
`./gradlew testDebugUnitTest assembleDebug` exits 0, new behaviour is covered by unit tests,
and the tree has no generated-file diffs beyond what a normal build produces.
+2 -3
View File
@@ -17,7 +17,7 @@ android {
compileSdkVersion = "android-36"
defaultConfig {
applicationId = "juloo.keyboard2"
applicationId = "harley.keyboard"
minSdk = 21
targetSdk { version = release(36) }
versionCode = 55
@@ -82,7 +82,6 @@ android {
isMinifyEnabled = false
isShrinkResources = false
isDebuggable = true
applicationIdSuffix = ".debug"
resValue("string", "app_name", "@string/app_name_debug")
resValue("bool", "debug_logs", "true")
signingConfig = signingConfigs["debug"]
@@ -194,4 +193,4 @@ tasks.named("preBuild") {
// checked in the repository that don't need to be updated during regular
// builds.
mustRunAfter(genEmojis, genLayoutsList, compileComposeSequences, genMethodXml)
}
}
+3 -3
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name_release">Morn Keyboard Basic</string>
<string name="app_name_debug">Morn Keyboard Basic Debug</string>
<string name="app_name_release">Harley\'s Keyboard</string>
<string name="app_name_debug">Harley\'s Keyboard</string>
<string name="short_description">Lightweight and privacy-conscious virtual keyboard for Android.</string>
<string name="store_description">The main feature is that you can type more characters by swiping the keys towards the corners.\n\nThis application was originally designed for programmers using Termux.\nNow perfect for everyday use.\n\nThis application contains no ads and is Open Source.</string>
<string name="pref_portrait">In portrait mode</string>
@@ -169,4 +169,4 @@
<string name="pref_split_layout_never">Never</string>
<string name="pref_split_layout_landscape">In landscape orientation</string>
<string name="pref_split_layout_wide">On wide screens</string>
</resources>
</resources>