Merge commit '7f61051' into merge2

This commit is contained in:
Etan Cohen
2015-04-24 14:02:07 -07:00
6 changed files with 63 additions and 23 deletions

View File

@@ -30219,6 +30219,7 @@ package android.telecom {
method public final android.telecom.PhoneAccountHandle getPhoneAccountHandle();
method public android.telecom.Connection getPrimaryConnection();
method public final int getState();
method public final android.telecom.StatusHints getStatusHints();
method public void onAudioStateChanged(android.telecom.AudioState);
method public void onConnectionAdded(android.telecom.Connection);
method public void onDisconnect();
@@ -30237,6 +30238,7 @@ package android.telecom {
method public final void setConnectionCapabilities(int);
method public final void setDisconnected(android.telecom.DisconnectCause);
method public final void setOnHold();
method public final void setStatusHints(android.telecom.StatusHints);
field public static final long CONNECT_TIME_NOT_SPECIFIED = 0L; // 0x0L
}

View File

@@ -32330,6 +32330,7 @@ package android.telecom {
method public final android.telecom.PhoneAccountHandle getPhoneAccountHandle();
method public android.telecom.Connection getPrimaryConnection();
method public final int getState();
method public final android.telecom.StatusHints getStatusHints();
method public void onAudioStateChanged(android.telecom.AudioState);
method public void onConnectionAdded(android.telecom.Connection);
method public void onDisconnect();
@@ -32348,6 +32349,7 @@ package android.telecom {
method public final void setConnectionCapabilities(int);
method public final void setDisconnected(android.telecom.DisconnectCause);
method public final void setOnHold();
method public final void setStatusHints(android.telecom.StatusHints);
field public static final long CONNECT_TIME_NOT_SPECIFIED = 0L; // 0x0L
}

View File

@@ -50,6 +50,7 @@ public abstract class Conference implements Conferenceable {
Conference conference, int connectionCapabilities) {}
public void onVideoStateChanged(Conference c, int videoState) { }
public void onVideoProviderChanged(Conference c, Connection.VideoProvider videoProvider) {}
public void onStatusHintsChanged(Conference conference, StatusHints statusHints) {}
}
private final Set<Listener> mListeners = new CopyOnWriteArraySet<>();
@@ -67,6 +68,7 @@ public abstract class Conference implements Conferenceable {
private int mConnectionCapabilities;
private String mDisconnectMessage;
private long mConnectTimeMillis = CONNECT_TIME_NOT_SPECIFIED;
private StatusHints mStatusHints;
private final Connection.Listener mConnectionDeathListener = new Connection.Listener() {
@Override
@@ -535,4 +537,23 @@ public abstract class Conference implements Conferenceable {
getVideoProvider(),
super.toString());
}
/**
* Sets the label and icon status to display in the InCall UI.
*
* @param statusHints The status label and icon to set.
*/
public final void setStatusHints(StatusHints statusHints) {
mStatusHints = statusHints;
for (Listener l : mListeners) {
l.onStatusHintsChanged(this, statusHints);
}
}
/**
* @return The status hints for this conference.
*/
public final StatusHints getStatusHints() {
return mStatusHints;
}
}

View File

@@ -427,6 +427,12 @@ public abstract class ConnectionService extends Service {
videoProvider);
mAdapter.setVideoProvider(id, videoProvider);
}
@Override
public void onStatusHintsChanged(Conference conference, StatusHints statusHints) {
String id = mIdByConference.get(conference);
mAdapter.setStatusHints(id, statusHints);
}
};
private final Connection.Listener mConnectionListener = new Connection.Listener() {
@@ -903,8 +909,9 @@ public abstract class ConnectionService extends Service {
conference.getVideoProvider() == null ?
null : conference.getVideoProvider().getInterface(),
conference.getVideoState(),
conference.getConnectTimeMillis()
);
conference.getConnectTimeMillis(),
conference.getStatusHints());
mAdapter.addConferenceCall(id, parcelableConference);
mAdapter.setVideoProvider(id, conference.getVideoProvider());
mAdapter.setVideoState(id, conference.getVideoState());

