native_download_manager 1.0.5
native_download_manager: ^1.0.5 copied to clipboard
A production-ready Flutter package providing native background download capability for Android and iOS.
1.0.5 #
- Fixed real-time reactive UI progress updates across all Flutter UI components (
CurrentDownloadWidget,RecentDownloadsDialogList,AppDownloadService) when installed as a pub.dev package dependency. - Added in-memory task caching and automatic status transition from
enqueuedtodownloadingupon receiving live progress events. - Fixed Android
getAllTasks()andgetTask()to merge live running worker metrics (speed,ETA,downloadedBytes,totalBytes) with SQLite persistent database records. - Fixed iOS initial byte chunk emission in
URLSessionDownloadDelegateto ensure immediate UI progress updates on the first chunk. - Fixed iOS CocoaPods source files structure by moving native Swift files to
Classes/directory for full pub.dev consumer compatibility. - Fixed invalid Kotlin (
1.9.22) and Android Gradle Plugin (8.2.1) build configurations inandroid/build.gradle.kts. - Added ProGuard consumer keep rules (
android/proguard-rules.pro) for release build compatibility. - Added Android 14 Foreground Service crash prevention guards.
1.0.4 #
- Added
AppDownloadService.currentDownloadWidget()&CurrentDownloadWidgetin-page live progress card component. - Added
AppDownloadService.startDownload(...)helper for triggering background downloads from buttononPressedhandlers without popup modals. - Added 100% full UI customization options across all widgets (
cardBackgroundColor,borderRadius,progressBarColor,accentColor, typography, custombadgeBuilder,iconBuilder, and control button visibility parameters). - Added Android
MediaStore.Downloadsintegration so completed files automatically appear at the top of the phone's "My Files" / "Downloads" app. - Improved Android Scoped Storage compatibility on Android 10+ (API 29+).
- Enhanced
overwrite: falseduplicate file resolution to auto-increment file names (file(1).ext) seamlessly on Android and iOS. - Updated 10 Ready-to-Use pure dynamic UI templates.
- Updated comprehensive API parameter tables and documentation in
README.md.
1.0.3 #
- Fixed an issue where
DownloadTask.statusStreamremained open after a task reached a terminal state (completed,failed,canceled), causingawait forloops in Dart to hang indefinitely. - Fixed progress calculation and status synchronization for chunked downloads (
totalBytes == -1). - Enforced strict failure with
FileAlreadyExistsExceptionwhenoverwrite: falseand the destination file already exists.
1.0.2 #
- Fixed iOS Swift Package Manager (SPM)
FlutterFrameworkdependency resolution. - Updated iOS build settings and example application version metadata.
1.0.1 #
- Added default fallback to Android Public Downloads directory (
/storage/emulated/0/Download/) so downloaded files immediately appear in the device File Manager, Gallery, and Downloads app. - Added
READ_EXTERNAL_STORAGEandWRITE_EXTERNAL_STORAGEpermissions to AndroidManifest for full compatibility across older and newer Android versions. - Fixed an issue on Android 11+ where files downloaded to app-private storage were hidden from the system File Manager due to Scoped Storage restrictions.
1.0.0 #
- Initial stable release.
- Added Android Foreground Service support for background downloads.
- Added iOS Background URLSession integration for background downloads.
- Support for pause, resume (via Range requests), retry, cancel, and task deletion.
- Real-time progress monitoring: download speed, ETA, percentage, bytes ratio.
- Concurrency queue management and priority queue support.
- Network and power constraints: wifiOnly, chargingOnly, low battery checking.
- Auto-resume after app restart and device boot completed (Android).
- Integrity checksum verification (MD5, SHA-256).
- Complete Material 3 example app.