| 
				
			 | 
			
			
				@@ -14,12 +14,12 @@ public class SharedElementsAnimator { 
			 | 
		
	
		
			
			| 
				14
			 | 
			
				14
			 | 
			
			
				         this.sharedElements = sharedElements; 
			 | 
		
	
		
			
			| 
				15
			 | 
			
				15
			 | 
			
			
				     } 
			 | 
		
	
		
			
			| 
				16
			 | 
			
				16
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				17
			 | 
			
				
			 | 
			
			
				-    public void show(final Runnable onAnimationEnd) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				17
			 | 
			
			
				+    public void show(final Runnable onAnimationStart, final Runnable onAnimationEnd) { 
			 | 
		
	
		
			
			| 
				18
			 | 
			
				18
			 | 
			
			
				         sharedElements.hideToElements(); 
			 | 
		
	
		
			
			| 
				19
			 | 
			
				19
			 | 
			
			
				         sharedElements.performWhenChildViewsAreDrawn(new Runnable()  { 
			 | 
		
	
		
			
			| 
				20
			 | 
			
				20
			 | 
			
			
				             @Override 
			 | 
		
	
		
			
			| 
				21
			 | 
			
				21
			 | 
			
			
				             public void run() { 
			 | 
		
	
		
			
			| 
				22
			 | 
			
				
			 | 
			
			
				-                final AnimatorSet animatorSet = createAnimatorSet(); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				22
			 | 
			
			
				+                final AnimatorSet animatorSet = createShowAnimators(); 
			 | 
		
	
		
			
			| 
				23
			 | 
			
				23
			 | 
			
			
				                 sharedElements.attachChildViewsToScreen(); 
			 | 
		
	
		
			
			| 
				24
			 | 
			
				24
			 | 
			
			
				                 sharedElements.showToElements(new Runnable() { 
			 | 
		
	
		
			
			| 
				25
			 | 
			
				25
			 | 
			
			
				                     @Override 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -30,10 +30,15 @@ public class SharedElementsAnimator { 
			 | 
		
	
		
			
			| 
				30
			 | 
			
				30
			 | 
			
			
				                 }); 
			 | 
		
	
		
			
			| 
				31
			 | 
			
				31
			 | 
			
			
				             } 
			 | 
		
	
		
			
			| 
				32
			 | 
			
				32
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				33
			 | 
			
				
			 | 
			
			
				-            private AnimatorSet createAnimatorSet() { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				33
			 | 
			
			
				+            private AnimatorSet createShowAnimators() { 
			 | 
		
	
		
			
			| 
				34
			 | 
			
				34
			 | 
			
			
				                 final AnimatorSet animatorSet = new AnimatorSet(); 
			 | 
		
	
		
			
			| 
				35
			 | 
			
				35
			 | 
			
			
				                 animatorSet.playTogether(createTransitionAnimators()); 
			 | 
		
	
		
			
			| 
				36
			 | 
			
				36
			 | 
			
			
				                 animatorSet.addListener(new AnimatorListenerAdapter() { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				37
			 | 
			
			
				+                    @Override 
			 | 
		
	
		
			
			| 
				
			 | 
			
				38
			 | 
			
			
				+                    public void onAnimationStart(Animator animation) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				39
			 | 
			
			
				+                        onAnimationStart.run(); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				40
			 | 
			
			
				+                    } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				41
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				37
			 | 
			
				42
			 | 
			
			
				                     @Override 
			 | 
		
	
		
			
			| 
				38
			 | 
			
				43
			 | 
			
			
				                     public void onAnimationEnd(Animator animation) { 
			 | 
		
	
		
			
			| 
				39
			 | 
			
				44
			 | 
			
			
				                         sharedElements.onShowAnimationEnd(); 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -60,10 +65,15 @@ public class SharedElementsAnimator { 
			 | 
		
	
		
			
			| 
				60
			 | 
			
				65
			 | 
			
			
				         }); 
			 | 
		
	
		
			
			| 
				61
			 | 
			
				66
			 | 
			
			
				     } 
			 | 
		
	
		
			
			| 
				62
			 | 
			
				67
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				63
			 | 
			
				
			 | 
			
			
				-    public void hide(final Runnable onAnimationEnd) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				68
			 | 
			
			
				+    public void hide(final Runnable onAnimationStart, final Runnable onAnimationEnd) { 
			 | 
		
	
		
			
			| 
				64
			 | 
			
				69
			 | 
			
			
				         AnimatorSet animatorSet = new AnimatorSet(); 
			 | 
		
	
		
			
			| 
				65
			 | 
			
				70
			 | 
			
			
				         animatorSet.playTogether(createHideTransitionAnimators()); 
			 | 
		
	
		
			
			| 
				66
			 | 
			
				71
			 | 
			
			
				         animatorSet.addListener(new AnimatorListenerAdapter() { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				72
			 | 
			
			
				+            @Override 
			 | 
		
	
		
			
			| 
				
			 | 
			
				73
			 | 
			
			
				+            public void onAnimationStart(Animator animation) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				74
			 | 
			
			
				+                onAnimationStart.run(); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				75
			 | 
			
			
				+            } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				76
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				67
			 | 
			
				77
			 | 
			
			
				             @Override 
			 | 
		
	
		
			
			| 
				68
			 | 
			
				78
			 | 
			
			
				             public void onAnimationEnd(Animator animation) { 
			 | 
		
	
		
			
			| 
				69
			 | 
			
				79
			 | 
			
			
				                 sharedElements.showToElements(); 
			 |