@@ -39,13 +39,22 @@ private class ActivateScreen : Screen
3939 public int ActivateCalledCount { get ; private set ; }
4040 public bool AutoContinue { get ; set ; }
4141
42+ [ Obsolete ( "Please use OnActivatedAsync instead." ) ]
4243 protected override async Task OnActivateAsync ( CancellationToken cancellationToken )
4344 {
4445 ActivateCalledCount ++ ;
4546 await Task . Delay ( 100 , cancellationToken ) ;
4647 if ( AutoContinue )
4748 RequestContinue ? . Invoke ( this , EventArgs . Empty ) ;
4849 }
50+
51+ protected override async Task OnActivatedAsync ( CancellationToken cancellationToken )
52+ {
53+ ActivateCalledCount ++ ;
54+ await Task . Delay ( 100 , cancellationToken ) ;
55+ if ( AutoContinue )
56+ RequestContinue ? . Invoke ( this , EventArgs . Empty ) ;
57+ }
4958 }
5059
5160 private class ActivatedScreen : Screen
@@ -54,12 +63,12 @@ private class ActivatedScreen : Screen
5463
5564 public int ActivateCalledCount { get ; private set ; }
5665 public bool AutoContinue { get ; set ; }
57-
66+
5867 protected override async Task OnActivatedAsync ( CancellationToken cancellationToken )
5968 {
6069 ActivateCalledCount ++ ;
6170 await Task . Delay ( 100 , cancellationToken ) ;
62- if ( AutoContinue )
71+ if ( AutoContinue )
6372 RequestContinue ? . Invoke ( this , EventArgs . Empty ) ;
6473 }
6574 }
@@ -123,7 +132,7 @@ public async Task CanCloseIsTrueWhenItemsAreClosable()
123132 conductor . Items . Add ( conducted ) ;
124133
125134 await ( ( IActivate ) conductor ) . ActivateAsync ( CancellationToken . None ) ;
126- var canClose = await conductor . CanCloseAsync ( CancellationToken . None ) ;
135+ var canClose = await conductor . CanCloseAsync ( CancellationToken . None ) ;
127136
128137 Assert . True ( canClose ) ;
129138 Assert . False ( conducted . IsClosed ) ;
@@ -141,7 +150,7 @@ public async Task CanCloseIsTrueWhenItemsAreNotClosableAndCloseStrategyCloses()
141150 IsClosable = true
142151 } ;
143152 conductor . Items . Add ( conducted ) ;
144- await ( ( IActivate ) conductor ) . ActivateAsync ( CancellationToken . None ) ;
153+ await ( ( IActivate ) conductor ) . ActivateAsync ( CancellationToken . None ) ;
145154 var canClose = await conductor . CanCloseAsync ( CancellationToken . None ) ;
146155
147156 Assert . True ( canClose ) ;
@@ -166,17 +175,17 @@ public async Task ActivateWhileActivateOneLevel()
166175 var conductor = new Conductor < IScreen > . Collection . OneActive ( ) ;
167176 var viewModel1 = new ActivateScreen ( )
168177 {
169- DisplayName = "ViewModel 1" ,
178+ DisplayName = "ViewModel 1" ,
170179 AutoContinue = true
171180 } ;
172181 conductor . Items . Add ( viewModel1 ) ;
173182 var viewModel2 = new ActivateScreen ( ) { DisplayName = "ViewModel 2" } ;
174183 conductor . Items . Add ( viewModel2 ) ;
175184 viewModel1 . RequestContinue += ( sender , e ) => { conductor . ActivateItemAsync ( viewModel2 ) . Wait ( ) ; } ;
176-
185+
177186 await conductor . ActivateAsync ( ) ;
178187 await conductor . ActivateItemAsync ( viewModel1 ) ;
179-
188+
180189 Assert . False ( viewModel1 . IsActive ) ;
181190 Assert . Equal ( 1 , viewModel1 . ActivateCalledCount ) ;
182191 Assert . True ( viewModel2 . IsActive ) ;
@@ -189,17 +198,17 @@ public async Task ActivatedWhileActivatedOneLevel()
189198 var conductor = new Conductor < IScreen > . Collection . OneActive ( ) ;
190199 var viewModel1 = new ActivatedScreen ( )
191200 {
192- DisplayName = "ViewModel 1" ,
201+ DisplayName = "ViewModel 1" ,
193202 AutoContinue = true
194203 } ;
195204 conductor . Items . Add ( viewModel1 ) ;
196205 var viewModel2 = new ActivatedScreen ( ) { DisplayName = "ViewModel 2" } ;
197206 conductor . Items . Add ( viewModel2 ) ;
198207 viewModel1 . RequestContinue += ( sender , e ) => { conductor . ActivateItemAsync ( viewModel2 ) . Wait ( ) ; } ;
199-
208+
200209 await conductor . ActivateAsync ( ) ;
201210 await conductor . ActivateItemAsync ( viewModel1 ) ;
202-
211+
203212 Assert . False ( viewModel1 . IsActive ) ;
204213 Assert . Equal ( 1 , viewModel1 . ActivateCalledCount ) ;
205214 Assert . True ( viewModel2 . IsActive ) ;
@@ -223,7 +232,7 @@ public async Task ActivateWhileActivateStackedLevels()
223232 await outerConductor . ActivateAsync ( ) ;
224233 await outerConductor . ActivateItemAsync ( innerConductor ) ;
225234 await innerConductor . ActivateItemAsync ( viewModel1 ) ;
226-
235+
227236 await outerConductor . ChangeActiveItemAsyncPublic ( somePage , false ) ;
228237 Assert . True ( somePage . IsActive ) ;
229238 viewModel1 . AutoContinue = true ;
@@ -235,7 +244,7 @@ public async Task ActivateWhileActivateStackedLevels()
235244 Assert . True ( viewModel2 . IsActive ) ;
236245 Assert . Equal ( 1 , viewModel2 . ActivateCalledCount ) ;
237246 }
238-
247+
239248 [ Fact ( Skip = "ActiveItem currently set regardless of IsActive value. See http://caliburnmicro.codeplex.com/discussions/276375" ) ]
240249 public async Task ChildrenAreNotActivatedIfConductorIsNotActive ( )
241250 {
@@ -326,7 +335,7 @@ public async Task ActiveItemSetterShouldSetThePropertySynchronouslyWhenOnDeactiv
326335 conductor . Items . Add ( conducted1 ) ;
327336 var conducted2 = new Screen ( ) ;
328337 conductor . Items . Add ( conducted2 ) ;
329- await ( ( IActivate ) conductor ) . ActivateAsync ( CancellationToken . None ) ;
338+ await ( ( IActivate ) conductor ) . ActivateAsync ( CancellationToken . None ) ;
330339 conductor . ActiveItem = conducted1 ;
331340 conductor . ActiveItem = conducted2 ;
332341 Assert . NotNull ( conductor . ActiveItem ) ;
0 commit comments