DO NOT MERGE: Fix ION memory leak for camera2 testStillPreviewCombination tstcase

This test item will use ImageReader for receiving image buffer produced by Camera HAL1,
During tesing, ImageReaders can not be released for those surfaces are usually released
by finalizer( It seems like finalizer can't keep up the speed to configure_streams in
that test).

This patch release ImageReader's surface after new stream cofiguration configured.

Change-Id: Ie9fc94f10d77488f309fc966cb5d7eb3e50dc0d4
Signed-off-by: Junjie Hu <junjie.hu@mediatek.com>
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/testcases/Camera2SurfaceViewTestCase.java b/tests/tests/hardware/src/android/hardware/camera2/cts/testcases/Camera2SurfaceViewTestCase.java
old mode 100644
new mode 100755
index 00f7e1c..f2a9aee
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/testcases/Camera2SurfaceViewTestCase.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/testcases/Camera2SurfaceViewTestCase.java
@@ -96,6 +96,7 @@
     protected CameraCaptureSession mSession;
     protected ImageReader mReader;
     protected Surface mReaderSurface;
+    protected Surface mOldReaderSurface;
     protected Surface mPreviewSurface;
     protected Size mPreviewSize;
     protected List<Size> mOrderedPreviewSizes; // In descending order.
@@ -549,6 +550,8 @@
     protected void closeImageReader() {
         CameraTestUtils.closeImageReader(mReader);
         mReader = null;
+        Log.i(TAG,"mReaderSurface = " + mReaderSurface);
+        mOldReaderSurface = mReaderSurface;
         mReaderSurface = null;
     }
 
@@ -654,7 +657,11 @@
         outputSurfaces.add(mReaderSurface);
         mSessionListener = new BlockingSessionCallback();
         mSession = configureCameraSession(mCamera, outputSurfaces, mSessionListener, mHandler);
-
+        if (mOldReaderSurface != null) {
+            Log.i(TAG,"release mOldReaderSurface = " + mOldReaderSurface);
+            mOldReaderSurface.release();
+            mOldReaderSurface = null;
+        }
         // Configure the requests.
         previewRequest.addTarget(mPreviewSurface);
         stillRequest.addTarget(mPreviewSurface);