Conversation
Full 12-screen replica (home shell + 11 routes) at native/android-kotlin, applicationId com.alphawavesystems.probe_test_app_native, built to give flutter-probe's native verb family (tap/type/see/don't see native) a real non-Flutter app to exercise: - Compose testTags mirror the Flutter app's ValueKey names 1:1 and are surfaced as uiautomator resource-ids via testTagsAsResourceId - Real behavior parity: simulated auth (same credentials/errors), 50-item searchable list with swipe-delete, gesture zones, settings state, countdown/fade/dialog dynamics, API demo, signal statuses - Real BiometricPrompt (fingerprint) on the biometric screen, driven by probe's biometric match / no match verbs (adb emu finger touch) - probe-tests/native_twin_suite.probe: 12 native-verb scenarios covering navigation, login, item search/add, gestures, device, visual, dynamic, signal, api, settings, and the biometric flow - README: new Native Android Twin section
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.
Summary
Adds a full native Android app at
native/android-kotlin/— a Kotlin + Jetpack Compose twin of the Flutter test app (mobile/) — so flutter-probe's native verb family (tap native,type native,see native,don't see native) has a real non-Flutter app with meaningful state to drive and assert on. Plus a 12-scenario native-verb ProbeScript suite innative/android-kotlin/probe-tests/and a README section.com.alphawavesystems.probe_test_app_native(installs alongside the Flutter app)testTagmirroring the Flutter app'sValueKeynames 1:1, surfaced as uiautomatorresource-ids viatestTagsAsResourceId— verified on-device that probe'sFindNativeElementmatching (case-insensitive substring over text/resource-id) resolves themtest@test.com/password+admin@test.com/admin123, same error strings, 50-item searchable list with swipe-delete, same settings defaults, same status texts everywhere)Screen-by-screen parity
scroll nativeverb exists)BiometricPrompt(fingerprint). Single-shot like the Flutter twin: first no-match cancels the OS dialog and shows theAuthentication failedbanner. Verified end-to-end on emulator withadb emu finger touch 1/9999— the exact commandsbiometric match/biometric no matchissueWelcome, Test User/Biometric User/Guest), stat cards, 10 items, refresh/logouttap_capture_area/tap_capture_countsingle-tap zone (native-only) because the native verb family has no double-tap/long-press/swipe/drag equivalents — this givestap nativea real gesture target. Namedtap_capture_*(nottap_*) since native matching is substring-based andtap_areawould collide withdouble_tap_area. Worth backporting to the Flutter page for full 1:1awaitSignal/deliver signalmechanism lives in the Dart ProbeAgent and has no native counterpartDeliberate deviations (all documented in code comments)
back_buttontestTag on every sub-screen's top-bar back arrow — no nativego backverb, suites need a tap target to return home.tap_capture_area/tap_capture_counton Gestures (see table).see nativefinding: double-tap/long-press/swipe/drag and scroll have no native-verb equivalents — those Gestures elements are presence-asserted only in the native suite. Possible future flutter-probe verbs (swipe native,long press native,scroll native).Verification done
./gradlew assembleDebugpasses (JDK 21, AGP 8.11.1, Kotlin 2.2.20, Compose BOM 2025.06.01)Item 49shown,Item 12absent), login success/error, logoutTest plan
probe-tests/native_twin_suite.probethrough the probe CLI with a ProbeAgent host connected (needs a free emulator with fingerprint enrolled)🤖 Generated with Claude Code
https://claude.ai/code/session_01R8STRkxzYNXcJCb5kdyJ7E