View File

@@ -34,25 +34,10 @@ public final class ParcelableConference implements Parcelable {
private int mState;
private int mConnectionCapabilities;
private List<String> mConnectionIds;
private long mConnectTimeMillis;
private long mConnectTimeMillis = Conference.CONNECT_TIME_NOT_SPECIFIED;
private final IVideoProvider mVideoProvider;
private final int mVideoState;
public ParcelableConference(
PhoneAccountHandle phoneAccount,
int state,
int connectionCapabilities,
List<String> connectionIds,
IVideoProvider videoProvider,
int videoState) {
mPhoneAccount = phoneAccount;
mState = state;
mConnectionCapabilities = connectionCapabilities;
mConnectionIds = connectionIds;
mConnectTimeMillis = Conference.CONNECT_TIME_NOT_SPECIFIED;
mVideoProvider = videoProvider;
mVideoState = videoState;
}
private StatusHints mStatusHints;
public ParcelableConference(
PhoneAccountHandle phoneAccount,
@@ -61,9 +46,17 @@ public final class ParcelableConference implements Parcelable {
List<String> connectionIds,
IVideoProvider videoProvider,
int videoState,
long connectTimeMillis) {
this(phoneAccount, state, connectionCapabilities, connectionIds, videoProvider, videoState);
long connectTimeMillis,
StatusHints statusHints) {
mPhoneAccount = phoneAccount;
mState = state;
mConnectionCapabilities = connectionCapabilities;
mConnectionIds = connectionIds;
mConnectTimeMillis = Conference.CONNECT_TIME_NOT_SPECIFIED;
mVideoProvider = videoProvider;
mVideoState = videoState;
mConnectTimeMillis = connectTimeMillis;
mStatusHints = statusHints;
}
@Override
@@ -113,6 +106,10 @@ public final class ParcelableConference implements Parcelable {
return mVideoState;
}
public StatusHints getStatusHints() {
return mStatusHints;
}
public static final Parcelable.Creator<ParcelableConference> CREATOR =
new Parcelable.Creator<ParcelableConference> () {
@Override
@@ -124,13 +121,14 @@ public final class ParcelableConference implements Parcelable {
List<String> connectionIds = new ArrayList<>(2);
source.readList(connectionIds, classLoader);
long connectTimeMillis = source.readLong();
StatusHints statusHints = source.readParcelable(classLoader);
IVideoProvider videoCallProvider =
IVideoProvider.Stub.asInterface(source.readStrongBinder());
int videoState = source.readInt();
return new ParcelableConference(phoneAccount, state, capabilities, connectionIds,
videoCallProvider, videoState, connectTimeMillis);
videoCallProvider, videoState, connectTimeMillis, statusHints);
}
@Override
@@ -156,5 +154,6 @@ public final class ParcelableConference implements Parcelable {
destination.writeStrongBinder(
mVideoProvider != null ? mVideoProvider.asBinder() : null);
destination.writeInt(mVideoState);
destination.writeParcelable(mStatusHints, 0);
}
}

View File

@@ -808,7 +808,7 @@ public class RttManager {
if (mRttCapabilities == null) {
if(getRttCapabilities() == null) {
Log.e(TAG, "Can not get RTT capabilities");
//throw new IllegalStateException("RTT chip is not working");
throw new IllegalStateException("RTT chip is not working");
}
}
@@ -866,6 +866,15 @@ public class RttManager {
return true;
}
/**
* Request to start an RTT ranging
*
* @param params -- RTT request Parameters
* @param listener -- Call back to inform RTT result
* @exception throw IllegalArgumentException when params are illegal
* throw IllegalStateException when RttCapabilities do not exist
*/
public void startRanging(RttParams[] params, RttListener listener) {
int index = 0;
for(RttParams rttParam : params) {