Un-hide Connection-side RTT APIs for Dialer

Bug: 63934808
Test: builds
Change-Id: I59a892fb0e314810e92dd9ad7d0c2f4610055045
This commit is contained in:
Hall Liu
2017-12-04 14:19:30 -08:00
parent 9724fc6fda
commit 37dfdb0c24
4 changed files with 18 additions and 53 deletions

View File

@@ -39457,6 +39457,7 @@ package android.telecom {
method public final int getState();
method public final android.telecom.StatusHints getStatusHints();
method public final android.telecom.Connection.VideoProvider getVideoProvider();
method public void handleRttUpgradeResponse(android.telecom.Connection.RttTextStream);
method public final boolean isRingbackRequested();
method public void onAbort();
method public void onAnswer(int);
@@ -39473,8 +39474,10 @@ package android.telecom {
method public void onReject(java.lang.String);
method public void onSeparate();
method public void onShowIncomingCallUi();
method public void onStartRtt(android.telecom.Connection.RttTextStream);
method public void onStateChanged(int);
method public void onStopDtmfTone();
method public void onStopRtt();
method public void onUnhold();
method public static java.lang.String propertiesToString(int);
method public final void putExtras(android.os.Bundle);
@@ -39482,6 +39485,10 @@ package android.telecom {
method public final void removeExtras(java.lang.String...);
method public void requestBluetoothAudio(java.lang.String);
method public void sendConnectionEvent(java.lang.String, android.os.Bundle);
method public final void sendRemoteRttRequest();
method public final void sendRttInitiationFailure(int);
method public final void sendRttInitiationSuccess();
method public final void sendRttSessionRemotelyTerminated();
method public final void setActive();
method public final void setAddress(android.net.Uri, int);
method public final void setAudioModeIsVoip(boolean);
@@ -39535,6 +39542,7 @@ package android.telecom {
field public static final java.lang.String EXTRA_LAST_FORWARDED_NUMBER = "android.telecom.extra.LAST_FORWARDED_NUMBER";
field public static final int PROPERTY_HAS_CDMA_VOICE_PRIVACY = 32; // 0x20
field public static final int PROPERTY_IS_EXTERNAL_CALL = 16; // 0x10
field public static final int PROPERTY_IS_RTT = 256; // 0x100
field public static final int PROPERTY_SELF_MANAGED = 128; // 0x80
field public static final int STATE_ACTIVE = 4; // 0x4
field public static final int STATE_DIALING = 3; // 0x3
@@ -39554,6 +39562,12 @@ package android.telecom {
field public static final int SESSION_MODIFY_REQUEST_TIMED_OUT = 4; // 0x4
}
public static final class Connection.RttTextStream {
method public java.lang.String read() throws java.io.IOException;
method public java.lang.String readImmediately() throws java.io.IOException;
method public void write(java.lang.String) throws java.io.IOException;
}
public static abstract class Connection.VideoProvider {
ctor public Connection.VideoProvider();
method public void changeCameraCapabilities(android.telecom.VideoProfile.CameraCapabilities);
@@ -39594,7 +39608,9 @@ package android.telecom {
method public android.telecom.PhoneAccountHandle getAccountHandle();
method public android.net.Uri getAddress();
method public android.os.Bundle getExtras();
method public android.telecom.Connection.RttTextStream getRttTextStream();
method public int getVideoState();
method public boolean isRequestingRtt();
method public void writeToParcel(android.os.Parcel, int);
field public static final android.os.Parcelable.Creator<android.telecom.ConnectionRequest> CREATOR;
}

View File

@@ -600,32 +600,6 @@ package android.service.quicksettings {
}
package android.telecom {
public abstract class Connection extends android.telecom.Conferenceable {
method public void handleRttUpgradeResponse(android.telecom.Connection.RttTextStream);
method public void onStartRtt(android.telecom.Connection.RttTextStream);
method public void onStopRtt();
method public final void sendRemoteRttRequest();
method public final void sendRttInitiationFailure(int);
method public final void sendRttInitiationSuccess();
method public final void sendRttSessionRemotelyTerminated();
field public static final int PROPERTY_IS_RTT = 256; // 0x100
}
public static final class Connection.RttTextStream {
method public java.lang.String read() throws java.io.IOException;
method public java.lang.String readImmediately() throws java.io.IOException;
method public void write(java.lang.String) throws java.io.IOException;
}
public final class ConnectionRequest implements android.os.Parcelable {
method public android.telecom.Connection.RttTextStream getRttTextStream();
method public boolean isRequestingRtt();
}
}
package android.telephony {
public class MbmsDownloadSession implements java.lang.AutoCloseable {

View File

@@ -23,7 +23,6 @@ import com.android.internal.telecom.IVideoProvider;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SystemApi;
import android.annotation.TestApi;
import android.app.Notification;
import android.bluetooth.BluetoothDevice;
import android.content.Intent;
@@ -397,9 +396,7 @@ public abstract class Connection extends Conferenceable {
/**
* Set by the framework to indicate that a connection has an active RTT session associated with
* it.
* @hide
*/
@TestApi
public static final int PROPERTY_IS_RTT = 1 << 8;
//**********************************************************************************************
@@ -831,9 +828,7 @@ public abstract class Connection extends Conferenceable {
/**
* Provides methods to read and write RTT data to/from the in-call app.
* @hide
*/
@TestApi
public static final class RttTextStream {
private static final int READ_BUFFER_SIZE = 1000;
private final InputStreamReader mPipeFromInCall;
@@ -2608,10 +2603,8 @@ public abstract class Connection extends Conferenceable {
/**
* Informs listeners that a previously requested RTT session via
* {@link ConnectionRequest#isRequestingRtt()} or
* {@link #onStartRtt(ParcelFileDescriptor, ParcelFileDescriptor)} has succeeded.
* @hide
* {@link #onStartRtt(RttTextStream)} has succeeded.
*/
@TestApi
public final void sendRttInitiationSuccess() {
setRttProperty();
mListeners.forEach((l) -> l.onRttInitiationSuccess(Connection.this));
@@ -2619,14 +2612,11 @@ public abstract class Connection extends Conferenceable {
/**
* Informs listeners that a previously requested RTT session via
* {@link ConnectionRequest#isRequestingRtt()} or
* {@link #onStartRtt(ParcelFileDescriptor, ParcelFileDescriptor)}
* {@link ConnectionRequest#isRequestingRtt()} or {@link #onStartRtt(RttTextStream)}
* has failed.
* @param reason One of the reason codes defined in {@link RttModifyStatus}, with the
* exception of {@link RttModifyStatus#SESSION_MODIFY_REQUEST_SUCCESS}.
* @hide
*/
@TestApi
public final void sendRttInitiationFailure(int reason) {
unsetRttProperty();
mListeners.forEach((l) -> l.onRttInitiationFailure(Connection.this, reason));
@@ -2635,9 +2625,7 @@ public abstract class Connection extends Conferenceable {
/**
* Informs listeners that a currently active RTT session has been terminated by the remote
* side of the coll.
* @hide
*/
@TestApi
public final void sendRttSessionRemotelyTerminated() {
mListeners.forEach((l) -> l.onRttSessionRemotelyTerminated(Connection.this));
}
@@ -2645,9 +2633,7 @@ public abstract class Connection extends Conferenceable {
/**
* Informs listeners that the remote side of the call has requested an upgrade to include an
* RTT session in the call.
* @hide
*/
@TestApi
public final void sendRemoteRttRequest() {
mListeners.forEach((l) -> l.onRemoteRttRequest(Connection.this));
}
@@ -2864,17 +2850,13 @@ public abstract class Connection extends Conferenceable {
* request, respectively.
* @param rttTextStream The object that should be used to send text to or receive text from
* the in-call app.
* @hide
*/
@TestApi
public void onStartRtt(@NonNull RttTextStream rttTextStream) {}
/**
* Notifies this {@link Connection} that it should terminate any existing RTT communication
* channel. No response to Telecom is needed for this method.
* @hide
*/
@TestApi
public void onStopRtt() {}
/**
@@ -2882,11 +2864,9 @@ public abstract class Connection extends Conferenceable {
* request sent via {@link #sendRemoteRttRequest}. Acceptance of the request is
* indicated by the supplied {@link RttTextStream} being non-null, and rejection is
* indicated by {@code rttTextStream} being {@code null}
* @hide
* @param rttTextStream The object that should be used to send text to or receive text from
* the in-call app.
*/
@TestApi
public void handleRttUpgradeResponse(@Nullable RttTextStream rttTextStream) {}
/**

View File

@@ -16,7 +16,6 @@
package android.telecom;
import android.annotation.TestApi;
import android.net.Uri;
import android.os.Bundle;
import android.os.Parcel;
@@ -310,9 +309,7 @@ public final class ConnectionRequest implements Parcelable {
* send and receive RTT text to/from the in-call app.
* @return An instance of {@link android.telecom.Connection.RttTextStream}, or {@code null}
* if this connection request is not requesting an RTT session upon connection establishment.
* @hide
*/
@TestApi
public Connection.RttTextStream getRttTextStream() {
if (isRequestingRtt()) {
return new Connection.RttTextStream(mRttPipeToInCall, mRttPipeFromInCall);
@@ -324,9 +321,7 @@ public final class ConnectionRequest implements Parcelable {
/**
* Convenience method for determining whether the ConnectionRequest is requesting an RTT session
* @return {@code true} if RTT is requested, {@code false} otherwise.
* @hide
*/
@TestApi
public boolean isRequestingRtt() {
return mRttPipeFromInCall != null && mRttPipeToInCall != null;
}