DownloadUpdatesReleasedException class

Smart downloader with HTTP-aware retry logic

Features:

  • HTTP-aware retry: Auth errors (401/403/404) fail after 1 attempt
  • Transient errors (network/5xx) retry up to maxRetries times
  • Exponential backoff strategy
  • Completer-based waiting for completion
  • Progress tracking with Updates.statusAndProgress
  • Works with ANY URL (HuggingFace, Google Drive, custom servers, etc.)
  • Supports multiple concurrent downloads
  • Auto-detects resume support based on server (HuggingFace = no resume)
  • Android foreground service for large files, opt in with foreground: true Raised when the download-updates fan-out is torn down while a download is still in flight — i.e. the host called FlutterGemma.dispose()/reset().

A distinct type because it must NOT be retried: the generic catch in _downloadWithSmartRetry treats anything else as transient and restarts, which turned one dispose into up to maxRetries restarts of a multi-gigabyte download — each one re-registering the group callbacks two seconds later, so the teardown did not hold either.

Implemented types

Constructors

DownloadUpdatesReleasedException(String taskId)
const

Properties

hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
taskId → String
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
override

Operators

operator ==(Object other) → bool
The equality operator.
inherited