Track conference start in system elapsed time.

This is important so that Telecom can track the duration of the call,
which is tracked using wall clock time.

Test: Manual, unit test
Bug: 64068300
Change-Id: If642d282cd8134060acf6ffe8d81215c394d800c
This commit is contained in:
Tyler Gunn
2017-08-04 09:27:26 -07:00
parent e605167e0d
commit b2f875bc54
8 changed files with 100 additions and 9 deletions

View File

@@ -41,6 +41,7 @@ public final class ParcelableConference implements Parcelable {
private final int mVideoState;
private StatusHints mStatusHints;
private Bundle mExtras;
private long mConnectElapsedTimeMillis = Conference.CONNECT_TIME_NOT_SPECIFIED;
public ParcelableConference(
PhoneAccountHandle phoneAccount,
@@ -51,6 +52,7 @@ public final class ParcelableConference implements Parcelable {
IVideoProvider videoProvider,
int videoState,
long connectTimeMillis,
long connectElapsedTimeMillis,
StatusHints statusHints,
Bundle extras) {
mPhoneAccount = phoneAccount;
@@ -58,12 +60,12 @@ public final class ParcelableConference implements Parcelable {
mConnectionCapabilities = connectionCapabilities;
mConnectionProperties = connectionProperties;
mConnectionIds = connectionIds;
mConnectTimeMillis = Conference.CONNECT_TIME_NOT_SPECIFIED;
mVideoProvider = videoProvider;
mVideoState = videoState;
mConnectTimeMillis = connectTimeMillis;
mStatusHints = statusHints;
mExtras = extras;
mConnectElapsedTimeMillis = connectElapsedTimeMillis;
}
@Override
@@ -111,6 +113,11 @@ public final class ParcelableConference implements Parcelable {
public long getConnectTimeMillis() {
return mConnectTimeMillis;
}
public long getConnectElapsedTimeMillis() {
return mConnectElapsedTimeMillis;
}
public IVideoProvider getVideoProvider() {
return mVideoProvider;
}
@@ -144,10 +151,11 @@ public final class ParcelableConference implements Parcelable {
StatusHints statusHints = source.readParcelable(classLoader);
Bundle extras = source.readBundle(classLoader);
int properties = source.readInt();
long connectElapsedTimeMillis = source.readLong();
return new ParcelableConference(phoneAccount, state, capabilities, properties,
connectionIds, videoCallProvider, videoState, connectTimeMillis, statusHints,
extras);
connectionIds, videoCallProvider, videoState, connectTimeMillis,
connectElapsedTimeMillis, statusHints, extras);
}
@Override
@@ -176,5 +184,6 @@ public final class ParcelableConference implements Parcelable {
destination.writeParcelable(mStatusHints, 0);
destination.writeBundle(mExtras);
destination.writeInt(mConnectionProperties);
destination.writeLong(mConnectElapsedTimeMillis);
}
}