# ⚠️ IMPORTANT: Android Build File Locations

## Critical Information for Future Development

**DO NOT EDIT FILES IN `src-tauri/gen/android/` DIRECTLY!**

### File Structure

This project has **TWO** sets of Android source files:

1. **`src-tauri/android/`** - **SOURCE FILES** (edit these!)
   - This is the template directory
   - Changes here need to be copied to the generated directory

2. **`src-tauri/gen/android/`** - **GENERATED BUILD DIRECTORY** (do not edit directly!)
   - This is where Gradle actually builds the APK
   - Files here may be overwritten during builds

### How to Make Changes to Android Code

When you need to modify Android/Kotlin files:

1. **Edit the files in `src-tauri/android/src/main/java/`**
2. **Build using the provided script (which auto-syncs files)**
   ```bash
   ./scripts/build-android.sh
   ```

   The build script automatically runs `./scripts/sync-android-sources.sh` which copies:
   - `src-tauri/android/src/main/java/com/dtourolle/jellytau/player/` → generated directory
   - `src-tauri/android/src/main/java/com/dtourolle/jellytau/security/` → generated directory

3. **Manual sync (if needed)**
   ```bash
   ./scripts/sync-android-sources.sh
   ```

### Why This Matters

- If you only edit `src-tauri/gen/android/`, your changes will be lost
- If you only edit `src-tauri/android/`, your changes won't be in the build
- **You must edit both** (or edit source and copy to generated)

### Key Files

Player-related Kotlin files:
- `player/JellyTauPlayer.kt` - Main player implementation
- `player/JellyTauPlaybackService.kt` - MediaSession service for lockscreen controls
- `security/SecureStorage.kt` - Android Keystore integration for secure credential storage

Always check BOTH locations exist and match after making changes!
