# AGENTS.md (Android)

This file configures Codex behavior for `android/` (`/Users/craigvandergalien/Documents/GitHub/lichun/android`).

## Scope

- Applies only to files under `android/`.
- Inherits root guidance from `../AGENTS.md` unless overridden here.

## Project Entry Points

- Gradle wrapper: `./gradlew`
- Android app module: `app/`
- Application ID: `com.craigvg.lichun_android`
- Main activity: `app/src/main/java/com/craigvg/lichun_android/MainActivity.kt`

## Build Commands

```bash
cd /Users/craigvandergalien/Documents/GitHub/lichun/android

# Debug APK
./gradlew assembleDebug

# Release APK
./gradlew assembleRelease

# Play Store bundle
./gradlew bundleRelease
```

## Test + Lint Commands

```bash
cd /Users/craigvandergalien/Documents/GitHub/lichun/android

# Unit tests
./gradlew test

# Instrumented tests (requires emulator/device)
./gradlew connectedAndroidTest

# Lint
./gradlew lint
./gradlew lintDebug
```

## Install / Run Commands

```bash
cd /Users/craigvandergalien/Documents/GitHub/lichun/android

# Install debug APK on connected device/emulator
./gradlew installDebug

# Verify connected devices
adb devices

# Manual install to a specific device
adb -s <device_id> install app/build/outputs/apk/debug/app-debug.apk
```

## Backend Connectivity Notes

- Production WebSocket endpoint in code: `wss://lichun.app/wss/`.
- Development endpoint in code: `ws://localhost:8001`.
- Key files:
  - `app/src/main/java/com/craigvg/lichun_android/network/WebSocketManager.kt`
  - `app/src/main/java/com/craigvg/lichun_android/domain/models/Player.kt`

For Android emulator testing against a host-local backend, use `10.0.2.2` instead of `localhost` when needed.

## Firebase/Release Notes

- `google-services` and `firebase-crashlytics` plugins are present in Gradle config but should only be enabled when `google-services.json` is correctly configured.
- Keep release checks focused on: `assembleRelease`, `bundleRelease`, `lint`, and at least one connected test run before distribution.
