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

View File

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