@@ -6,6 +6,9 @@ namespace Extensions.Unity.ImageLoader.Tests.Utils
6
6
{
7
7
public partial class FutureListener < T >
8
8
{
9
+ static uint idCounter = 0 ;
10
+
11
+ uint id = idCounter ++ ;
9
12
List < EventData > events = new List < EventData > ( ) ;
10
13
11
14
public IReadOnlyList < EventData > Events
@@ -23,63 +26,53 @@ public FutureListener(IFuture<T> future, bool ignoreLoadingWhenLoaded = false, b
23
26
logLevel = ImageLoader . settings . debugLevel ;
24
27
25
28
if ( logLevel . Value . IsActive ( DebugLevel . Trace ) )
26
- Debug . Log ( $ "[FutureListener] Future[id={ future . Id } ] Created") ;
29
+ Debug . Log ( $ "[FutureListener id= { id } ] Future[id={ future . Id } ] Created. FutureStatus: { future . Status } ") ;
27
30
future . LoadedFromMemoryCache ( value =>
28
31
{
29
32
if ( logLevel . Value . IsActive ( DebugLevel . Trace ) )
30
- Debug . Log ( $ "[FutureListener] Future[id={ future . Id } ] LoadedFromMemoryCache: { value } ") ;
33
+ Debug . Log ( $ "[FutureListener id= { id } ] Future[id={ future . Id } ] LoadedFromMemoryCache: { value } ") ;
31
34
lock ( events )
32
35
events . Add ( new EventData { name = EventName . LoadedFromMemoryCache , value = value } ) ;
33
36
} ) ;
34
37
future . LoadingFromDiskCache ( ( ) =>
35
38
{
36
39
if ( logLevel . Value . IsActive ( DebugLevel . Trace ) )
37
- Debug . Log ( $ "[FutureListener] Future[id={ future . Id } ] LoadingFromDiskCache") ;
40
+ Debug . Log ( $ "[FutureListener id= { id } ] Future[id={ future . Id } ] LoadingFromDiskCache") ;
38
41
lock ( events )
39
42
events . Add ( new EventData { name = EventName . LoadingFromDiskCache } ) ;
40
43
} , ignoreWhenLoaded : ignoreLoadingWhenLoaded ) ;
41
44
future . LoadedFromDiskCache ( value =>
42
45
{
43
46
if ( logLevel . Value . IsActive ( DebugLevel . Trace ) )
44
- Debug . Log ( $ "[FutureListener] Future[id={ future . Id } ] LoadedFromDiskCache: { value } ") ;
47
+ Debug . Log ( $ "[FutureListener id= { id } ] Future[id={ future . Id } ] LoadedFromDiskCache: { value } ") ;
45
48
lock ( events )
46
49
events . Add ( new EventData { name = EventName . LoadedFromDiskCache , value = value } ) ;
47
50
} ) ;
48
51
future . LoadingFromSource ( ( ) =>
49
52
{
50
53
if ( logLevel . Value . IsActive ( DebugLevel . Trace ) )
51
- Debug . Log ( $ "[FutureListener] Future[id={ future . Id } ] LoadingFromSource") ;
54
+ Debug . Log ( $ "[FutureListener id= { id } ] Future[id={ future . Id } ] LoadingFromSource") ;
52
55
lock ( events )
53
56
events . Add ( new EventData { name = EventName . LoadingFromSource } ) ;
54
57
} , ignoreWhenLoaded : ignoreLoadingWhenLoaded ) ;
55
58
future . LoadedFromSource ( value =>
56
59
{
57
60
if ( logLevel . Value . IsActive ( DebugLevel . Trace ) )
58
- Debug . Log ( $ "[FutureListener] Future[id={ future . Id } ] LoadedFromSource: { value } ") ;
61
+ Debug . Log ( $ "[FutureListener id= { id } ] Future[id={ future . Id } ] LoadedFromSource: { value } ") ;
59
62
lock ( events )
60
63
events . Add ( new EventData { name = EventName . LoadedFromSource , value = value } ) ;
61
64
} ) ;
62
65
future . Loaded ( value =>
63
66
{
64
67
if ( logLevel . Value . IsActive ( DebugLevel . Trace ) )
65
- Debug . Log ( $ "[FutureListener] Future[id={ future . Id } ] Loaded: { value } ") ;
68
+ Debug . Log ( $ "[FutureListener id= { id } ] Future[id={ future . Id } ] Loaded: { value } ") ;
66
69
lock ( events )
67
70
events . Add ( new EventData { name = EventName . Loaded , value = value } ) ;
68
71
} ) ;
69
- if ( ! ignorePlaceholder )
70
- {
71
- future . Consume ( value =>
72
- {
73
- if ( logLevel . Value . IsActive ( DebugLevel . Trace ) )
74
- Debug . Log ( $ "[FutureListener] Future[id={ future . Id } ] Consume: { value } ") ;
75
- lock ( events )
76
- events . Add ( new EventData { name = EventName . Consumed , value = value } ) ;
77
- } ) ;
78
- }
79
72
future . Failed ( exception =>
80
73
{
81
74
if ( logLevel . Value . IsActive ( DebugLevel . Trace ) )
82
- Debug . Log ( $ "[FutureListener] Future[id={ future . Id } ] Failed: { exception } ") ;
75
+ Debug . Log ( $ "[FutureListener id= { id } ] Future[id={ future . Id } ] Failed: { exception } ") ;
83
76
lock ( events )
84
77
events . Add ( new EventData { name = EventName . Failed , value = exception } ) ;
85
78
} ) ;
@@ -88,15 +81,25 @@ public FutureListener(IFuture<T> future, bool ignoreLoadingWhenLoaded = false, b
88
81
future . Canceled ( ( ) =>
89
82
{
90
83
if ( logLevel . Value . IsActive ( DebugLevel . Trace ) )
91
- Debug . Log ( $ "[FutureListener] Future[id={ future . Id } ] Canceled") ;
84
+ Debug . Log ( $ "[FutureListener id= { id } ] Future[id={ future . Id } ] Canceled") ;
92
85
lock ( events )
93
86
events . Add ( new EventData { name = EventName . Canceled } ) ;
94
87
} ) ;
95
88
}
89
+ if ( ! ignorePlaceholder )
90
+ {
91
+ future . Consume ( value =>
92
+ {
93
+ if ( logLevel . Value . IsActive ( DebugLevel . Trace ) )
94
+ Debug . Log ( $ "[FutureListener id={ id } ] Future[id={ future . Id } ] Consume: { value } ") ;
95
+ lock ( events )
96
+ events . Add ( new EventData { name = EventName . Consumed , value = value } ) ;
97
+ } ) ;
98
+ }
96
99
future . Completed ( value =>
97
100
{
98
101
if ( logLevel . Value . IsActive ( DebugLevel . Trace ) )
99
- Debug . Log ( $ "[FutureListener] Future[id={ future . Id } ] Completed: { value } ") ;
102
+ Debug . Log ( $ "[FutureListener id= { id } ] Future[id={ future . Id } ] Completed: { value } ") ;
100
103
lock ( events )
101
104
events . Add ( new EventData { name = EventName . Completed , value = value } ) ;
102
105
} ) ;
0 commit comments