3 ms·
If you can get your agent of choice to run up the app in an emulator and navigate the whole thing taking screenshots then tasks like edge-to-edge can be pretty
by fhub 16d ago
If you can get your agent of choice to run up the app in an emulator and navigate the whole thing taking screenshots then tasks like edge-to-edge can be pretty hands off.
The way I did it was to firstly get accessibility identifiers on everything. Then have it record everything I do on an emulator to navigate the entire app. Then left it for a while to work out how to actually use the app via the emulator. Once you have this sort of baseline. A lot of changes are really quite pleasant. I often ask for an HTML gallery of screenshots covering a few device sizes as the step before I bother running it on a device myself.
- david_allison 16d agoWe use Roborazzi[0], which is an excellent screenshot library, but: * We target minSdk 24 * We're still using XML views * We target a large variety of form factors * We have a lot of screens, and these have a lot of configuration options. I really wish it was "point an agent at it, and walk away", but many screens ended up being hours of iteration with Fable driving my phone/an emulator to produce an acceptable outcome. Given that my Pixel 9 Pro has system screens which are still broken under edge to edge, it's not an easy change, and takes up time which could have been going towards feature development. [0] https://github.com/takahirom/roborazzi/ https://github.com/takahirom/roborazzi/
- voakbasda 16d agoGotta love that Google enforces rules on developers that it won’t even enforce on itself. Such a great look.
- xethos 15d agoA tangent, but a big thank you (to you, and all other developers) for supporting older API levels from someone with devices ranging from Android 8.1 (BlackBerry Key2LE, at minSdk 27) to Android 16 (BlackBerry "Q25", at minSdk 36.1) <3
- david_allison 15d agoThank you!! E-waste is awful, as is cutting off old devices. We still backport security fixes to minSdk 21. To Google's credit, post-21 is a much more pleasant experience and requires very little developer time. API desugaring[0] has worked perfectly, their compatibility classes[1] handle most of the common cases, and there's often very little to actually code[2]. [0] https://developer.android.com/studio/write/java8-support-table https://developer.android.com/studio/write/java8-support-tab... [1] https://developer.android.com/jetpack/androidx/releases/appcompat https://developer.android.com/jetpack/androidx/releases/appc... [2] https://github.com/ankidroid/Anki-Android/blob/main/compat/src/main/java/com/ichi2/anki/compat/Compat.kt https://github.com/ankidroid/Anki-Android/blob/main/compat/s...