- Comment out ndkVersion specification in app/build.gradle.kts
- Allows build to proceed without requiring NDK license acceptance
- NDK will be automatically selected by Android Gradle Plugin if needed
- Fixes Kotlin metadata version incompatibility errors
- Updates org.jetbrains.kotlin.android from 1.9.24 to 2.1.0
- Resolves compilation errors with kotlin-stdlib 2.2.0
This addresses the build failure where Kotlin classes were compiled
with metadata version 2.2.0 but compiler version 1.9.0 could only
read up to version 2.0.0.
- Remove deprecated android.enableBuildCache from gradle.properties
- Downgrade Kotlin from 2.1.0 to 1.9.24 for Room compatibility
- Add tools namespace to AndroidManifest.xml
- Restore LibTorrent4j to 2.1.0-28 (verified available version)
Known issue: TorrentEngine.kt needs API updates for LibTorrent4j 2.1.x
See compilation errors related to SessionParams, popAlerts, TorrentInfo constructor
- Check if local.properties exists before reading
- Fallback to FLUTTER_ROOT environment variable
- Add FLUTTER_ROOT to CI variables
- Set default Flutter path to /opt/flutter for CI
- Fixes: 'local.properties (No such file or directory)' error
- Remove gradlew and gradlew.bat from .gitignore
- Remove gradle-wrapper.jar from .gitignore
- Add all Gradle wrapper files to repository
- Required for GitLab CI/CD automated builds
- Reduce Gradle RAM from 4GB to 2GB with optimizations
- Add GitLab CI/CD with separate jobs for TorrentEngine and APK
- Add GitHub Actions workflow as alternative
- Enable parallel builds and caching
- Configure automated artifact uploads
- Add comprehensive CI/CD documentation
- Created complete TorrentEngine library module with LibTorrent4j
- Full torrent management (add, pause, resume, remove)
- Magnet link metadata extraction
- File priority management (even during download)
- Foreground service with persistent notification
- Room database for state persistence
- Reactive Flow API for UI updates
- Integrated TorrentEngine with MainActivity via MethodChannel
- addTorrent, getTorrents, pauseTorrent, resumeTorrent, removeTorrent
- setFilePriority for dynamic file selection
- Full JSON serialization for Flutter communication
- Created new NeoMoviesApiClient for Go-based backend
- Email verification flow (register, verify, resendCode)
- Google OAuth support
- Torrent search via RedAPI
- Multiple player support (Alloha, Lumex, Vibix)
- Enhanced reactions system (likes/dislikes)
- All movies/TV shows endpoints
- Updated dependencies and build configuration
- Java 17 compatibility
- Updated Kotlin coroutines to 1.9.0
- Fixed build_runner version conflict
- Added torrentengine module to settings.gradle.kts
- Added comprehensive documentation
- TorrentEngine README with usage examples
- DEVELOPMENT_SUMMARY with full implementation details
- ProGuard rules for library
This is a complete rewrite of torrent functionality as a reusable library.
1. Обжариваем лук до золотистого цвета.
2. Добавляем морковь — жарим до мягкости.
3. Всыпаем нарезанное мясо, жарим до румяной корочки.
4. Добавляем специи: зиру, барбарис, соль.
5. Засыпаем промытый рис, сверху — головка чеснока.
6. Заливаем кипятком на 1-2 см выше риса.
7. Готовим под крышкой на слабом огне до испарения воды.