Repository navigation
Test farm improvements and fix for crash that it found - #1178
Merged
Merged
Conversation
The farm phones lie flat on a desk, and Soundscape keeps using the compass of a phone held flat even in the background, unlike one in a pocket. With sensors = false (globally or per phone) the farm puts the sensor service into restricted mode with an allowlist nothing matches, so neither the app nor Google Play services gets sensor events and the heading comes from travel. The app is stopped once when it's applied, since it would keep its last, flat, orientation. It's re-applied after each monkey soak and lifted when the farm stops. Phones with skip = true are no longer prepared either: preparing turns off Wi-Fi and the sensors, among other things, and a skipped phone may be someone's own. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Ex6Fdp5ftuhE1ZEyhZb7WQ
On the USB hub some phones report AC power (the Moto, and the A54 until it was replugged), and svc power stayon usb ignores that, so the A54's screen went off in the middle of its set-up flows. Stay on with any power source, and wake the phone before every flow as a backstop. PostUpgrade.yaml ran LaunchHome.yam, so every upgrade check since 3ea4e7f failed with Invalid File Path. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Ex6Fdp5ftuhE1ZEyhZb7WQ
ShowMap decided whether the map was on by looking for the full screen map button on Home, but a beacon card left by roaming can push it out of view. The A52s's Restore then read the map as off when it was on, tapped the switch, turned it off and failed, so the phone was set up again. Where the settingsShowMap tag exists, read and check the row's checked state instead; Home is now only a fallback for untagged releases. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Ex6Fdp5ftuhE1ZEyhZb7WQ
The monkey's swipes from the top edge opened the notification shade, and on the A50 the shade the farm then collapsed kept key focus while invisible: every Back went to it, LaunchHome couldn't leave Location Details' full-screen map and Restore failed, so the phone was set up again. Lock the shade shut while the farm runs (cleared when it stops), and before each flow move focus away from the shade if it has it. The menu keeps its scroll position, and on the Cubot's short screen it was left scrolled past Settings, so tapping menuSettings failed in Restore and Menus. Scroll up to it first. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Ex6Fdp5ftuhE1ZEyhZb7WQ
They were only read at the start and end of each cycle, so the report's battery column could be 40 minutes old. Read each Android phone's every battery_poll_minutes (default 1), show the latest in the report with its time, and keep the readings in a vitals table pruned after keep_days. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Ex6Fdp5ftuhE1ZEyhZb7WQ
Much of GeoEngine's state is lateinit and only set by start(), but it can be used when it isn't running. On Android the service doesn't start it while snoozing for wake on leave, yet the UI can be bound to the service then, and the service can be stopped before it ever started it. onDestroy's stop() crashed on the uninitialised locationProvider, and the Home screen's location description and offline address lookups crashed on the uninitialised multiGeocoder. Found by the test farm's monkey on 2.0.90 on four phones. GeoEngine now tracks whether it's started: stop() and refreshOfflineMaps() do nothing, and the lookups and callouts return nothing, when it isn't. GeoEngineNotStartedTest covers each of them; it replaces CalloutController's disabled test of an unstarted engine, which relied on it throwing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Ex6Fdp5ftuhE1ZEyhZb7WQ
This branch was previously deployed
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.
No description provided.