DownloadController class
Production-ready enterprise Download Controller using GetX. Manages parallel download limits, queue scheduling, isolate communication, ETA calculations, storage persistence, and task recovery after app kills.
- Inheritance
-
- Object
- GetLifeCycle
- DisposableInterface
- GetxController
- DownloadController
- Implemented types
Constructors
Properties
-
deletedIds
→ RxSet<
String> -
final
- downloadCount ↔ RxInt
-
getter/setter pair
-
downloads
→ RxList<
DownloadItem> -
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- hasListeners → bool
-
no setterinherited
- initialized → bool
-
Checks whether the controller has already been initialized.
no setterinherited
- isClosed → bool
-
Checks whether the controller has already been closed.
no setterinherited
- isLoading ↔ bool
-
getter/setter pair
- lastFetchTime ↔ DateTime?
-
getter/setter pair
- listeners → int
-
no setterinherited
-
locallyCompletedIds
→ RxSet<
String> -
final
-
locallyDownloadingIds
→ RxSet<
String> -
final
-
locallyFailedIds
→ RxSet<
String> -
final
-
locallyQueuedIds
→ RxSet<
String> -
final
- maxParallel → int
-
final
-
onDelete
→ InternalFinalCallback<
void> -
Internal callback that starts the cycle of this controller.
finalinherited
-
onStart
→ InternalFinalCallback<
void> -
Called at the exact moment the widget is allocated in memory.
It uses an internal "callable" type, to avoid any @overrides in subclases.
This method should be internal and is required to define the
lifetime cycle of the subclass.
finalinherited
- repo ↔ DownloadRepository
-
getter/setter pair
- running ↔ int
-
getter/setter pair
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- service ↔ DownloadService
-
getter/setter pair
Methods
-
$configureLifeCycle(
) → void -
inherited
-
addDownload(
{required String name, required String url, required String httpMethod, required String moduleName, Map< String, dynamic> ? payload}) → Future<DownloadResponse> -
addListener(
GetStateUpdate listener) → Disposer -
Register a closure to be called when the object notifies its listeners.
inherited
-
addListenerId(
Object? key, GetStateUpdate listener) → Disposer -
inherited
-
cancel(
DownloadItem item) → void -
deleteItem(
DownloadItem item) → void -
dispose(
) → void -
inherited
-
disposeId(
Object id) → void -
To dispose an
idfrom future updates(), this ids are registered byGetBuilder()or similar, so is a way to unlink the state change with the Widget from the Controller.inherited -
enqueueForDownload(
DownloadItem item) → void -
loadDownloadsIfNeeded(
{bool force = false}) → Future< void> - SMART API/Storage Refresh
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
notifyChildrens(
) → void -
inherited
-
onClose(
) → void -
Called before onDelete method. onClose might be used to
dispose resources used by the controller. Like closing events,
or streams before the controller is destroyed.
Or dispose objects that can potentially create some memory leaks,
like TextEditingControllers, AnimationControllers.
Might be useful as well to persist some data on disk.
override
-
onInit(
) → void -
Called immediately after the widget is allocated in memory.
You might use this to initialize something for the controller.
override
-
onReady(
) → void -
Called 1 frame after onInit(). It is the perfect place to enter
navigation events, like snackbar, dialogs, or a new route, or
async request.
inherited
-
onSignalRNotificationReceived(
Map< String, dynamic> jsonPayload) → Future<void> - Hook for the main app's SignalRService to invoke when backend file generation finishes. Automatically refreshes list and displays a premium UI snackbar/notification.
-
openFile(
DownloadItem item) → void -
pause(
DownloadItem item) → void -
refresh(
) → void -
inherited
-
refreshGroup(
Object id) → void -
inherited
-
removeListener(
VoidCallback listener) → void -
Remove a previously registered closure from the list of closures that the
object notifies.
inherited
-
removeListenerId(
Object id, VoidCallback listener) → void -
inherited
-
resume(
DownloadItem item) → void -
retryItem(
DownloadItem item) → Future< void> -
toString(
) → String -
A string representation of this object.
inherited
-
update(
[List< Object> ? ids, bool condition = true]) → void -
Rebuilds
GetBuildereach time you callupdate(); Can take a List ofids, that will only update the matchingGetBuilder( id: ),idscan be reused amongGetBuilderslike group tags. The update will only notify the Widgets, ifconditionis true.inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited