Annotate more Transition APIs

Test: Existing tests
Change-Id: I4902c2edf5b6f4abaf242d6ef5af4885b1d8c650
diff --git a/samples/SupportTransitionDemos/src/com/example/android/support/transition/widget/ExplodeUsage.java b/samples/SupportTransitionDemos/src/com/example/android/support/transition/widget/ExplodeUsage.java
index a9096e0..a8ea703 100644
--- a/samples/SupportTransitionDemos/src/com/example/android/support/transition/widget/ExplodeUsage.java
+++ b/samples/SupportTransitionDemos/src/com/example/android/support/transition/widget/ExplodeUsage.java
@@ -18,6 +18,7 @@
 
 import android.graphics.Rect;
 import android.os.Bundle;
+import android.support.annotation.NonNull;
 import android.support.transition.Explode;
 import android.support.transition.Transition;
 import android.support.transition.TransitionManager;
@@ -49,7 +50,7 @@
         super.onCreate(savedInstanceState);
         mExplode.setEpicenterCallback(new Transition.EpicenterCallback() {
             @Override
-            public Rect onGetEpicenter(Transition transition) {
+            public Rect onGetEpicenter(@NonNull Transition transition) {
                 return mRect;
             }
         });
diff --git a/transition/src/android/support/transition/Transition.java b/transition/src/android/support/transition/Transition.java
index 369a3e3..c6eeb9c 100644
--- a/transition/src/android/support/transition/Transition.java
+++ b/transition/src/android/support/transition/Transition.java
@@ -2036,7 +2036,7 @@
      * @see PatternPathMotion
      * @see android.transition.PathMotion
      */
-    public void setPathMotion(PathMotion pathMotion) {
+    public void setPathMotion(@Nullable PathMotion pathMotion) {
         if (pathMotion == null) {
             mPathMotion = STRAIGHT_PATH_MOTION;
         } else {
@@ -2053,6 +2053,7 @@
      * @see PatternPathMotion
      * @see android.transition.PathMotion
      */
+    @Nullable
     public PathMotion getPathMotion() {
         return mPathMotion;
     }
@@ -2114,7 +2115,7 @@
      *                              Animators created by this Transition. A null value
      *                              indicates that no delay should be used.
      */
-    public void setPropagation(TransitionPropagation transitionPropagation) {
+    public void setPropagation(@Nullable TransitionPropagation transitionPropagation) {
         mPropagation = transitionPropagation;
     }
 
@@ -2130,6 +2131,7 @@
      * @return the {@link android.transition.TransitionPropagation} used to calculate Animator start
      * delays. This is null by default.
      */
+    @Nullable
     public TransitionPropagation getPropagation() {
         return mPropagation;
     }
@@ -2425,7 +2427,7 @@
          * @return The Rect region of the epicenter of <code>transition</code> or null if
          * there is no epicenter.
          */
-        public abstract Rect onGetEpicenter(Transition transition);
+        public abstract Rect onGetEpicenter(@NonNull Transition transition);
     }
 
 }
diff --git a/transition/tests/src/android/support/transition/PropagationTest.java b/transition/tests/src/android/support/transition/PropagationTest.java
index 3d57998..932c8d3 100644
--- a/transition/tests/src/android/support/transition/PropagationTest.java
+++ b/transition/tests/src/android/support/transition/PropagationTest.java
@@ -17,9 +17,11 @@
 package android.support.transition;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
 import android.graphics.Rect;
+import android.support.annotation.NonNull;
 import android.support.test.filters.MediumTest;
 import android.support.transition.test.R;
 import android.view.View;
@@ -58,7 +60,7 @@
 
         mTransition.setEpicenterCallback(new Transition.EpicenterCallback() {
             @Override
-            public Rect onGetEpicenter(Transition transition) {
+            public Rect onGetEpicenter(@NonNull Transition transition) {
                 return new Rect(0, 0, redValues.view.getWidth(), redValues.view.getHeight());
             }
         });
@@ -83,14 +85,17 @@
     private TransitionValues capturePropagationValues(int viewId) {
         TransitionValues transitionValues = new TransitionValues();
         transitionValues.view = mRoot.findViewById(viewId);
-        mTransition.getPropagation().captureValues(transitionValues);
+        TransitionPropagation propagation = mTransition.getPropagation();
+        assertNotNull(propagation);
+        propagation.captureValues(transitionValues);
         return transitionValues;
     }
 
     private long getDelay(int viewId) {
         TransitionValues transitionValues = capturePropagationValues(viewId);
-        return mTransition.getPropagation()
-                .getStartDelay(mRoot, mTransition, transitionValues, null);
+        TransitionPropagation propagation = mTransition.getPropagation();
+        assertNotNull(propagation);
+        return propagation.getStartDelay(mRoot, mTransition, transitionValues, null);
     }
 
 }
diff --git a/transition/tests/src/android/support/transition/TransitionTest.java b/transition/tests/src/android/support/transition/TransitionTest.java
index 361c4e0..0808186 100644
--- a/transition/tests/src/android/support/transition/TransitionTest.java
+++ b/transition/tests/src/android/support/transition/TransitionTest.java
@@ -299,7 +299,7 @@
             private Rect mRect = new Rect();
 
             @Override
-            public Rect onGetEpicenter(Transition t) {
+            public Rect onGetEpicenter(@NonNull Transition t) {
                 assertThat(t, is(sameInstance(transition)));
                 mRect.set(1, 2, 3, 4);
                 return mRect;