MTP: Add try/finally handling to finalize overrides
Change-Id: I23c481d6214ed5f045f903845632c07c11bb42a3
Signed-off-by: Mike Lockwood <lockwood@android.com>
diff --git a/media/java/android/media/MtpClient.java b/media/java/android/media/MtpClient.java
index 1aebcb8..f7c0ce2 100644
--- a/media/java/android/media/MtpClient.java
+++ b/media/java/android/media/MtpClient.java
@@ -41,8 +41,12 @@
}
@Override
- protected void finalize() {
- native_finalize();
+ protected void finalize() throws Throwable {
+ try {
+ native_finalize();
+ } finally {
+ super.finalize();
+ }
}
public boolean start() {
diff --git a/media/java/android/media/MtpCursor.java b/media/java/android/media/MtpCursor.java
index 6ecfd0d..d4142d8 100644
--- a/media/java/android/media/MtpCursor.java
+++ b/media/java/android/media/MtpCursor.java
@@ -97,7 +97,11 @@
@Override
protected void finalize() {
- native_finalize();
+ try {
+ native_finalize();
+ } finally {
+ super.finalize();
+ }
}
@Override
diff --git a/media/java/android/media/MtpDatabase.java b/media/java/android/media/MtpDatabase.java
index 7e0d390..1ea7e91 100644
--- a/media/java/android/media/MtpDatabase.java
+++ b/media/java/android/media/MtpDatabase.java
@@ -86,8 +86,13 @@
}
@Override
- protected void finalize() {
- native_finalize();
+ protected void finalize() throws Throwable {
+ try {
+ native_finalize();
+ mDevicePropDb.close();
+ } finally {
+ super.finalize();
+ }
}
private int beginSendObject(String path, int format, int parent,
diff --git a/media/java/android/media/MtpServer.java b/media/java/android/media/MtpServer.java
index b0945a5..dcf08e2 100644
--- a/media/java/android/media/MtpServer.java
+++ b/media/java/android/media/MtpServer.java
@@ -35,8 +35,12 @@
}
@Override
- protected void finalize() {
- native_finalize();
+ protected void finalize() throws Throwable {
+ try {
+ native_finalize();
+ } finally {
+ super.finalize();
+ }
}
public void start() {