# Android pay smoke

## 1) Published F-Droid wallet

```bash
# needs adb device/emulator
./run-android-pay-smoke.sh
STACK=goa ./run-android-pay-smoke.sh
STACK=stage ./run-android-pay-smoke.sh
```

APK: F-Droid **1.6.1** (`net.taler.wallet.fdroid`).

## 2) Latest source build + same tests

Pulls/builds `taler-android` master (`:wallet:assembleFdroidDebug`), then
runs the **same** smoke (install + withdraw/pay deep-links).

```bash
# default source: $HOME/taler/taler-android
./run-android-build-and-smoke.sh
STACK=goa ./run-android-build-and-smoke.sh
SKIP_PULL=1 ./run-android-build-and-smoke.sh   # use tree as-is
TALER_ANDROID_SRC=/path/to/taler-android ./run-android-build-and-smoke.sh
```

Built package id: `net.taler.wallet.fdroid.debug`.  
Needs `ANDROID_HOME` (e.g. `$HOME/Android/Sdk`), Java 17+, network for Maven.

## 3) Graphical UI (vanilla)

Deep-link entry (≡ QR) **plus** multi-round uiautomator taps:

```bash
STACK=goa ./run-android-gui-smoke.sh
STACK=stage ./run-android-gui-smoke.sh
# after source build:
GUI=1 ./run-android-build-and-smoke.sh
```

## 4) Full GOA/stage chain (from `dev/hernani-inference/gui-workflows`)

Bank API mint → withdraw deep-link → taps → template pay → taps:

```bash
# needs explorer password + device
EXP_PW_FILE=$HOME/src/koopa/koopa-admin-secrets/koopa/host-root/taler-bank/bank-explorer-password.txt \
  STACK=goa PKG=net.taler.wallet.fdroid.debug \
  ./run-goa-gui-chain.sh

STACK=stage ./run-goa-gui-chain.sh
```

Canonical notes (minimal variant, **flags**, Linux defaults):
**[GUI-AUTOMATION-NOTES.md](./GUI-AUTOMATION-NOTES.md)**.

| Flag | Linux default | Meaning |
|------|---------------|---------|
| `AUTO_ANDROID` | `1` | Run Android adb/APK automation |
| `AUTO_GUI` | `1` | Graphical uiautomator drive (else deep-link only) |
| `AUTO_PLATFORM` | `auto` → `linux` | Host family; macOS can later pair with iOS out of tree |

See also parent [GIT-AUTOMATION-NOTES.md](../GIT-AUTOMATION-NOTES.md).
