Throw IOException on multiple connects.
Only one TagTechnology can be connected at a time. Other calls to connect() will return IOException. Bug: 144398423 Test: check error on multiple connects Change-Id: I19a5f33c7f0d3e7592fe7791c1e04ddc2c9d6125
This commit is contained in:
committed by
Alisher Alikhodjaev
parent
046d939399
commit
3eb265ae00
@@ -455,12 +455,12 @@ public final class Tag implements Parcelable {
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
public synchronized void setConnectedTechnology(int technology) {
|
||||
if (mConnectedTechnology == -1) {
|
||||
mConnectedTechnology = technology;
|
||||
} else {
|
||||
throw new IllegalStateException("Close other technology first!");
|
||||
public synchronized boolean setConnectedTechnology(int technology) {
|
||||
if (mConnectedTechnology != -1) {
|
||||
return false;
|
||||
}
|
||||
mConnectedTechnology = technology;
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -75,7 +75,10 @@ abstract class BasicTagTechnology implements TagTechnology {
|
||||
|
||||
if (errorCode == ErrorCodes.SUCCESS) {
|
||||
// Store this in the tag object
|
||||
mTag.setConnectedTechnology(mSelectedTechnology);
|
||||
if (!mTag.setConnectedTechnology(mSelectedTechnology)) {
|
||||
Log.e(TAG, "Close other technology first!");
|
||||
throw new IOException("Only one TagTechnology can be connected at a time.");
|
||||
}
|
||||
mIsConnected = true;
|
||||
} else if (errorCode == ErrorCodes.ERROR_NOT_SUPPORTED) {
|
||||
throw new UnsupportedOperationException("Connecting to " +
|
||||
|
||||
Reference in New Issue
Block a user