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 final android.telecom.PhoneAccountHandle getPhoneAccountHandle();
|
||||||
method public android.telecom.Connection getPrimaryConnection();
|
method public android.telecom.Connection getPrimaryConnection();
|
||||||
method public final int getState();
|
method public final int getState();
|
||||||
|
method public final android.telecom.StatusHints getStatusHints();
|
||||||
method public void onAudioStateChanged(android.telecom.AudioState);
|
method public void onAudioStateChanged(android.telecom.AudioState);
|
||||||
method public void onConnectionAdded(android.telecom.Connection);
|
method public void onConnectionAdded(android.telecom.Connection);
|
||||||
method public void onDisconnect();
|
method public void onDisconnect();
|
||||||
@ -30013,6 +30014,7 @@ package android.telecom {
|
|||||||
method public final void setConnectionCapabilities(int);
|
method public final void setConnectionCapabilities(int);
|
||||||
method public final void setDisconnected(android.telecom.DisconnectCause);
|
method public final void setDisconnected(android.telecom.DisconnectCause);
|
||||||
method public final void setOnHold();
|
method public final void setOnHold();
|
||||||
|
method public final void setStatusHints(android.telecom.StatusHints);
|
||||||
field public static long CONNECT_TIME_NOT_SPECIFIED;
|
field public static long CONNECT_TIME_NOT_SPECIFIED;
|
||||||
field protected android.telecom.PhoneAccountHandle mPhoneAccount;
|
field protected android.telecom.PhoneAccountHandle mPhoneAccount;
|
||||||
}
|
}
|
||||||
|
@ -49,6 +49,7 @@ public abstract class Conference implements IConferenceable {
|
|||||||
public void onDestroyed(Conference conference) {}
|
public void onDestroyed(Conference conference) {}
|
||||||
public void onConnectionCapabilitiesChanged(
|
public void onConnectionCapabilitiesChanged(
|
||||||
Conference conference, int connectionCapabilities) {}
|
Conference conference, int connectionCapabilities) {}
|
||||||
|
public void onStatusHintsChanged(Conference conference, StatusHints statusHints) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
private final Set<Listener> mListeners = new CopyOnWriteArraySet<>();
|
private final Set<Listener> mListeners = new CopyOnWriteArraySet<>();
|
||||||
@ -66,6 +67,7 @@ public abstract class Conference implements IConferenceable {
|
|||||||
private int mConnectionCapabilities;
|
private int mConnectionCapabilities;
|
||||||
private String mDisconnectMessage;
|
private String mDisconnectMessage;
|
||||||
private long mConnectTimeMillis = CONNECT_TIME_NOT_SPECIFIED;
|
private long mConnectTimeMillis = CONNECT_TIME_NOT_SPECIFIED;
|
||||||
|
private StatusHints mStatusHints;
|
||||||
|
|
||||||
private final Connection.Listener mConnectionDeathListener = new Connection.Listener() {
|
private final Connection.Listener mConnectionDeathListener = new Connection.Listener() {
|
||||||
@Override
|
@Override
|
||||||
@ -484,4 +486,23 @@ public abstract class Conference implements IConferenceable {
|
|||||||
}
|
}
|
||||||
mConferenceableConnections.clear();
|
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));
|
Connection.capabilitiesToString(connectionCapabilities));
|
||||||
mAdapter.setConnectionCapabilities(id, 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() {
|
private final Connection.Listener mConnectionListener = new Connection.Listener() {
|
||||||
@ -884,7 +890,8 @@ public abstract class ConnectionService extends Service {
|
|||||||
conference.getState(),
|
conference.getState(),
|
||||||
conference.getConnectionCapabilities(),
|
conference.getConnectionCapabilities(),
|
||||||
connectionIds,
|
connectionIds,
|
||||||
conference.getConnectTimeMillis());
|
conference.getConnectTimeMillis(),
|
||||||
|
conference.getStatusHints());
|
||||||
mAdapter.addConferenceCall(id, parcelableConference);
|
mAdapter.addConferenceCall(id, parcelableConference);
|
||||||
|
|
||||||
// Go through any child calls and set the parent.
|
// Go through any child calls and set the parent.
|
||||||
|
@ -32,28 +32,22 @@ public final class ParcelableConference implements Parcelable {
|
|||||||
private int mState;
|
private int mState;
|
||||||
private int mConnectionCapabilities;
|
private int mConnectionCapabilities;
|
||||||
private List<String> mConnectionIds;
|
private List<String> mConnectionIds;
|
||||||
private long mConnectTimeMillis;
|
private long mConnectTimeMillis = Conference.CONNECT_TIME_NOT_SPECIFIED;
|
||||||
|
private StatusHints mStatusHints;
|
||||||
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
public ParcelableConference(
|
public ParcelableConference(
|
||||||
PhoneAccountHandle phoneAccount,
|
PhoneAccountHandle phoneAccount,
|
||||||
int state,
|
int state,
|
||||||
int connectionCapabilities,
|
int connectionCapabilities,
|
||||||
List<String> connectionIds,
|
List<String> connectionIds,
|
||||||
long connectTimeMillis) {
|
long connectTimeMillis,
|
||||||
this(phoneAccount, state, connectionCapabilities, connectionIds);
|
StatusHints statusHints) {
|
||||||
|
mPhoneAccount = phoneAccount;
|
||||||
|
mState = state;
|
||||||
|
mConnectionCapabilities = connectionCapabilities;
|
||||||
|
mConnectionIds = connectionIds;
|
||||||
mConnectTimeMillis = connectTimeMillis;
|
mConnectTimeMillis = connectTimeMillis;
|
||||||
|
mStatusHints = statusHints;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -92,6 +86,10 @@ public final class ParcelableConference implements Parcelable {
|
|||||||
return mConnectTimeMillis;
|
return mConnectTimeMillis;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public StatusHints getStatusHints() {
|
||||||
|
return mStatusHints;
|
||||||
|
}
|
||||||
|
|
||||||
public static final Parcelable.Creator<ParcelableConference> CREATOR =
|
public static final Parcelable.Creator<ParcelableConference> CREATOR =
|
||||||
new Parcelable.Creator<ParcelableConference> () {
|
new Parcelable.Creator<ParcelableConference> () {
|
||||||
@Override
|
@Override
|
||||||
@ -103,9 +101,10 @@ public final class ParcelableConference implements Parcelable {
|
|||||||
List<String> connectionIds = new ArrayList<>(2);
|
List<String> connectionIds = new ArrayList<>(2);
|
||||||
source.readList(connectionIds, classLoader);
|
source.readList(connectionIds, classLoader);
|
||||||
long connectTimeMillis = source.readLong();
|
long connectTimeMillis = source.readLong();
|
||||||
|
StatusHints statusHints = source.readParcelable(classLoader);
|
||||||
|
|
||||||
return new ParcelableConference(phoneAccount, state, capabilities, connectionIds,
|
return new ParcelableConference(phoneAccount, state, capabilities, connectionIds,
|
||||||
connectTimeMillis);
|
connectTimeMillis, statusHints);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -128,5 +127,6 @@ public final class ParcelableConference implements Parcelable {
|
|||||||
destination.writeInt(mConnectionCapabilities);
|
destination.writeInt(mConnectionCapabilities);
|
||||||
destination.writeList(mConnectionIds);
|
destination.writeList(mConnectionIds);
|
||||||
destination.writeLong(mConnectTimeMillis);
|
destination.writeLong(mConnectTimeMillis);
|
||||||
|
destination.writeParcelable(mStatusHints, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user