Fix memory leak in MediaScannerConnection

This patch adds releasing of MediaScannerConnection in ClientProxy
after disconnecting and releasing of ClientProxy and
IMediaScannerService in disconnection sequence in
MediaScannerConnection.

Bug: 30150344

Change-Id: I1e162e4c9a0b7a741ace20480bcf06f3151a93bf
diff --git a/media/java/android/media/MediaScannerConnection.java b/media/java/android/media/MediaScannerConnection.java
index d714672..471fa2c 100644
--- a/media/java/android/media/MediaScannerConnection.java
+++ b/media/java/android/media/MediaScannerConnection.java
@@ -133,6 +133,10 @@
                 }
                 try {
                     mContext.unbindService(this);
+                    if (mClient instanceof ClientProxy) {
+                        mClient = null;
+                    }
+                    mService = null;
                 } catch (IllegalArgumentException ex) {
                     if (false) {
                         Log.v(TAG, "disconnect failed: " + ex);
@@ -205,6 +209,7 @@
         void scanNextPath() {
             if (mNextPath >= mPaths.length) {
                 mConnection.disconnect();
+                mConnection = null;
                 return;
             }
             String mimeType = mMimeTypes != null ? mMimeTypes[mNextPath] : null;