@@ -489,24 +489,33 @@ private void removeOnProgressListener(
489
489
}
490
490
491
491
void setResult (@ Nullable LoadBundleTaskProgress result ) {
492
+ synchronized (lock ) {
493
+ snapshot = result ;
494
+ for (ManagedListener progressListener : progressListenerQueue ) {
495
+ progressListener .maybeRun (result );
496
+ }
497
+ progressListenerQueue .clear ();
498
+ }
492
499
completionSource .setResult (result );
493
- updateProgress (result );
494
- progressListenerQueue .clear ();
495
500
}
496
501
497
502
void setException (@ NonNull Exception exception ) {
498
- LoadBundleTaskProgress lastSnapshot ;
499
503
synchronized (lock ) {
500
- lastSnapshot = snapshot != null ? snapshot : LoadBundleTaskProgress .INITIAL ;
504
+ LoadBundleTaskProgress lastSnapshot =
505
+ snapshot != null ? snapshot : LoadBundleTaskProgress .INITIAL ;
506
+ snapshot =
507
+ new LoadBundleTaskProgress (
508
+ lastSnapshot .getDocumentsLoaded (),
509
+ lastSnapshot .getTotalDocuments (),
510
+ lastSnapshot .getBytesLoaded (),
511
+ lastSnapshot .getTotalBytes (),
512
+ exception ,
513
+ LoadBundleTaskProgress .TaskState .ERROR );
514
+ for (ManagedListener progressListener : progressListenerQueue ) {
515
+ progressListener .maybeRun (this .snapshot );
516
+ }
517
+ progressListenerQueue .clear ();
501
518
}
502
- updateProgress (
503
- new LoadBundleTaskProgress (
504
- lastSnapshot .getDocumentsLoaded (),
505
- lastSnapshot .getTotalDocuments (),
506
- lastSnapshot .getBytesLoaded (),
507
- lastSnapshot .getTotalBytes (),
508
- exception ,
509
- LoadBundleTaskProgress .TaskState .ERROR ));
510
519
completionSource .setException (exception );
511
520
}
512
521
0 commit comments