Fix Play Console warnings (R8 13%, edge-to-edge), complete translations, refresh store screenshots - #9
Merged
Conversation
Every non-English locale was missing 58-72 of the 203 translatable strings (settings hub, glasses display fields, pairing warnings, model override, diagnostics, lock/light feedback), so those screens fell back to English. All locales now cover the full English set with matching placeholders. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Declare android:supportsRtl so Arabic is mirrored; it rendered LTR. - Motor control row: give the label the remaining width and keep button text on one line. In Russian/Ukrainian the unlock button was squeezed into a circle with its label broken per letter. - Settings demo-ride switch read a plain property and never recomposed, so it stayed off after the demo started. Observe connectionState, which startDemo()/stopDemo() both move. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
copyRustJniLibs ignored the flag, so with no Rust toolchain it deleted src/main/jniLibs and then failed on the first missing ABI. Skip it when the flag is set, as buildRustJni already does; verifyRustJniLibs keeps its lenient-debug / strict-release behaviour. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Drives a debug build on an emulator with adb + uiautomator, using Demo Ride so no scooter is needed, and writes doc/play-store/<locale>/*.png for all 11 languages. Elements are found by their localized string resources, so a renamed label fails loudly rather than producing a wrong screenshot. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- doc/play-store/: 5 screens x 11 locales at 1080x1920, captured from the current build in Demo Ride. - README (EN / zh-TW / zh-CN): real screenshots instead of the text placeholder table; min SDK is Android 9 (API 28), not 10; Gradle 9.6.1; real clone URL; architecture tree matches the current sources; Rust setup reflects that Gradle runs cargo-ndk itself and documents -PskipRustBuild; list Demo Ride, glasses display settings and model override; fix a broken emoji. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Play Console issues (version 9 / 1.5.0)
proguard-rules.prokeptandroidx.compose.**,com.m365bleapp.**, Tink, security-crypto and coroutines wholeM365Nativenative methods, JNA, and Tink protobuf fields. glass-hud drops the same Compose keep.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGESatb.r.aEdgeToEdgeApi28, called fromenableEdgeToEdge()(always compiled in with minSdk 28)setDecorFitsSystemWindows(false),ALWAYSon API 30+, and contrast enforcement offScaffoldMeasured by running R8 (
minifyReleaseWithR8) in the WSL build:b.r.a)I installed a test-signed, minified release APK on an API 34 emulator and went through every screen. The native library loaded and
init()ran,EncryptedSharedPreferences(Tink) was created, and Demo Ride worked, all with no crash. The promo video below was recorded on that build.Promo video / GIF
doc/play-store/promo/promo_1920x1080.mp4: a 26-second landscape promo video. Play only accepts YouTube links, so upload it to YouTube first.doc/play-store/promo/demo.gif: shown in the READMEs.Summary
Refreshes the Play Store screenshots from the current build and fixes the localization problems found while taking them.
android:supportsRtl.-PskipRustBuild.copyRustJniLibsignored the flag. Without a Rust toolchain it deletedsrc/main/jniLibsand then failed.doc/play-store/<Play Console language code>/, 1080×1920 (9:16). They were captured on an emulator in Demo Ride mode, with a clean demo-mode status bar.scripts/capture_store_screenshots.py: regenerates the screenshots. It finds UI elements by their localized string resources, so it fails loudly if a label changes.your-repo.HomeScreen,SettingsScreen,protocol/,cxr/, …).Screenshots (en-US)
Arabic (now RTL) and Russian (lock buttons fixed):
Test plan
./gradlew :app:assembleDebug -PskipRustBuildbuilds successfully;copyRustJniLibsis skipped andverifyRustJniLibsonly warns../gradlew :app:testDebugUnitTest -PskipRustBuild: 318 tests, 0 failures.python scripts/capture_store_screenshots.py --serial emulator-5556 enran end to end and produced theen-USset.Notes
versionCode(currently 9) and sign with the official key to produce the AAB.doc/play-store/*sets in Play Console. The store's "What's New in v1.1" text is also out of date and needs a manual edit.🤖 Generated with Claude Code