From 1e87bd9aa702480dfd2dced674d8fa1a0bcd790c Mon Sep 17 00:00:00 2001 From: Joe Tretter Date: Wed, 24 Jun 2026 19:44:09 -0500 Subject: [PATCH] Drive all levels through UI instrumentation --- AndroidProjectTooling.sh | 41 ++++++++++-- README.md | 20 +++++- app/build.gradle.kts | 6 +- .../GitRepositoryRuntimeInstrumentedTest.kt | 65 +++++++++++++++--- app/src/main/cpp/githug_runtime.c | 66 +++++++++++++------ .../tretter/githugandroid/Exercise.kt | 8 ++- .../solutions/tretter/githugandroid/Levels.kt | 7 +- .../tretter/githugandroid/Terminal.kt | 2 + 8 files changed, 171 insertions(+), 44 deletions(-) diff --git a/AndroidProjectTooling.sh b/AndroidProjectTooling.sh index 0d2afaa..5dd17b2 100755 --- a/AndroidProjectTooling.sh +++ b/AndroidProjectTooling.sh @@ -36,6 +36,7 @@ ANDROID_NDK_DIR="$SDK_DIR/ndk/27.2.12479018" ANDROID_CMAKE_DIR="$SDK_DIR/cmake/3.22.1" ANDROID_TOOLBIN="$ANDROID_NDK_DIR/toolchains/llvm/prebuilt/linux-x86_64/bin" STATE_TTL_SECONDS=86400 +HIDE_EMULATOR_WINDOW="false" log() { printf '\n[%s] %s\n' "tooling" "$1" @@ -642,11 +643,16 @@ start_emulator_if_needed() { fi local emulator_log="$PROJECT_DIR/build/reports/android-emulator.log" + local emulator_window_args=() + if [ "$HIDE_EMULATOR_WINDOW" = "true" ]; then + emulator_window_args=(-no-window) + fi + mkdir -p "$(dirname "$emulator_log")" log "Starting Android emulator: $ANDROID_TEST_AVD_NAME" "$SDK_DIR/emulator/emulator" \ -avd "$ANDROID_TEST_AVD_NAME" \ - -no-window \ + "${emulator_window_args[@]}" \ -no-audio \ -no-boot-anim \ -gpu swiftshader_indirect \ @@ -788,31 +794,54 @@ maybe_run_operation() { print_usage() { cat <