diff options
24 files changed, 104 insertions, 27 deletions
diff --git a/core/java/android/content/ContentProviderClient.java b/core/java/android/content/ContentProviderClient.java index a04a7b25d3b1..f8c139feaae3 100644 --- a/core/java/android/content/ContentProviderClient.java +++ b/core/java/android/content/ContentProviderClient.java @@ -524,7 +524,10 @@ public class ContentProviderClient implements AutoCloseable { @Override protected void finalize() throws Throwable { try { - mCloseGuard.warnIfOpen(); + if (mCloseGuard != null) { + mCloseGuard.warnIfOpen(); + } + close(); } finally { super.finalize(); @@ -579,7 +582,10 @@ public class ContentProviderClient implements AutoCloseable { @Override protected void finalize() throws Throwable { try { - mCloseGuard.warnIfOpen(); + if (mCloseGuard != null) { + mCloseGuard.warnIfOpen(); + } + close(); } finally { super.finalize(); diff --git a/core/java/android/content/ContentResolver.java b/core/java/android/content/ContentResolver.java index 98ae132d9ed7..69cd99c41b14 100644 --- a/core/java/android/content/ContentResolver.java +++ b/core/java/android/content/ContentResolver.java @@ -2942,7 +2942,10 @@ public abstract class ContentResolver { @Override protected void finalize() throws Throwable { try { - mCloseGuard.warnIfOpen(); + if (mCloseGuard != null) { + mCloseGuard.warnIfOpen(); + } + close(); } finally { super.finalize(); diff --git a/core/java/android/hardware/SensorDirectChannel.java b/core/java/android/hardware/SensorDirectChannel.java index a65d57daa12c..2c499b01faab 100644 --- a/core/java/android/hardware/SensorDirectChannel.java +++ b/core/java/android/hardware/SensorDirectChannel.java @@ -152,7 +152,10 @@ public final class SensorDirectChannel implements AutoCloseable { @Override protected void finalize() throws Throwable { try { - mCloseGuard.warnIfOpen(); + if (mCloseGuard != null) { + mCloseGuard.warnIfOpen(); + } + close(); } finally { super.finalize(); diff --git a/core/java/android/hardware/usb/UsbDeviceConnection.java b/core/java/android/hardware/usb/UsbDeviceConnection.java index ffd6ec32fccc..1bf2137885b2 100644 --- a/core/java/android/hardware/usb/UsbDeviceConnection.java +++ b/core/java/android/hardware/usb/UsbDeviceConnection.java @@ -332,7 +332,9 @@ public class UsbDeviceConnection { @Override protected void finalize() throws Throwable { try { - mCloseGuard.warnIfOpen(); + if (mCloseGuard != null) { + mCloseGuard.warnIfOpen(); + } } finally { super.finalize(); } diff --git a/core/java/android/hardware/usb/UsbRequest.java b/core/java/android/hardware/usb/UsbRequest.java index badb344aabad..61637e964a08 100644 --- a/core/java/android/hardware/usb/UsbRequest.java +++ b/core/java/android/hardware/usb/UsbRequest.java @@ -114,7 +114,10 @@ public class UsbRequest { @Override protected void finalize() throws Throwable { try { - mCloseGuard.warnIfOpen(); + if (mCloseGuard != null) { + mCloseGuard.warnIfOpen(); + } + close(); } finally { super.finalize(); diff --git a/core/java/android/util/MemoryIntArray.java b/core/java/android/util/MemoryIntArray.java index 749cf08c8396..b3fe8a866653 100644 --- a/core/java/android/util/MemoryIntArray.java +++ b/core/java/android/util/MemoryIntArray.java @@ -158,7 +158,10 @@ public final class MemoryIntArray implements Parcelable, Closeable { @Override protected void finalize() throws Throwable { try { - mCloseGuard.warnIfOpen(); + if (mCloseGuard != null) { + mCloseGuard.warnIfOpen(); + } + IoUtils.closeQuietly(this); } finally { super.finalize(); diff --git a/drm/java/android/drm/DrmManagerClient.java b/drm/java/android/drm/DrmManagerClient.java index 5973d3e33323..76eab4a7905a 100644 --- a/drm/java/android/drm/DrmManagerClient.java +++ b/drm/java/android/drm/DrmManagerClient.java @@ -262,7 +262,10 @@ public class DrmManagerClient implements AutoCloseable { @Override protected void finalize() throws Throwable { try { - mCloseGuard.warnIfOpen(); + if (mCloseGuard != null) { + mCloseGuard.warnIfOpen(); + } + close(); } finally { super.finalize(); diff --git a/graphics/java/android/graphics/pdf/PdfDocument.java b/graphics/java/android/graphics/pdf/PdfDocument.java index d60343658ee3..1b8336f54637 100644 --- a/graphics/java/android/graphics/pdf/PdfDocument.java +++ b/graphics/java/android/graphics/pdf/PdfDocument.java @@ -202,7 +202,10 @@ public class PdfDocument { @Override protected void finalize() throws Throwable { try { - mCloseGuard.warnIfOpen(); + if (mCloseGuard != null) { + mCloseGuard.warnIfOpen(); + } + dispose(); } finally { super.finalize(); diff --git a/graphics/java/android/graphics/pdf/PdfEditor.java b/graphics/java/android/graphics/pdf/PdfEditor.java index cd1f8de6ee0f..245d76917453 100644 --- a/graphics/java/android/graphics/pdf/PdfEditor.java +++ b/graphics/java/android/graphics/pdf/PdfEditor.java @@ -270,7 +270,10 @@ public final class PdfEditor { @Override protected void finalize() throws Throwable { try { - mCloseGuard.warnIfOpen(); + if (mCloseGuard != null) { + mCloseGuard.warnIfOpen(); + } + if (mInput != null) { doClose(); } diff --git a/graphics/java/android/graphics/pdf/PdfRenderer.java b/graphics/java/android/graphics/pdf/PdfRenderer.java index 7b7a2909b36d..b7b81aef36fd 100644 --- a/graphics/java/android/graphics/pdf/PdfRenderer.java +++ b/graphics/java/android/graphics/pdf/PdfRenderer.java @@ -230,7 +230,10 @@ public final class PdfRenderer implements AutoCloseable { @Override protected void finalize() throws Throwable { try { - mCloseGuard.warnIfOpen(); + if (mCloseGuard != null) { + mCloseGuard.warnIfOpen(); + } + if (mInput != null) { doClose(); } @@ -444,7 +447,10 @@ public final class PdfRenderer implements AutoCloseable { @Override protected void finalize() throws Throwable { try { - mCloseGuard.warnIfOpen(); + if (mCloseGuard != null) { + mCloseGuard.warnIfOpen(); + } + if (mNativePage != 0) { doClose(); } diff --git a/media/java/android/media/MediaScanner.java b/media/java/android/media/MediaScanner.java index ddfa0258ab9a..cb4e46fe945a 100644 --- a/media/java/android/media/MediaScanner.java +++ b/media/java/android/media/MediaScanner.java @@ -1958,7 +1958,10 @@ public class MediaScanner implements AutoCloseable { @Override protected void finalize() throws Throwable { try { - mCloseGuard.warnIfOpen(); + if (mCloseGuard != null) { + mCloseGuard.warnIfOpen(); + } + close(); } finally { super.finalize(); diff --git a/media/java/android/media/midi/MidiDevice.java b/media/java/android/media/midi/MidiDevice.java index f7dd0b312426..a99573692664 100644 --- a/media/java/android/media/midi/MidiDevice.java +++ b/media/java/android/media/midi/MidiDevice.java @@ -103,7 +103,10 @@ public final class MidiDevice implements Closeable { @Override protected void finalize() throws Throwable { try { - mGuard.warnIfOpen(); + if (mGuard != null) { + mGuard.warnIfOpen(); + } + close(); } finally { super.finalize(); @@ -285,7 +288,10 @@ public final class MidiDevice implements Closeable { @Override protected void finalize() throws Throwable { try { - mGuard.warnIfOpen(); + if (mGuard != null) { + mGuard.warnIfOpen(); + } + close(); } finally { super.finalize(); diff --git a/media/java/android/media/midi/MidiDeviceServer.java b/media/java/android/media/midi/MidiDeviceServer.java index eaa86542ca27..51d552066bc6 100644 --- a/media/java/android/media/midi/MidiDeviceServer.java +++ b/media/java/android/media/midi/MidiDeviceServer.java @@ -429,7 +429,10 @@ public final class MidiDeviceServer implements Closeable { @Override protected void finalize() throws Throwable { try { - mGuard.warnIfOpen(); + if (mGuard != null) { + mGuard.warnIfOpen(); + } + close(); } finally { super.finalize(); diff --git a/media/java/android/media/midi/MidiInputPort.java b/media/java/android/media/midi/MidiInputPort.java index 98ec7795262c..a300886ea7c1 100644 --- a/media/java/android/media/midi/MidiInputPort.java +++ b/media/java/android/media/midi/MidiInputPort.java @@ -159,7 +159,10 @@ public final class MidiInputPort extends MidiReceiver implements Closeable { @Override protected void finalize() throws Throwable { try { - mGuard.warnIfOpen(); + if (mGuard != null) { + mGuard.warnIfOpen(); + } + // not safe to make binder calls from finalize() mDeviceServer = null; close(); diff --git a/media/java/android/media/midi/MidiOutputPort.java b/media/java/android/media/midi/MidiOutputPort.java index ce0402c2465b..511f6cd51917 100644 --- a/media/java/android/media/midi/MidiOutputPort.java +++ b/media/java/android/media/midi/MidiOutputPort.java @@ -145,7 +145,10 @@ public final class MidiOutputPort extends MidiSender implements Closeable { @Override protected void finalize() throws Throwable { try { - mGuard.warnIfOpen(); + if (mGuard != null) { + mGuard.warnIfOpen(); + } + // not safe to make binder calls from finalize() mDeviceServer = null; close(); diff --git a/media/java/android/mtp/MtpDatabase.java b/media/java/android/mtp/MtpDatabase.java index 56a573736c31..698c9c96fe01 100755 --- a/media/java/android/mtp/MtpDatabase.java +++ b/media/java/android/mtp/MtpDatabase.java @@ -233,7 +233,10 @@ public class MtpDatabase implements AutoCloseable { @Override protected void finalize() throws Throwable { try { - mCloseGuard.warnIfOpen(); + if (mCloseGuard != null) { + mCloseGuard.warnIfOpen(); + } + close(); } finally { super.finalize(); diff --git a/media/java/android/mtp/MtpDevice.java b/media/java/android/mtp/MtpDevice.java index d6958b324ca3..e8b04edb2e1b 100644 --- a/media/java/android/mtp/MtpDevice.java +++ b/media/java/android/mtp/MtpDevice.java @@ -123,7 +123,10 @@ public final class MtpDevice { @Override protected void finalize() throws Throwable { try { - mCloseGuard.warnIfOpen(); + if (mCloseGuard != null) { + mCloseGuard.warnIfOpen(); + } + close(); } finally { super.finalize(); diff --git a/packages/PrintSpooler/src/com/android/printspooler/model/PageContentRepository.java b/packages/PrintSpooler/src/com/android/printspooler/model/PageContentRepository.java index 6140428d353f..653a45351691 100644 --- a/packages/PrintSpooler/src/com/android/printspooler/model/PageContentRepository.java +++ b/packages/PrintSpooler/src/com/android/printspooler/model/PageContentRepository.java @@ -171,8 +171,11 @@ public final class PageContentRepository { @Override protected void finalize() throws Throwable { try { - if (mState != STATE_DESTROYED) { + if (mCloseGuard != null) { mCloseGuard.warnIfOpen(); + } + + if (mState != STATE_DESTROYED) { destroy(null); } } finally { diff --git a/packages/PrintSpooler/src/com/android/printspooler/ui/PageAdapter.java b/packages/PrintSpooler/src/com/android/printspooler/ui/PageAdapter.java index 54400b3b8540..e172948fffd6 100644 --- a/packages/PrintSpooler/src/com/android/printspooler/ui/PageAdapter.java +++ b/packages/PrintSpooler/src/com/android/printspooler/ui/PageAdapter.java @@ -552,8 +552,11 @@ public final class PageAdapter extends Adapter<ViewHolder> { @Override protected void finalize() throws Throwable { try { - if (mState != STATE_DESTROYED) { + if (mCloseGuard != null) { mCloseGuard.warnIfOpen(); + } + + if (mState != STATE_DESTROYED) { destroy(null); } } finally { diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 9e275a8521fb..1415819a6aad 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -22055,7 +22055,10 @@ Slog.v(TAG, ":: stepped forward, applying functor at tag " + parser.getName()); @Override protected void finalize() throws Throwable { try { - mCloseGuard.warnIfOpen(); + if (mCloseGuard != null) { + mCloseGuard.warnIfOpen(); + } + close(); } finally { super.finalize(); diff --git a/services/core/java/com/android/server/tv/UinputBridge.java b/services/core/java/com/android/server/tv/UinputBridge.java index f91033281ef8..1a984f98051f 100644 --- a/services/core/java/com/android/server/tv/UinputBridge.java +++ b/services/core/java/com/android/server/tv/UinputBridge.java @@ -63,7 +63,7 @@ public final class UinputBridge { @Override protected void finalize() throws Throwable { try { - if (mPtr != 0) { + if (mCloseGuard != null) { mCloseGuard.warnIfOpen(); } close(mToken); diff --git a/tests/UsbHostExternalManagmentTest/UsbHostExternalManagmentTestApp/src/com/android/hardware/usb/externalmanagementtest/UsbDeviceStateController.java b/tests/UsbHostExternalManagmentTest/UsbHostExternalManagmentTestApp/src/com/android/hardware/usb/externalmanagementtest/UsbDeviceStateController.java index 1cb394e4d2ab..42f7955bee98 100644 --- a/tests/UsbHostExternalManagmentTest/UsbHostExternalManagmentTestApp/src/com/android/hardware/usb/externalmanagementtest/UsbDeviceStateController.java +++ b/tests/UsbHostExternalManagmentTest/UsbHostExternalManagmentTestApp/src/com/android/hardware/usb/externalmanagementtest/UsbDeviceStateController.java @@ -89,7 +89,10 @@ public class UsbDeviceStateController { @Override protected void finalize() throws Throwable { try { - mCloseGuard.warnIfOpen(); + if (mCloseGuard != null) { + mCloseGuard.warnIfOpen(); + } + release(); } finally { super.finalize(); diff --git a/wifi/java/android/net/wifi/aware/DiscoverySession.java b/wifi/java/android/net/wifi/aware/DiscoverySession.java index 82b3792a331c..31f01bd12baf 100644 --- a/wifi/java/android/net/wifi/aware/DiscoverySession.java +++ b/wifi/java/android/net/wifi/aware/DiscoverySession.java @@ -128,8 +128,11 @@ public class DiscoverySession { @Override protected void finalize() throws Throwable { try { - if (!mTerminated) { + if (mCloseGuard != null) { mCloseGuard.warnIfOpen(); + } + + if (!mTerminated) { destroy(); } } finally { diff --git a/wifi/java/android/net/wifi/aware/WifiAwareSession.java b/wifi/java/android/net/wifi/aware/WifiAwareSession.java index 895defb9a540..443db0c6a805 100644 --- a/wifi/java/android/net/wifi/aware/WifiAwareSession.java +++ b/wifi/java/android/net/wifi/aware/WifiAwareSession.java @@ -82,8 +82,11 @@ public class WifiAwareSession { @Override protected void finalize() throws Throwable { try { - if (!mTerminated) { + if (mCloseGuard != null) { mCloseGuard.warnIfOpen(); + } + + if (!mTerminated) { destroy(); } } finally { |