API: Make close() throw an IOException.

IOException on close() can be useful to indicate that in-progress transactions
were canceled.

I also audited all of our tech classes to make sure every function that needs
to throw IOException does so.

Change-Id: Iaa9c43d79d59ff85772d5c3e4b4d57a6fa8df4cf
This commit is contained in:
Nick Pelly
2011-01-27 14:47:02 -08:00
parent 21d0a173f1
commit 3fcedf7728
4 changed files with 11 additions and 4 deletions

View File

@@ -101107,6 +101107,8 @@
deprecated="not deprecated"
visibility="public"
>
<exception name="IOException" type="java.io.IOException">
</exception>
</method>
<method name="connect"
return="void"
@@ -102205,6 +102207,8 @@
deprecated="not deprecated"
visibility="public"
>
<implements name="java.io.Closeable">
</implements>
<method name="close"
return="void"
abstract="true"
@@ -102215,6 +102219,8 @@
deprecated="not deprecated"
visibility="public"
>
<exception name="IOException" type="java.io.IOException">
</exception>
</method>
<method name="connect"
return="void"

View File

@@ -117,7 +117,7 @@ import java.io.IOException;
}
@Override
public void close() {
public void close() throws IOException {
try {
/* Note that we don't want to physically disconnect the tag,
* but just reconnect to it to reset its state

View File

@@ -92,7 +92,7 @@ public final class IsoDep extends BasicTagTechnology {
}
@Override
public void close() {
public void close() throws IOException {
try {
mTag.getTagService().resetIsoDepTimeout();
} catch (RemoteException e) {

View File

@@ -18,9 +18,10 @@ package android.nfc.tech;
import android.nfc.Tag;
import java.io.Closeable;
import java.io.IOException;
public interface TagTechnology {
public interface TagTechnology extends Closeable {
/**
* This technology is an instance of {@link NfcA}.
* <p>Support for this technology type is mandatory.
@@ -135,5 +136,5 @@ public interface TagTechnology {
* @see #connect()
* @see #reconnect()
*/
public void close();
public void close() throws IOException;
}