From e5a12e0ddb69e17d4760c77c05180c1bed987924 Mon Sep 17 00:00:00 2001 From: Wei Jia Date: Tue, 13 Aug 2019 16:23:35 -0700 Subject: [PATCH] Metadata: recycle Parcel Test: cts Bug: 139319531 Change-Id: Ica1a7333fc15869b16b55669c3ba001187670eb7 --- media/java/android/media/Metadata.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/media/java/android/media/Metadata.java b/media/java/android/media/Metadata.java index 792a2ba678fd7..be0d966fa075a 100644 --- a/media/java/android/media/Metadata.java +++ b/media/java/android/media/Metadata.java @@ -272,6 +272,15 @@ import java.util.TimeZone; @UnsupportedAppUsage public Metadata() { } + // Have to declare protected for finalize() since it is protected + // in the base class Object. + @Override + protected void finalize() throws Throwable { + if (mParcel != null) { + mParcel.recycle(); + } + } + /** * Go over all the records, collecting metadata keys and records' * type field offset in the Parcel. These are stored in @@ -418,6 +427,10 @@ import java.util.TimeZone; parcel.setDataPosition(pin); return false; } + + if (mParcel != null) { + mParcel.recycle(); + } mParcel = parcel; return true; }