Add StatusHints to Conference object.
+ Consolidated ParcelableConference constructors; only one is used. Bug: 20181703 Change-Id: Iad49f10404e1c1eedc4ef68525bde0f10a8dfc97
This commit is contained in:
@ -29995,6 +29995,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();
|
||||
@ -30013,6 +30014,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 long CONNECT_TIME_NOT_SPECIFIED;
|
||||
field protected android.telecom.PhoneAccountHandle mPhoneAccount;
|
||||
}
|
||||
|
@ -49,6 +49,7 @@ public abstract class Conference implements IConferenceable {
|
||||
public void onDestroyed(Conference conference) {}
|
||||
public void onConnectionCapabilitiesChanged(
|
||||
Conference conference, int connectionCapabilities) {}
|
||||
public void onStatusHintsChanged(Conference conference, StatusHints statusHints) {}
|
||||
}
|
||||
|
||||
private final Set<Listener> mListeners = new CopyOnWriteArraySet<>();
|
||||
@ -66,6 +67,7 @@ public abstract class Conference implements IConferenceable {
|
||||
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
|
||||
@ -484,4 +486,23 @@ public abstract class Conference implements IConferenceable {
|
||||
}
|
||||
mConferenceableConnections.clear();
|
||||
}
|
||||
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
}
|
||||
|
@ -415,6 +415,12 @@ public abstract class ConnectionService extends Service {
|
||||
Connection.capabilitiesToString(connectionCapabilities));
|
||||
mAdapter.setConnectionCapabilities(id, connectionCapabilities);
|
||||
}
|
||||
|
||||
@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() {
|
||||
@ -884,7 +890,8 @@ public abstract class ConnectionService extends Service {
|
||||
conference.getState(),
|
||||
conference.getConnectionCapabilities(),
|
||||
connectionIds,
|
||||
conference.getConnectTimeMillis());
|
||||
conference.getConnectTimeMillis(),
|
||||
conference.getStatusHints());
|
||||
mAdapter.addConferenceCall(id, parcelableConference);
|
||||
|
||||
// Go through any child calls and set the parent.
|
||||
|
@ -32,28 +32,22 @@ public final class ParcelableConference implements Parcelable {
|
||||
private int mState;
|
||||
private int mConnectionCapabilities;
|
||||
private List<String> mConnectionIds;
|
||||
private long mConnectTimeMillis;
|
||||
|
||||
public ParcelableConference(
|
||||
PhoneAccountHandle phoneAccount,
|
||||
int state,
|
||||
int connectionCapabilities,
|
||||
List<String> connectionIds) {
|
||||
mPhoneAccount = phoneAccount;
|
||||
mState = state;
|
||||
mConnectionCapabilities = connectionCapabilities;
|
||||
mConnectionIds = connectionIds;
|
||||
mConnectTimeMillis = Conference.CONNECT_TIME_NOT_SPECIFIED;
|
||||
}
|
||||
private long mConnectTimeMillis = Conference.CONNECT_TIME_NOT_SPECIFIED;
|
||||
private StatusHints mStatusHints;
|
||||
|
||||
public ParcelableConference(
|
||||
PhoneAccountHandle phoneAccount,
|
||||
int state,
|
||||
int connectionCapabilities,
|
||||
List<String> connectionIds,
|
||||
long connectTimeMillis) {
|
||||
this(phoneAccount, state, connectionCapabilities, connectionIds);
|
||||
long connectTimeMillis,
|
||||
StatusHints statusHints) {
|
||||
mPhoneAccount = phoneAccount;
|
||||
mState = state;
|
||||
mConnectionCapabilities = connectionCapabilities;
|
||||
mConnectionIds = connectionIds;
|
||||
mConnectTimeMillis = connectTimeMillis;
|
||||
mStatusHints = statusHints;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -92,6 +86,10 @@ public final class ParcelableConference implements Parcelable {
|
||||
return mConnectTimeMillis;
|
||||
}
|
||||
|
||||
public StatusHints getStatusHints() {
|
||||
return mStatusHints;
|
||||
}
|
||||
|
||||
public static final Parcelable.Creator<ParcelableConference> CREATOR =
|
||||
new Parcelable.Creator<ParcelableConference> () {
|
||||
@Override
|
||||
@ -103,9 +101,10 @@ 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);
|
||||
|
||||
return new ParcelableConference(phoneAccount, state, capabilities, connectionIds,
|
||||
connectTimeMillis);
|
||||
connectTimeMillis, statusHints);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -128,5 +127,6 @@ public final class ParcelableConference implements Parcelable {
|
||||
destination.writeInt(mConnectionCapabilities);
|
||||
destination.writeList(mConnectionIds);
|
||||
destination.writeLong(mConnectTimeMillis);
|
||||
destination.writeParcelable(mStatusHints, 0);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user