Merge "Fix improper use of CloseGuard." into jb-mr1-dev

This commit is contained in:
Jeff Brown
2012-08-27 17:21:12 -07:00
committed by Android (Google) Code Review
2 changed files with 18 additions and 2 deletions

View File

@@ -66,7 +66,7 @@ public abstract class DisplayEventReceiver {
@Override @Override
protected void finalize() throws Throwable { protected void finalize() throws Throwable {
try { try {
dispose(); dispose(true);
} finally { } finally {
super.finalize(); super.finalize();
} }
@@ -76,9 +76,17 @@ public abstract class DisplayEventReceiver {
* Disposes the receiver. * Disposes the receiver.
*/ */
public void dispose() { public void dispose() {
dispose(false);
}
private void dispose(boolean finalized) {
if (mCloseGuard != null) { if (mCloseGuard != null) {
if (finalized) {
mCloseGuard.warnIfOpen();
}
mCloseGuard.close(); mCloseGuard.close();
} }
if (mReceiverPtr != 0) { if (mReceiverPtr != 0) {
nativeDispose(mReceiverPtr); nativeDispose(mReceiverPtr);
mReceiverPtr = 0; mReceiverPtr = 0;

View File

@@ -73,7 +73,7 @@ public abstract class InputEventReceiver {
@Override @Override
protected void finalize() throws Throwable { protected void finalize() throws Throwable {
try { try {
dispose(); dispose(true);
} finally { } finally {
super.finalize(); super.finalize();
} }
@@ -83,9 +83,17 @@ public abstract class InputEventReceiver {
* Disposes the receiver. * Disposes the receiver.
*/ */
public void dispose() { public void dispose() {
dispose(false);
}
private void dispose(boolean finalized) {
if (mCloseGuard != null) { if (mCloseGuard != null) {
if (finalized) {
mCloseGuard.warnIfOpen();
}
mCloseGuard.close(); mCloseGuard.close();
} }
if (mReceiverPtr != 0) { if (mReceiverPtr != 0) {
nativeDispose(mReceiverPtr); nativeDispose(mReceiverPtr);
mReceiverPtr = 0; mReceiverPtr = 0;