From be6f455b015a14f22b24329081d28366c1a15fb5 Mon Sep 17 00:00:00 2001 From: nyra Date: Sun, 27 Sep 2026 17:09:44 +0000 Subject: [PATCH] Rename app id to harley.keyboard and add agent notes --- AGENTS.md | 46 ++++++++++++++++++++++++++++++++++++++++++ build.gradle.kts | 5 ++--- res/values/strings.xml | 6 +++--- 3 files changed, 51 insertions(+), 6 deletions(-) create mode 100644 AGENTS.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..eec3305 --- /dev/null +++ b/AGENTS.md @@ -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. diff --git a/build.gradle.kts b/build.gradle.kts index 9450d16..9e03e2e 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -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) -} +} \ No newline at end of file diff --git a/res/values/strings.xml b/res/values/strings.xml index 0d92dbd..969b0de 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -1,7 +1,7 @@ - Morn Keyboard Basic - Morn Keyboard Basic Debug + Harley\'s Keyboard + Harley\'s Keyboard Lightweight and privacy-conscious virtual keyboard for Android. 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. In portrait mode @@ -169,4 +169,4 @@ Never In landscape orientation On wide screens - + \ No newline at end of file