Do not throw IOException from RttCall.read()

Modify the signature of read() to no longer throw an IOException

Change-Id: Ib5a1d8615a4bd66716a54c53865a2d560f33de83
Test: builds
Fixes: 63769529
This commit is contained in:
Hall Liu
2017-07-17 17:04:41 -07:00
parent eea2441f0a
commit b1c8a77f59
4 changed files with 17 additions and 8 deletions

View File

@@ -38870,7 +38870,7 @@ package android.telecom {
public static final class Call.RttCall {
method public int getRttAudioMode();
method public java.lang.String read() throws java.io.IOException;
method public java.lang.String read();
method public java.lang.String readImmediately() throws java.io.IOException;
method public void setRttMode(int);
method public void write(java.lang.String) throws java.io.IOException;

View File

@@ -42226,7 +42226,7 @@ package android.telecom {
public static final class Call.RttCall {
method public int getRttAudioMode();
method public java.lang.String read() throws java.io.IOException;
method public java.lang.String read();
method public java.lang.String readImmediately() throws java.io.IOException;
method public void setRttMode(int);
method public void write(java.lang.String) throws java.io.IOException;

View File

@@ -39105,7 +39105,7 @@ package android.telecom {
public static final class Call.RttCall {
method public int getRttAudioMode();
method public java.lang.String read() throws java.io.IOException;
method public java.lang.String read();
method public java.lang.String readImmediately() throws java.io.IOException;
method public void setRttMode(int);
method public void write(java.lang.String) throws java.io.IOException;

View File

@@ -1089,12 +1089,17 @@ public final class Call {
* @return A string containing text sent by the remote user, or {@code null} if the
* conversation has been terminated or if there was an error while reading.
*/
public String read() throws IOException {
int numRead = mReceiveStream.read(mReadBuffer, 0, READ_BUFFER_SIZE);
if (numRead < 0) {
public String read() {
try {
int numRead = mReceiveStream.read(mReadBuffer, 0, READ_BUFFER_SIZE);
if (numRead < 0) {
return null;
}
return new String(mReadBuffer, 0, numRead);
} catch (IOException e) {
Log.w(this, "Exception encountered when reading from InputStreamReader: %s", e);
return null;
}
return new String(mReadBuffer, 0, numRead);
}
/**
@@ -1105,7 +1110,11 @@ public final class Call {
*/
public String readImmediately() throws IOException {
if (mReceiveStream.ready()) {
return read();
int numRead = mReceiveStream.read(mReadBuffer, 0, READ_BUFFER_SIZE);
if (numRead < 0) {
return null;
}
return new String(mReadBuffer, 0, numRead);
} else {
return null;
}