API cleanup for RemoteConnection.

+ Rename handle to address.
+ Rename audioModeIsVoip to IsVoipAudioMode.
+ Rename Listener to Callback.
- Delete getParent() and getChildren() methods.
- Delete onChildrenChanged/onParentChanged methods.
+ Rename Listener to Callback.
+ Rename Callback methods to reflect other changes.

Bug: 17329632
Change-Id: Ie466472e995050f578fbb1c4b9de0ae59e488988
This commit is contained in:
Andrew Lee
2014-09-08 15:34:24 -07:00
parent 3e42b33980
commit 100e293fa8
10 changed files with 199 additions and 238 deletions

View File

@@ -28241,6 +28241,8 @@ package android.telecomm {
method public static android.telecomm.Connection createCanceledConnection();
method public static android.telecomm.Connection createFailedConnection(int, java.lang.String);
method public final void destroy();
method public final android.net.Uri getAddress();
method public final int getAddressPresentation();
method public final boolean getAudioModeIsVoip();
method public final android.telecomm.AudioState getAudioState();
method public final int getCallCapabilities();
@@ -28250,11 +28252,9 @@ package android.telecomm {
method public final java.util.List<android.telecomm.Connection> getConferenceableConnections();
method public final int getDisconnectCause();
method public final java.lang.String getDisconnectMessage();
method public final android.net.Uri getHandle();
method public final int getHandlePresentation();
method public final int getState();
method public final android.telecomm.StatusHints getStatusHints();
method public final boolean isRequestingRingback();
method public final boolean isRingbackRequested();
method public void onAbort();
method public void onAnswer();
method public void onAudioStateChanged(android.telecomm.AudioState);
@@ -28269,6 +28269,7 @@ package android.telecomm {
method public void onStopDtmfTone();
method public void onUnhold();
method public final void setActive();
method public final void setAddress(android.net.Uri, int);
method public final void setAudioModeIsVoip(boolean);
method public final void setCallCapabilities(int);
method public final void setCallerDisplayName(java.lang.String, int);
@@ -28276,12 +28277,11 @@ package android.telecomm {
method public final void setConnectionService(android.telecomm.ConnectionService);
method public final void setDialing();
method public final void setDisconnected(int, java.lang.String);
method public final void setHandle(android.net.Uri, int);
method public final void setInitialized();
method public final void setInitializing();
method public final void setOnHold();
method public final void setPostDialWait(java.lang.String);
method public final void setRequestingRingback(boolean);
method public final void setRingbackRequested(boolean);
method public final void setRinging();
method public final void setStatusHints(android.telecomm.StatusHints);
method public static java.lang.String stateToString(int);
@@ -28389,7 +28389,6 @@ package android.telecomm {
}
public final class RemoteConference {
method public final void addCallback(android.telecomm.RemoteConference.Callback);
method public void disconnect();
method public final int getCallCapabilities();
method public final java.util.List<android.telecomm.RemoteConnection> getConnections();
@@ -28397,9 +28396,10 @@ package android.telecomm {
method public java.lang.String getDisconnectMessage();
method public final int getState();
method public void hold();
method public final void removeCallback(android.telecomm.RemoteConference.Callback);
method public final void registerCallback(android.telecomm.RemoteConference.Callback);
method public void separate(android.telecomm.RemoteConnection);
method public void unhold();
method public final void unregisterCallback(android.telecomm.RemoteConference.Callback);
}
public static abstract class RemoteConference.Callback {
@@ -28414,52 +28414,48 @@ package android.telecomm {
public final class RemoteConnection {
method public void abort();
method public void addListener(android.telecomm.RemoteConnection.Listener);
method public void answer();
method public void disconnect();
method public boolean getAudioModeIsVoip();
method public android.net.Uri getAddress();
method public int getAddressPresentation();
method public int getCallCapabilities();
method public java.lang.String getCallerDisplayName();
method public java.lang.CharSequence getCallerDisplayName();
method public int getCallerDisplayNamePresentation();
method public java.util.List<android.telecomm.RemoteConnection> getChildren();
method public android.telecomm.RemoteConference getConference();
method public java.util.List<android.telecomm.RemoteConnection> getConferenceableConnections();
method public int getDisconnectCauseCode();
method public java.lang.String getDisconnectCauseMessage();
method public int getFailureCode();
method public java.lang.String getFailureMessage();
method public android.net.Uri getHandle();
method public int getHandlePresentation();
method public android.telecomm.RemoteConnection getParent();
method public int getState();
method public android.telecomm.StatusHints getStatusHints();
method public void hold();
method public boolean isRequestingRingback();
method public boolean isRingbackRequested();
method public boolean isVoipAudioMode();
method public void playDtmfTone(char);
method public void postDialContinue(boolean);
method public void registerCallback(android.telecomm.RemoteConnection.Callback);
method public void reject();
method public void removeListener(android.telecomm.RemoteConnection.Listener);
method public void setAudioState(android.telecomm.AudioState);
method public void stopDtmfTone();
method public void unhold();
method public void unregisterCallback(android.telecomm.RemoteConnection.Callback);
}
public static abstract class RemoteConnection.Listener {
ctor public RemoteConnection.Listener();
method public void onAudioModeIsVoipChanged(android.telecomm.RemoteConnection, boolean);
public static abstract class RemoteConnection.Callback {
ctor public RemoteConnection.Callback();
method public void onAddressChanged(android.telecomm.RemoteConnection, android.net.Uri, int);
method public void onCallCapabilitiesChanged(android.telecomm.RemoteConnection, int);
method public void onCallerDisplayNameChanged(android.telecomm.RemoteConnection, java.lang.String, int);
method public void onChildrenChanged(android.telecomm.RemoteConnection, java.util.List<android.telecomm.RemoteConnection>);
method public void onConferenceChanged(android.telecomm.RemoteConnection, android.telecomm.RemoteConference);
method public void onConferenceableConnectionsChanged(android.telecomm.RemoteConnection, java.util.List<android.telecomm.RemoteConnection>);
method public void onDestroyed(android.telecomm.RemoteConnection);
method public void onDisconnected(android.telecomm.RemoteConnection, int, java.lang.String);
method public void onHandleChanged(android.telecomm.RemoteConnection, android.net.Uri, int);
method public void onParentChanged(android.telecomm.RemoteConnection, android.telecomm.RemoteConnection);
method public void onPostDialWait(android.telecomm.RemoteConnection, java.lang.String);
method public void onRequestingRingback(android.telecomm.RemoteConnection, boolean);
method public void onRingbackRequested(android.telecomm.RemoteConnection, boolean);
method public void onStateChanged(android.telecomm.RemoteConnection, int);
method public void onStatusHintsChanged(android.telecomm.RemoteConnection, android.telecomm.StatusHints);
method public void onVoipAudioChanged(android.telecomm.RemoteConnection, boolean);
}
public final class StatusHints implements android.os.Parcelable {

View File

@@ -68,13 +68,13 @@ public abstract class Connection {
/** @hide */
public abstract static class Listener {
public void onStateChanged(Connection c, int state) {}
public void onHandleChanged(Connection c, Uri newHandle, int presentation) {}
public void onAddressChanged(Connection c, Uri newAddress, int presentation) {}
public void onCallerDisplayNameChanged(
Connection c, String callerDisplayName, int presentation) {}
public void onVideoStateChanged(Connection c, int videoState) {}
public void onDisconnected(Connection c, int cause, String message) {}
public void onPostDialWait(Connection c, String remaining) {}
public void onRequestingRingback(Connection c, boolean ringback) {}
public void onRingbackRequested(Connection c, boolean ringback) {}
public void onDestroyed(Connection c) {}
public void onCallCapabilitiesChanged(Connection c, int callCapabilities) {}
public void onVideoProviderChanged(
@@ -464,11 +464,11 @@ public abstract class Connection {
private int mState = STATE_NEW;
private AudioState mAudioState;
private Uri mHandle;
private int mHandlePresentation;
private Uri mAddress;
private int mAddressPresentation;
private String mCallerDisplayName;
private int mCallerDisplayNamePresentation;
private boolean mRequestingRingback = false;
private boolean mRingbackRequested = false;
private int mCallCapabilities;
private VideoProvider mVideoProvider;
private boolean mAudioModeIsVoip;
@@ -485,18 +485,18 @@ public abstract class Connection {
public Connection() {}
/**
* @return The handle (e.g., phone number) to which this Connection is currently communicating.
* @return The address (e.g., phone number) to which this Connection is currently communicating.
*/
public final Uri getHandle() {
return mHandle;
public final Uri getAddress() {
return mAddress;
}
/**
* @return The presentation requirements for the handle.
* @return The presentation requirements for the address.
* See {@link TelecommManager} for valid values.
*/
public final int getHandlePresentation() {
return mHandlePresentation;
public final int getAddressPresentation() {
return mAddressPresentation;
}
/**
@@ -556,8 +556,8 @@ public abstract class Connection {
* Returns whether this connection is requesting that the system play a ringback tone
* on its behalf.
*/
public final boolean isRequestingRingback() {
return mRequestingRingback;
public final boolean isRingbackRequested() {
return mRingbackRequested;
}
/**
@@ -662,18 +662,18 @@ public abstract class Connection {
}
/**
* Sets the value of the {@link #getHandle()} property.
* Sets the value of the {@link #getAddress()} property.
*
* @param handle The new handle.
* @param presentation The presentation requirements for the handle.
* @param address The new address.
* @param presentation The presentation requirements for the address.
* See {@link TelecommManager} for valid values.
*/
public final void setHandle(Uri handle, int presentation) {
Log.d(this, "setHandle %s", handle);
mHandle = handle;
mHandlePresentation = presentation;
public final void setAddress(Uri address, int presentation) {
Log.d(this, "setAddress %s", address);
mAddress = address;
mAddressPresentation = presentation;
for (Listener l : mListeners) {
l.onHandleChanged(this, handle, presentation);
l.onAddressChanged(this, address, presentation);
}
}
@@ -716,7 +716,7 @@ public abstract class Connection {
* communicate).
*/
public final void setActive() {
setRequestingRingback(false);
setRingbackRequested(false);
setState(STATE_ACTIVE);
}
@@ -804,11 +804,11 @@ public abstract class Connection {
*
* @param ringback Whether the ringback tone is to be played.
*/
public final void setRequestingRingback(boolean ringback) {
if (mRequestingRingback != ringback) {
mRequestingRingback = ringback;
public final void setRingbackRequested(boolean ringback) {
if (mRingbackRequested != ringback) {
mRingbackRequested = ringback;
for (Listener l : mListeners) {
l.onRequestingRingback(this, ringback);
l.onRingbackRequested(this, ringback);
}
}
}

View File

@@ -414,9 +414,9 @@ public abstract class ConnectionService extends Service {
}
@Override
public void onHandleChanged(Connection c, Uri handle, int presentation) {
public void onAddressChanged(Connection c, Uri address, int presentation) {
String id = mIdByConnection.get(c);
mAdapter.setHandle(id, handle, presentation);
mAdapter.setAddress(id, address, presentation);
}
@Override
@@ -439,10 +439,10 @@ public abstract class ConnectionService extends Service {
}
@Override
public void onRequestingRingback(Connection c, boolean ringback) {
public void onRingbackRequested(Connection c, boolean ringback) {
String id = mIdByConnection.get(c);
Log.d(this, "Adapter onRingback %b", ringback);
mAdapter.setRequestingRingback(id, ringback);
mAdapter.setRingbackRequested(id, ringback);
}
@Override
@@ -462,7 +462,7 @@ public abstract class ConnectionService extends Service {
@Override
public void onAudioModeIsVoipChanged(Connection c, boolean isVoip) {
String id = mIdByConnection.get(c);
mAdapter.setAudioModeIsVoip(id, isVoip);
mAdapter.setIsVoipAudioMode(id, isVoip);
}
@Override
@@ -523,8 +523,8 @@ public abstract class ConnectionService extends Service {
addConnection(callId, connection);
}
Uri handle = connection.getHandle();
String number = handle == null ? "null" : handle.getSchemeSpecificPart();
Uri address = connection.getAddress();
String number = address == null ? "null" : address.getSchemeSpecificPart();
Log.v(this, "createConnection, number: %s, state: %s, capabilities: %s",
Connection.toLogSafePhoneNumber(number),
Connection.stateToString(connection.getState()),
@@ -538,14 +538,14 @@ public abstract class ConnectionService extends Service {
request.getAccountHandle(),
connection.getState(),
connection.getCallCapabilities(),
connection.getHandle(),
connection.getHandlePresentation(),
connection.getAddress(),
connection.getAddressPresentation(),
connection.getCallerDisplayName(),
connection.getCallerDisplayNamePresentation(),
connection.getVideoProvider() == null ?
null : connection.getVideoProvider().getInterface(),
connection.getVideoState(),
connection.isRequestingRingback(),
connection.isRingbackRequested(),
connection.getAudioModeIsVoip(),
connection.getStatusHints(),
connection.getDisconnectCause(),

View File

@@ -168,10 +168,10 @@ final class ConnectionServiceAdapter implements DeathRecipient {
* @param callId The unique ID of the call whose ringback is being changed.
* @param ringback Whether Telecomm should start playing a ringback tone.
*/
void setRequestingRingback(String callId, boolean ringback) {
void setRingbackRequested(String callId, boolean ringback) {
for (IConnectionServiceAdapter adapter : mAdapters) {
try {
adapter.setRequestingRingback(callId, ringback);
adapter.setRingbackRequested(callId, ringback);
} catch (RemoteException e) {
}
}
@@ -280,10 +280,10 @@ final class ConnectionServiceAdapter implements DeathRecipient {
* @param callId The unique ID of the call to set with the given call video provider.
* @param isVoip True if the audio mode is VOIP.
*/
void setAudioModeIsVoip(String callId, boolean isVoip) {
void setIsVoipAudioMode(String callId, boolean isVoip) {
for (IConnectionServiceAdapter adapter : mAdapters) {
try {
adapter.setAudioModeIsVoip(callId, isVoip);
adapter.setIsVoipAudioMode(callId, isVoip);
} catch (RemoteException e) {
}
}
@@ -298,10 +298,10 @@ final class ConnectionServiceAdapter implements DeathRecipient {
}
}
void setHandle(String callId, Uri handle, int presentation) {
void setAddress(String callId, Uri address, int presentation) {
for (IConnectionServiceAdapter adapter : mAdapters) {
try {
adapter.setHandle(callId, handle, presentation);
adapter.setAddress(callId, address, presentation);
} catch (RemoteException e) {
}
}

View File

@@ -44,7 +44,7 @@ final class ConnectionServiceAdapterServant {
private static final int MSG_SET_DIALING = 4;
private static final int MSG_SET_DISCONNECTED = 5;
private static final int MSG_SET_ON_HOLD = 6;
private static final int MSG_SET_REQUESTING_RINGBACK = 7;
private static final int MSG_SET_RINGBACK_REQUESTED = 7;
private static final int MSG_SET_CALL_CAPABILITIES = 8;
private static final int MSG_SET_IS_CONFERENCED = 9;
private static final int MSG_ADD_CONFERENCE_CALL = 10;
@@ -53,9 +53,9 @@ final class ConnectionServiceAdapterServant {
private static final int MSG_QUERY_REMOTE_CALL_SERVICES = 13;
private static final int MSG_SET_VIDEO_STATE = 14;
private static final int MSG_SET_VIDEO_CALL_PROVIDER = 15;
private static final int MSG_SET_AUDIO_MODE_IS_VOIP = 16;
private static final int MSG_SET_IS_VOIP_AUDIO_MODE = 16;
private static final int MSG_SET_STATUS_HINTS = 17;
private static final int MSG_SET_HANDLE = 18;
private static final int MSG_SET_ADDRESS = 18;
private static final int MSG_SET_CALLER_DISPLAY_NAME = 19;
private static final int MSG_SET_CONFERENCEABLE_CONNECTIONS = 20;
@@ -107,8 +107,8 @@ final class ConnectionServiceAdapterServant {
case MSG_SET_ON_HOLD:
mDelegate.setOnHold((String) msg.obj);
break;
case MSG_SET_REQUESTING_RINGBACK:
mDelegate.setRequestingRingback((String) msg.obj, msg.arg1 == 1);
case MSG_SET_RINGBACK_REQUESTED:
mDelegate.setRingbackRequested((String) msg.obj, msg.arg1 == 1);
break;
case MSG_SET_CALL_CAPABILITIES:
mDelegate.setCallCapabilities((String) msg.obj, msg.arg1);
@@ -160,8 +160,8 @@ final class ConnectionServiceAdapterServant {
}
break;
}
case MSG_SET_AUDIO_MODE_IS_VOIP:
mDelegate.setAudioModeIsVoip((String) msg.obj, msg.arg1 == 1);
case MSG_SET_IS_VOIP_AUDIO_MODE:
mDelegate.setIsVoipAudioMode((String) msg.obj, msg.arg1 == 1);
break;
case MSG_SET_STATUS_HINTS: {
SomeArgs args = (SomeArgs) msg.obj;
@@ -172,10 +172,10 @@ final class ConnectionServiceAdapterServant {
}
break;
}
case MSG_SET_HANDLE: {
case MSG_SET_ADDRESS: {
SomeArgs args = (SomeArgs) msg.obj;
try {
mDelegate.setHandle((String) args.arg1, (Uri) args.arg2, args.argi1);
mDelegate.setAddress((String) args.arg1, (Uri) args.arg2, args.argi1);
} finally {
args.recycle();
}
@@ -249,8 +249,8 @@ final class ConnectionServiceAdapterServant {
}
@Override
public void setRequestingRingback(String connectionId, boolean ringback) {
mHandler.obtainMessage(MSG_SET_REQUESTING_RINGBACK, ringback ? 1 : 0, 0, connectionId)
public void setRingbackRequested(String connectionId, boolean ringback) {
mHandler.obtainMessage(MSG_SET_RINGBACK_REQUESTED, ringback ? 1 : 0, 0, connectionId)
.sendToTarget();
}
@@ -308,8 +308,8 @@ final class ConnectionServiceAdapterServant {
}
@Override
public final void setAudioModeIsVoip(String connectionId, boolean isVoip) {
mHandler.obtainMessage(MSG_SET_AUDIO_MODE_IS_VOIP, isVoip ? 1 : 0, 0,
public final void setIsVoipAudioMode(String connectionId, boolean isVoip) {
mHandler.obtainMessage(MSG_SET_IS_VOIP_AUDIO_MODE, isVoip ? 1 : 0, 0,
connectionId).sendToTarget();
}
@@ -322,12 +322,12 @@ final class ConnectionServiceAdapterServant {
}
@Override
public final void setHandle(String connectionId, Uri handle, int presentation) {
public final void setAddress(String connectionId, Uri address, int presentation) {
SomeArgs args = SomeArgs.obtain();
args.arg1 = connectionId;
args.arg2 = handle;
args.arg2 = address;
args.argi1 = presentation;
mHandler.obtainMessage(MSG_SET_HANDLE, args).sendToTarget();
mHandler.obtainMessage(MSG_SET_ADDRESS, args).sendToTarget();
}
@Override

View File

@@ -35,14 +35,14 @@ public final class ParcelableConnection implements Parcelable {
private final PhoneAccountHandle mPhoneAccount;
private final int mState;
private final int mCapabilities;
private final Uri mHandle;
private final int mHandlePresentation;
private final Uri mAddress;
private final int mAddressPresentation;
private final String mCallerDisplayName;
private final int mCallerDisplayNamePresentation;
private final IVideoProvider mVideoProvider;
private final int mVideoState;
private final boolean mRequestingRingback;
private final boolean mAudioModeIsVoip;
private final boolean mRingbackRequested;
private final boolean mIsVoipAudioMode;
private final StatusHints mStatusHints;
private final int mDisconnectCause;
private final String mDisconnectMessage;
@@ -53,14 +53,14 @@ public final class ParcelableConnection implements Parcelable {
PhoneAccountHandle phoneAccount,
int state,
int capabilities,
Uri handle,
int handlePresentation,
Uri address,
int addressPresentation,
String callerDisplayName,
int callerDisplayNamePresentation,
IVideoProvider videoProvider,
int videoState,
boolean requestingRingback,
boolean audioModeIsVoip,
boolean ringbackRequested,
boolean isVoipAudioMode,
StatusHints statusHints,
int disconnectCause,
String disconnectMessage,
@@ -68,14 +68,14 @@ public final class ParcelableConnection implements Parcelable {
mPhoneAccount = phoneAccount;
mState = state;
mCapabilities = capabilities;
mHandle = handle;
mHandlePresentation = handlePresentation;
mAddress = address;
mAddressPresentation = addressPresentation;
mCallerDisplayName = callerDisplayName;
mCallerDisplayNamePresentation = callerDisplayNamePresentation;
mVideoProvider = videoProvider;
mVideoState = videoState;
mRequestingRingback = requestingRingback;
mAudioModeIsVoip = audioModeIsVoip;
mRingbackRequested = ringbackRequested;
mIsVoipAudioMode = isVoipAudioMode;
mStatusHints = statusHints;
mDisconnectCause = disconnectCause;
mDisconnectMessage = disconnectMessage;
@@ -96,11 +96,11 @@ public final class ParcelableConnection implements Parcelable {
}
public Uri getHandle() {
return mHandle;
return mAddress;
}
public int getHandlePresentation() {
return mHandlePresentation;
return mAddressPresentation;
}
public String getCallerDisplayName() {
@@ -119,12 +119,12 @@ public final class ParcelableConnection implements Parcelable {
return mVideoState;
}
public boolean isRequestingRingback() {
return mRequestingRingback;
public boolean isRingbackRequested() {
return mRingbackRequested;
}
public boolean getAudioModeIsVoip() {
return mAudioModeIsVoip;
public boolean getIsVoipAudioMode() {
return mIsVoipAudioMode;
}
public final StatusHints getStatusHints() {
@@ -164,14 +164,14 @@ public final class ParcelableConnection implements Parcelable {
PhoneAccountHandle phoneAccount = source.readParcelable(classLoader);
int state = source.readInt();
int capabilities = source.readInt();
Uri handle = source.readParcelable(classLoader);
int handlePresentation = source.readInt();
Uri address = source.readParcelable(classLoader);
int addressPresentation = source.readInt();
String callerDisplayName = source.readString();
int callerDisplayNamePresentation = source.readInt();
IVideoProvider videoCallProvider =
IVideoProvider.Stub.asInterface(source.readStrongBinder());
int videoState = source.readInt();
boolean requestingRingback = source.readByte() == 1;
boolean ringbackRequested = source.readByte() == 1;
boolean audioModeIsVoip = source.readByte() == 1;
StatusHints statusHints = source.readParcelable(classLoader);
int disconnectCauseCode = source.readInt();
@@ -183,13 +183,13 @@ public final class ParcelableConnection implements Parcelable {
phoneAccount,
state,
capabilities,
handle,
handlePresentation,
address,
addressPresentation,
callerDisplayName,
callerDisplayNamePresentation,
videoCallProvider,
videoState,
requestingRingback,
ringbackRequested,
audioModeIsVoip,
statusHints,
disconnectCauseCode,
@@ -215,15 +215,15 @@ public final class ParcelableConnection implements Parcelable {
destination.writeParcelable(mPhoneAccount, 0);
destination.writeInt(mState);
destination.writeInt(mCapabilities);
destination.writeParcelable(mHandle, 0);
destination.writeInt(mHandlePresentation);
destination.writeParcelable(mAddress, 0);
destination.writeInt(mAddressPresentation);
destination.writeString(mCallerDisplayName);
destination.writeInt(mCallerDisplayNamePresentation);
destination.writeStrongBinder(
mVideoProvider != null ? mVideoProvider.asBinder() : null);
destination.writeInt(mVideoState);
destination.writeByte((byte) (mRequestingRingback ? 1 : 0));
destination.writeByte((byte) (mAudioModeIsVoip ? 1 : 0));
destination.writeByte((byte) (mRingbackRequested ? 1 : 0));
destination.writeByte((byte) (mIsVoipAudioMode ? 1 : 0));
destination.writeParcelable(mStatusHints, 0);
destination.writeInt(mDisconnectCause);
destination.writeString(mDisconnectMessage);

View File

@@ -188,11 +188,11 @@ public final class RemoteConference {
return mDisconnectMessage;
}
public final void addCallback(Callback callback) {
public final void registerCallback(Callback callback) {
mCallbacks.add(callback);
}
public final void removeCallback(Callback callback) {
public final void unregisterCallback(Callback callback) {
mCallbacks.remove(callback);
}
}

View File

@@ -42,7 +42,7 @@ import java.util.concurrent.ConcurrentHashMap;
*/
public final class RemoteConnection {
public static abstract class Listener {
public static abstract class Callback {
/**
* Invoked when the state of this {@code RemoteConnection} has changed. See
* {@link #getState()}.
@@ -52,25 +52,6 @@ public final class RemoteConnection {
*/
public void onStateChanged(RemoteConnection connection, int state) {}
/**
* Invoked when the parent of this {@code RemoteConnection} has changed. See
* {@link #getParent()}.
*
* @param connection The {@code RemoteConnection} invoking this method.
* @param parent The new parent of the {@code RemoteConnection}.
*/
public void onParentChanged(RemoteConnection connection, RemoteConnection parent) {}
/**
* Invoked when the children of this {@code RemoteConnection} have changed. See
* {@link #getChildren()}.
*
* @param connection The {@code RemoteConnection} invoking this method.
* @param children The new children of the {@code RemoteConnection}.
*/
public void onChildrenChanged(
RemoteConnection connection, List<RemoteConnection> children) {}
/**
* Invoked when this {@code RemoteConnection} is disconnected.
*
@@ -87,12 +68,12 @@ public final class RemoteConnection {
/**
* Invoked when this {@code RemoteConnection} is requesting ringback. See
* {@link #isRequestingRingback()}.
* {@link #isRingbackRequested()}.
*
* @param connection The {@code RemoteConnection} invoking this method.
* @param ringback Whether the {@code RemoteConnection} is requesting ringback.
*/
public void onRequestingRingback(RemoteConnection connection, boolean ringback) {}
public void onRingbackRequested(RemoteConnection connection, boolean ringback) {}
/**
* Indicates that the call capabilities of this {@code RemoteConnection} have changed.
@@ -116,12 +97,12 @@ public final class RemoteConnection {
/**
* Indicates that the VOIP audio status of this {@code RemoteConnection} has changed.
* See {@link #getAudioModeIsVoip()}.
* See {@link #isVoipAudioMode()}.
*
* @param connection The {@code RemoteConnection} invoking this method.
* @param isVoip Whether the new audio state of the {@code RemoteConnection} is VOIP.
*/
public void onAudioModeIsVoipChanged(RemoteConnection connection, boolean isVoip) {}
public void onVoipAudioChanged(RemoteConnection connection, boolean isVoip) {}
/**
* Indicates that the status hints of this {@code RemoteConnection} have changed. See
@@ -133,15 +114,15 @@ public final class RemoteConnection {
public void onStatusHintsChanged(RemoteConnection connection, StatusHints statusHints) {}
/**
* Indicates that the handle (e.g., phone number) of this {@code RemoteConnection} has
* changed. See {@link #getHandle()} and {@link #getHandlePresentation()}.
* Indicates that the address (e.g., phone number) of this {@code RemoteConnection} has
* changed. See {@link #getAddress()} and {@link #getAddressPresentation()}.
*
* @param connection The {@code RemoteConnection} invoking this method.
* @param handle The new handle of the {@code RemoteConnection}.
* @param presentation The presentation requirements for the handle.
* @param address The new address of the {@code RemoteConnection}.
* @param presentation The presentation requirements for the address.
* See {@link TelecommManager} for valid values.
*/
public void onHandleChanged(RemoteConnection connection, Uri handle, int presentation) {}
public void onAddressChanged(RemoteConnection connection, Uri address, int presentation) {}
/**
* Indicates that the caller display name of this {@code RemoteConnection} has changed.
@@ -396,8 +377,8 @@ public final class RemoteConnection {
* load factor before resizing, 1 means we only expect a single thread to
* access the map so make only a single shard
*/
private final Set<Listener> mListeners = Collections.newSetFromMap(
new ConcurrentHashMap<Listener, Boolean>(8, 0.9f, 1));
private final Set<Callback> mCallbacks = Collections.newSetFromMap(
new ConcurrentHashMap<Callback, Boolean>(8, 0.9f, 1));
private final List<RemoteConnection> mConferenceableConnections = new ArrayList<>();
private final List<RemoteConnection> mUnmodifiableconferenceableConnections =
Collections.unmodifiableList(mConferenceableConnections);
@@ -405,15 +386,15 @@ public final class RemoteConnection {
private int mState = Connection.STATE_NEW;
private int mDisconnectCauseCode = DisconnectCause.NOT_VALID;
private String mDisconnectCauseMessage;
private boolean mRequestingRingback;
private boolean mRingbackRequested;
private boolean mConnected;
private int mCallCapabilities;
private int mVideoState;
private VideoProvider mVideoProvider;
private boolean mAudioModeIsVoip;
private boolean mIsVoipAudioMode;
private StatusHints mStatusHints;
private Uri mHandle;
private int mHandlePresentation;
private Uri mAddress;
private int mAddressPresentation;
private String mCallerDisplayName;
private int mCallerDisplayNamePresentation;
private int mFailureCode;
@@ -450,41 +431,25 @@ public final class RemoteConnection {
}
/**
* Adds a listener to this {@code RemoteConnection}.
* Adds a callback to this {@code RemoteConnection}.
*
* @param listener A {@code Listener}.
* @param callback A {@code Callback}.
*/
public void addListener(Listener listener) {
mListeners.add(listener);
public void registerCallback(Callback callback) {
mCallbacks.add(callback);
}
/**
* Removes a listener from this {@code RemoteConnection}.
* Removes a callback from this {@code RemoteConnection}.
*
* @param listener A {@code Listener}.
* @param callback A {@code Callback}.
*/
public void removeListener(Listener listener) {
if (listener != null) {
mListeners.remove(listener);
public void unregisterCallback(Callback callback) {
if (callback != null) {
mCallbacks.remove(callback);
}
}
/**
* Obtains the parent of this {@code RemoteConnection} in a conference, if any.
*
* @return The parent {@code RemoteConnection}, or {@code null} if this {@code RemoteConnection}
* is not a child of any conference {@code RemoteConnection}s.
*/
public RemoteConnection getParent() { return null; }
/**
* Obtains the children of this conference {@code RemoteConnection}, if any.
*
* @return The children of this {@code RemoteConnection} if this {@code RemoteConnection} is
* a conference, or an empty {@code List} otherwise.
*/
public List<RemoteConnection> getChildren() { return new ArrayList<>(); }
/**
* Obtains the state of this {@code RemoteConnection}.
*
@@ -522,8 +487,8 @@ public final class RemoteConnection {
/**
* @return {@code true} if the {@code RemoteConnection}'s current audio mode is VOIP.
*/
public boolean getAudioModeIsVoip() {
return mAudioModeIsVoip;
public boolean isVoipAudioMode() {
return mIsVoipAudioMode;
}
/**
@@ -535,25 +500,25 @@ public final class RemoteConnection {
}
/**
* @return The handle (e.g., phone number) to which the {@code RemoteConnection} is currently
* @return The address (e.g., phone number) to which the {@code RemoteConnection} is currently
* connected.
*/
public Uri getHandle() {
return mHandle;
public Uri getAddress() {
return mAddress;
}
/**
* @return The presentation requirements for the handle. See
* {@link TelecommManager} for valid values.
* @return The presentation requirements for the address. See {@link TelecommManager} for valid
* values.
*/
public int getHandlePresentation() {
return mHandlePresentation;
public int getAddressPresentation() {
return mAddressPresentation;
}
/**
* @return The display name for the caller.
*/
public String getCallerDisplayName() {
public CharSequence getCallerDisplayName() {
return mCallerDisplayName;
}
@@ -601,7 +566,7 @@ public final class RemoteConnection {
* @return Whether the {@code RemoteConnection} is requesting that the framework play a
* ringback tone on its behalf.
*/
public boolean isRequestingRingback() {
public boolean isRingbackRequested() {
return false;
}
@@ -738,8 +703,8 @@ public final class RemoteConnection {
* of time.
*
* If the DTMF string contains a {@link TelecommManager#DTMF_CHARACTER_WAIT} symbol, this
* {@code RemoteConnection} will pause playing the tones and notify listeners via
* {@link Listener#onPostDialWait(RemoteConnection, String)}. At this point, the in-call app
* {@code RemoteConnection} will pause playing the tones and notify callbackss via
* {@link Callback#onPostDialWait(RemoteConnection, String)}. At this point, the in-call app
* should display to the user an indication of this state and an affordance to continue
* the postdial sequence. When the user decides to continue the postdial sequence, the in-call
* app should invoke the {@link #postDialContinue(boolean)} method.
@@ -806,8 +771,8 @@ public final class RemoteConnection {
void setState(int state) {
if (mState != state) {
mState = state;
for (Listener l: mListeners) {
l.onStateChanged(this, state);
for (Callback c: mCallbacks) {
c.onStateChanged(this, state);
}
}
}
@@ -821,8 +786,8 @@ public final class RemoteConnection {
mDisconnectCauseCode = cause;
mDisconnectCauseMessage = message;
for (Listener l : mListeners) {
l.onDisconnected(this, cause, message);
for (Callback c : mCallbacks) {
c.onDisconnected(this, cause, message);
}
}
}
@@ -830,11 +795,11 @@ public final class RemoteConnection {
/**
* @hide
*/
void setRequestingRingback(boolean ringback) {
if (mRequestingRingback != ringback) {
mRequestingRingback = ringback;
for (Listener l : mListeners) {
l.onRequestingRingback(this, ringback);
void setRingbackRequested(boolean ringback) {
if (mRingbackRequested != ringback) {
mRingbackRequested = ringback;
for (Callback c : mCallbacks) {
c.onRingbackRequested(this, ringback);
}
}
}
@@ -844,8 +809,8 @@ public final class RemoteConnection {
*/
void setCallCapabilities(int callCapabilities) {
mCallCapabilities = callCapabilities;
for (Listener l : mListeners) {
l.onCallCapabilitiesChanged(this, callCapabilities);
for (Callback c : mCallbacks) {
c.onCallCapabilitiesChanged(this, callCapabilities);
}
}
@@ -853,16 +818,16 @@ public final class RemoteConnection {
* @hide
*/
void setDestroyed() {
if (!mListeners.isEmpty()) {
// Make sure that the listeners are notified that the call is destroyed first.
if (!mCallbacks.isEmpty()) {
// Make sure that the callbacks are notified that the call is destroyed first.
if (mState != Connection.STATE_DISCONNECTED) {
setDisconnected(DisconnectCause.ERROR_UNSPECIFIED, "Connection destroyed.");
}
for (Listener l : mListeners) {
l.onDestroyed(this);
for (Callback c : mCallbacks) {
c.onDestroyed(this);
}
mListeners.clear();
mCallbacks.clear();
mConnected = false;
}
@@ -872,8 +837,8 @@ public final class RemoteConnection {
* @hide
*/
void setPostDialWait(String remainingDigits) {
for (Listener l : mListeners) {
l.onPostDialWait(this, remainingDigits);
for (Callback c : mCallbacks) {
c.onPostDialWait(this, remainingDigits);
}
}
@@ -882,8 +847,8 @@ public final class RemoteConnection {
*/
void setVideoState(int videoState) {
mVideoState = videoState;
for (Listener l : mListeners) {
l.onVideoStateChanged(this, videoState);
for (Callback c : mCallbacks) {
c.onVideoStateChanged(this, videoState);
}
}
@@ -892,33 +857,33 @@ public final class RemoteConnection {
*/
void setVideoProvider(VideoProvider videoProvider) {
mVideoProvider = videoProvider;
for (Listener l : mListeners) {
l.onVideoProviderChanged(this, videoProvider);
for (Callback c : mCallbacks) {
c.onVideoProviderChanged(this, videoProvider);
}
}
/** @hide */
void setAudioModeIsVoip(boolean isVoip) {
mAudioModeIsVoip = isVoip;
for (Listener l : mListeners) {
l.onAudioModeIsVoipChanged(this, isVoip);
void setIsVoipAudioMode(boolean isVoip) {
mIsVoipAudioMode = isVoip;
for (Callback c : mCallbacks) {
c.onVoipAudioChanged(this, isVoip);
}
}
/** @hide */
void setStatusHints(StatusHints statusHints) {
mStatusHints = statusHints;
for (Listener l : mListeners) {
l.onStatusHintsChanged(this, statusHints);
for (Callback c : mCallbacks) {
c.onStatusHintsChanged(this, statusHints);
}
}
/** @hide */
void setHandle(Uri handle, int presentation) {
mHandle = handle;
mHandlePresentation = presentation;
for (Listener l : mListeners) {
l.onHandleChanged(this, handle, presentation);
void setAddress(Uri address, int presentation) {
mAddress = address;
mAddressPresentation = presentation;
for (Callback c : mCallbacks) {
c.onAddressChanged(this, address, presentation);
}
}
@@ -926,8 +891,8 @@ public final class RemoteConnection {
void setCallerDisplayName(String callerDisplayName, int presentation) {
mCallerDisplayName = callerDisplayName;
mCallerDisplayNamePresentation = presentation;
for (Listener l : mListeners) {
l.onCallerDisplayNameChanged(this, callerDisplayName, presentation);
for (Callback c : mCallbacks) {
c.onCallerDisplayNameChanged(this, callerDisplayName, presentation);
}
}
@@ -935,8 +900,8 @@ public final class RemoteConnection {
void setConferenceableConnections(List<RemoteConnection> conferenceableConnections) {
mConferenceableConnections.clear();
mConferenceableConnections.addAll(conferenceableConnections);
for (Listener l : mListeners) {
l.onConferenceableConnectionsChanged(this, mUnmodifiableconferenceableConnections);
for (Callback c : mCallbacks) {
c.onConferenceableConnectionsChanged(this, mUnmodifiableconferenceableConnections);
}
}
@@ -944,8 +909,8 @@ public final class RemoteConnection {
void setConference(RemoteConference conference) {
if (mConference != conference) {
mConference = conference;
for (Listener l : mListeners) {
l.onConferenceChanged(this, conference);
for (Callback c : mCallbacks) {
c.onConferenceChanged(this, conference);
}
}
}

View File

@@ -61,7 +61,7 @@ final class RemoteConnectionService {
mPendingConnections.remove(connection);
// Unconditionally initialize the connection ...
connection.setCallCapabilities(parcel.getCapabilities());
connection.setHandle(
connection.setAddress(
parcel.getHandle(), parcel.getHandlePresentation());
connection.setCallerDisplayName(
parcel.getCallerDisplayName(),
@@ -131,9 +131,9 @@ final class RemoteConnectionService {
}
@Override
public void setRequestingRingback(String callId, boolean ringing) {
findConnectionForAction(callId, "setRequestingRingback")
.setRequestingRingback(ringing);
public void setRingbackRequested(String callId, boolean ringing) {
findConnectionForAction(callId, "setRingbackRequested")
.setRingbackRequested(ringing);
}
@Override
@@ -192,7 +192,7 @@ final class RemoteConnectionService {
conference.setState(parcel.getState());
conference.setCallCapabilities(parcel.getCapabilities());
mConferenceById.put(callId, conference);
conference.addCallback(new RemoteConference.Callback() {
conference.registerCallback(new RemoteConference.Callback() {
@Override
public void onDestroyed(RemoteConference c) {
mConferenceById.remove(callId);
@@ -238,9 +238,9 @@ final class RemoteConnectionService {
}
@Override
public void setAudioModeIsVoip(String callId, boolean isVoip) {
findConnectionForAction(callId, "setAudioModeIsVoip")
.setAudioModeIsVoip(isVoip);
public void setIsVoipAudioMode(String callId, boolean isVoip) {
findConnectionForAction(callId, "setIsVoipAudioMode")
.setIsVoipAudioMode(isVoip);
}
@Override
@@ -250,9 +250,9 @@ final class RemoteConnectionService {
}
@Override
public void setHandle(String callId, Uri handle, int presentation) {
findConnectionForAction(callId, "setHandle")
.setHandle(handle, presentation);
public void setAddress(String callId, Uri address, int presentation) {
findConnectionForAction(callId, "setAddress")
.setAddress(address, presentation);
}
@Override
@@ -343,7 +343,7 @@ final class RemoteConnectionService {
id,
newRequest,
isIncoming);
connection.addListener(new RemoteConnection.Listener() {
connection.registerCallback(new RemoteConnection.Callback() {
@Override
public void onDestroyed(RemoteConnection connection) {
mConnectionById.remove(id);

View File

@@ -49,7 +49,7 @@ oneway interface IConnectionServiceAdapter {
void setOnHold(String callId);
void setRequestingRingback(String callId, boolean ringing);
void setRingbackRequested(String callId, boolean ringing);
void setCallCapabilities(String callId, int callCapabilities);
@@ -67,11 +67,11 @@ oneway interface IConnectionServiceAdapter {
void setVideoState(String callId, int videoState);
void setAudioModeIsVoip(String callId, boolean isVoip);
void setIsVoipAudioMode(String callId, boolean isVoip);
void setStatusHints(String callId, in StatusHints statusHints);
void setHandle(String callId, in Uri handle, int presentation);
void setAddress(String callId, in Uri address, int presentation);
void setCallerDisplayName(String callId, String callerDisplayName, int presentation);