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