ActivityTransitionCoordinator: Fix memory leak of ResultReceiver

The ActivityTransitionCoordinator is retained by reference from native code.
The coordinator refers to a app's listener which can cause leak.

b/16737906

Change-Id: Ibbb85480b852442f95b00a8d3beff0161bdadb47
diff --git a/core/java/android/app/ActivityTransitionCoordinator.java b/core/java/android/app/ActivityTransitionCoordinator.java
index b3046b5..75af2df 100644
--- a/core/java/android/app/ActivityTransitionCoordinator.java
+++ b/core/java/android/app/ActivityTransitionCoordinator.java
@@ -196,7 +196,7 @@
     final protected ArrayList<View> mSharedElements = new ArrayList<View>();
     final protected ArrayList<String> mSharedElementNames = new ArrayList<String>();
     final protected ArrayList<View> mTransitioningViews = new ArrayList<View>();
-    final protected SharedElementListener mListener;
+    protected SharedElementListener mListener;
     protected ResultReceiver mResultReceiver;
     final private FixedEpicenterCallback mEpicenterCallback = new FixedEpicenterCallback();
     final protected boolean mIsReturning;
@@ -564,6 +564,7 @@
         mTransitioningViews.clear();
         mResultReceiver = null;
         mPendingTransition = null;
+        mListener = null;
     }
 
     protected long getFadeDuration() {