Loading telecomm/java/android/telecom/Conference.java +34 −1 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.SystemApi; import android.os.Bundle; import android.os.SystemClock; import android.telecom.Connection.VideoProvider; import android.util.ArraySet; Loading Loading @@ -81,6 +82,7 @@ public abstract class Conference extends Conferenceable { private int mConnectionProperties; private String mDisconnectMessage; private long mConnectTimeMillis = CONNECT_TIME_NOT_SPECIFIED; private long mConnectElapsedTimeMillis = CONNECT_TIME_NOT_SPECIFIED; private StatusHints mStatusHints; private Bundle mExtras; private Set<String> mPreviousExtraKeys; Loading Loading @@ -582,7 +584,8 @@ public abstract class Conference extends Conferenceable { } /** * Sets the connection start time of the {@code Conference}. * Sets the connection start time of the {@code Conference}. Should be specified in wall-clock * time returned by {@link System#currentTimeMillis()}. * * @param connectionTimeMillis The connection time, in milliseconds. */ Loading @@ -590,6 +593,21 @@ public abstract class Conference extends Conferenceable { mConnectTimeMillis = connectionTimeMillis; } /** * Sets the elapsed time since system boot when the {@link Conference} was connected. * This is used to determine the duration of the {@link Conference}. * <p> * When setting the connection elapsed time, you should always set the connection time via * {@link #setConnectionTime(long)}. * * @param connectionElapsedTime The connection time, as measured by * {@link SystemClock#elapsedRealtime()}. * @hide */ public final void setConnectionElapsedTime(long connectionElapsedTime) { mConnectElapsedTimeMillis = connectionElapsedTime; } /** * @hide * @deprecated Use {@link #getConnectionTime}. Loading @@ -611,6 +629,21 @@ public abstract class Conference extends Conferenceable { return mConnectTimeMillis; } /** * Retrieves the connection start time of the {@link Conference}, if specified. A value of * {@link #CONNECT_TIME_NOT_SPECIFIED} indicates that Telecom should determine the start time * of the conference. * * This is based on the value of {@link SystemClock#elapsedRealtime()} to ensure that it is not * impacted by wall clock changes (user initiated, network initiated, time zone change, etc). * * @return The elapsed time at which the {@link Conference} was connected. * @hide */ public final long getConnectElapsedTime() { return mConnectElapsedTimeMillis; } /** * Inform this Conference that the state of its audio output has been changed externally. * Loading telecomm/java/android/telecom/Connection.java +33 −4 Original line number Diff line number Diff line Loading @@ -20,7 +20,6 @@ import com.android.internal.os.SomeArgs; import com.android.internal.telecom.IVideoCallback; import com.android.internal.telecom.IVideoProvider; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.SystemApi; Loading @@ -37,14 +36,13 @@ import android.os.Looper; import android.os.Message; import android.os.ParcelFileDescriptor; import android.os.RemoteException; import android.os.SystemClock; import android.util.ArraySet; import android.view.Surface; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; Loading Loading @@ -1696,6 +1694,7 @@ public abstract class Connection extends Conferenceable { private VideoProvider mVideoProvider; private boolean mAudioModeIsVoip; private long mConnectTimeMillis = Conference.CONNECT_TIME_NOT_SPECIFIED; private long mConnectElapsedTimeMillis = Conference.CONNECT_TIME_NOT_SPECIFIED; private StatusHints mStatusHints; private int mVideoState; private DisconnectCause mDisconnectCause; Loading Loading @@ -1839,6 +1838,22 @@ public abstract class Connection extends Conferenceable { return mConnectTimeMillis; } /** * Retrieves the connection start time of the {@link Connection}, if specified. A value of * {@link Conference#CONNECT_TIME_NOT_SPECIFIED} indicates that Telecom should determine the * start time of the conference. * * Based on the value of {@link SystemClock#elapsedRealtime()}, which ensures that wall-clock * changes do not impact the call duration. * * @return The time at which the {@link Connection} was connected. * * @hide */ public final long getConnectElapsedTimeMillis() { return mConnectElapsedTimeMillis; } /** * @return The status hints for this connection. */ Loading Loading @@ -2250,7 +2265,8 @@ public abstract class Connection extends Conferenceable { * Sets the time at which a call became active on this Connection. This is set only * when a conference call becomes active on this connection. * * @param connectionTimeMillis The connection time, in milliseconds. * @param connectTimeMillis The connection time, in milliseconds. Should be set using a value * obtained from {@link System#currentTimeMillis()}. * * @hide */ Loading @@ -2258,6 +2274,19 @@ public abstract class Connection extends Conferenceable { mConnectTimeMillis = connectTimeMillis; } /** * Sets the time at which a call became active on this Connection. This is set only * when a conference call becomes active on this connection. * * @param connectElapsedTimeMillis The connection time, in milliseconds. Stored in the format * {@link SystemClock#elapsedRealtime()}. * * @hide */ public final void setConnectElapsedTimeMillis(long connectElapsedTimeMillis) { mConnectElapsedTimeMillis = connectElapsedTimeMillis; } /** * Sets the label and icon status to display in the in-call UI. * Loading telecomm/java/android/telecom/ConnectionService.java +3 −0 Original line number Diff line number Diff line Loading @@ -1405,6 +1405,7 @@ public abstract class ConnectionService extends Service { connection.isRingbackRequested(), connection.getAudioModeIsVoip(), connection.getConnectTimeMillis(), connection.getConnectElapsedTimeMillis(), connection.getStatusHints(), connection.getDisconnectCause(), createIdList(connection.getConferenceables()), Loading Loading @@ -1822,6 +1823,7 @@ public abstract class ConnectionService extends Service { null : conference.getVideoProvider().getInterface(), conference.getVideoState(), conference.getConnectTimeMillis(), conference.getConnectElapsedTime(), conference.getStatusHints(), conference.getExtras()); Loading Loading @@ -1887,6 +1889,7 @@ public abstract class ConnectionService extends Service { connection.isRingbackRequested(), connection.getAudioModeIsVoip(), connection.getConnectTimeMillis(), connection.getConnectElapsedTimeMillis(), connection.getStatusHints(), connection.getDisconnectCause(), emptyList, Loading telecomm/java/android/telecom/ParcelableConference.java +12 −3 Original line number Diff line number Diff line Loading @@ -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, Loading @@ -51,6 +52,7 @@ public final class ParcelableConference implements Parcelable { IVideoProvider videoProvider, int videoState, long connectTimeMillis, long connectElapsedTimeMillis, StatusHints statusHints, Bundle extras) { mPhoneAccount = phoneAccount; Loading @@ -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 Loading Loading @@ -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; } Loading Loading @@ -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 Loading Loading @@ -176,5 +184,6 @@ public final class ParcelableConference implements Parcelable { destination.writeParcelable(mStatusHints, 0); destination.writeBundle(mExtras); destination.writeInt(mConnectionProperties); destination.writeLong(mConnectElapsedTimeMillis); } } telecomm/java/android/telecom/ParcelableConnection.java +13 −1 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ public final class ParcelableConnection implements Parcelable { private final boolean mRingbackRequested; private final boolean mIsVoipAudioMode; private final long mConnectTimeMillis; private final long mConnectElapsedTimeMillis; private final StatusHints mStatusHints; private final DisconnectCause mDisconnectCause; private final List<String> mConferenceableConnectionIds; Loading @@ -69,6 +70,7 @@ public final class ParcelableConnection implements Parcelable { boolean ringbackRequested, boolean isVoipAudioMode, long connectTimeMillis, long connectElapsedTimeMillis, StatusHints statusHints, DisconnectCause disconnectCause, List<String> conferenceableConnectionIds, Loading @@ -77,7 +79,8 @@ public final class ParcelableConnection implements Parcelable { this(phoneAccount, state, capabilities, properties, supportedAudioRoutes, address, addressPresentation, callerDisplayName, callerDisplayNamePresentation, videoProvider, videoState, ringbackRequested, isVoipAudioMode, connectTimeMillis, statusHints, disconnectCause, conferenceableConnectionIds, extras); connectElapsedTimeMillis, statusHints, disconnectCause, conferenceableConnectionIds, extras); mParentCallId = parentCallId; } Loading @@ -97,6 +100,7 @@ public final class ParcelableConnection implements Parcelable { boolean ringbackRequested, boolean isVoipAudioMode, long connectTimeMillis, long connectElapsedTimeMillis, StatusHints statusHints, DisconnectCause disconnectCause, List<String> conferenceableConnectionIds, Loading @@ -115,6 +119,7 @@ public final class ParcelableConnection implements Parcelable { mRingbackRequested = ringbackRequested; mIsVoipAudioMode = isVoipAudioMode; mConnectTimeMillis = connectTimeMillis; mConnectElapsedTimeMillis = connectElapsedTimeMillis; mStatusHints = statusHints; mDisconnectCause = disconnectCause; mConferenceableConnectionIds = conferenceableConnectionIds; Loading Loading @@ -190,6 +195,10 @@ public final class ParcelableConnection implements Parcelable { return mConnectTimeMillis; } public long getConnectElapsedTimeMillis() { return mConnectElapsedTimeMillis; } public final StatusHints getStatusHints() { return mStatusHints; } Loading Loading @@ -255,6 +264,7 @@ public final class ParcelableConnection implements Parcelable { int properties = source.readInt(); int supportedAudioRoutes = source.readInt(); String parentCallId = source.readString(); long connectElapsedTimeMillis = source.readLong(); return new ParcelableConnection( phoneAccount, Loading @@ -271,6 +281,7 @@ public final class ParcelableConnection implements Parcelable { ringbackRequested, audioModeIsVoip, connectTimeMillis, connectElapsedTimeMillis, statusHints, disconnectCause, conferenceableConnectionIds, Loading Loading @@ -313,5 +324,6 @@ public final class ParcelableConnection implements Parcelable { destination.writeInt(mConnectionProperties); destination.writeInt(mSupportedAudioRoutes); destination.writeString(mParentCallId); destination.writeLong(mConnectElapsedTimeMillis); } } Loading
telecomm/java/android/telecom/Conference.java +34 −1 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.SystemApi; import android.os.Bundle; import android.os.SystemClock; import android.telecom.Connection.VideoProvider; import android.util.ArraySet; Loading Loading @@ -81,6 +82,7 @@ public abstract class Conference extends Conferenceable { private int mConnectionProperties; private String mDisconnectMessage; private long mConnectTimeMillis = CONNECT_TIME_NOT_SPECIFIED; private long mConnectElapsedTimeMillis = CONNECT_TIME_NOT_SPECIFIED; private StatusHints mStatusHints; private Bundle mExtras; private Set<String> mPreviousExtraKeys; Loading Loading @@ -582,7 +584,8 @@ public abstract class Conference extends Conferenceable { } /** * Sets the connection start time of the {@code Conference}. * Sets the connection start time of the {@code Conference}. Should be specified in wall-clock * time returned by {@link System#currentTimeMillis()}. * * @param connectionTimeMillis The connection time, in milliseconds. */ Loading @@ -590,6 +593,21 @@ public abstract class Conference extends Conferenceable { mConnectTimeMillis = connectionTimeMillis; } /** * Sets the elapsed time since system boot when the {@link Conference} was connected. * This is used to determine the duration of the {@link Conference}. * <p> * When setting the connection elapsed time, you should always set the connection time via * {@link #setConnectionTime(long)}. * * @param connectionElapsedTime The connection time, as measured by * {@link SystemClock#elapsedRealtime()}. * @hide */ public final void setConnectionElapsedTime(long connectionElapsedTime) { mConnectElapsedTimeMillis = connectionElapsedTime; } /** * @hide * @deprecated Use {@link #getConnectionTime}. Loading @@ -611,6 +629,21 @@ public abstract class Conference extends Conferenceable { return mConnectTimeMillis; } /** * Retrieves the connection start time of the {@link Conference}, if specified. A value of * {@link #CONNECT_TIME_NOT_SPECIFIED} indicates that Telecom should determine the start time * of the conference. * * This is based on the value of {@link SystemClock#elapsedRealtime()} to ensure that it is not * impacted by wall clock changes (user initiated, network initiated, time zone change, etc). * * @return The elapsed time at which the {@link Conference} was connected. * @hide */ public final long getConnectElapsedTime() { return mConnectElapsedTimeMillis; } /** * Inform this Conference that the state of its audio output has been changed externally. * Loading
telecomm/java/android/telecom/Connection.java +33 −4 Original line number Diff line number Diff line Loading @@ -20,7 +20,6 @@ import com.android.internal.os.SomeArgs; import com.android.internal.telecom.IVideoCallback; import com.android.internal.telecom.IVideoProvider; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.SystemApi; Loading @@ -37,14 +36,13 @@ import android.os.Looper; import android.os.Message; import android.os.ParcelFileDescriptor; import android.os.RemoteException; import android.os.SystemClock; import android.util.ArraySet; import android.view.Surface; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; Loading Loading @@ -1696,6 +1694,7 @@ public abstract class Connection extends Conferenceable { private VideoProvider mVideoProvider; private boolean mAudioModeIsVoip; private long mConnectTimeMillis = Conference.CONNECT_TIME_NOT_SPECIFIED; private long mConnectElapsedTimeMillis = Conference.CONNECT_TIME_NOT_SPECIFIED; private StatusHints mStatusHints; private int mVideoState; private DisconnectCause mDisconnectCause; Loading Loading @@ -1839,6 +1838,22 @@ public abstract class Connection extends Conferenceable { return mConnectTimeMillis; } /** * Retrieves the connection start time of the {@link Connection}, if specified. A value of * {@link Conference#CONNECT_TIME_NOT_SPECIFIED} indicates that Telecom should determine the * start time of the conference. * * Based on the value of {@link SystemClock#elapsedRealtime()}, which ensures that wall-clock * changes do not impact the call duration. * * @return The time at which the {@link Connection} was connected. * * @hide */ public final long getConnectElapsedTimeMillis() { return mConnectElapsedTimeMillis; } /** * @return The status hints for this connection. */ Loading Loading @@ -2250,7 +2265,8 @@ public abstract class Connection extends Conferenceable { * Sets the time at which a call became active on this Connection. This is set only * when a conference call becomes active on this connection. * * @param connectionTimeMillis The connection time, in milliseconds. * @param connectTimeMillis The connection time, in milliseconds. Should be set using a value * obtained from {@link System#currentTimeMillis()}. * * @hide */ Loading @@ -2258,6 +2274,19 @@ public abstract class Connection extends Conferenceable { mConnectTimeMillis = connectTimeMillis; } /** * Sets the time at which a call became active on this Connection. This is set only * when a conference call becomes active on this connection. * * @param connectElapsedTimeMillis The connection time, in milliseconds. Stored in the format * {@link SystemClock#elapsedRealtime()}. * * @hide */ public final void setConnectElapsedTimeMillis(long connectElapsedTimeMillis) { mConnectElapsedTimeMillis = connectElapsedTimeMillis; } /** * Sets the label and icon status to display in the in-call UI. * Loading
telecomm/java/android/telecom/ConnectionService.java +3 −0 Original line number Diff line number Diff line Loading @@ -1405,6 +1405,7 @@ public abstract class ConnectionService extends Service { connection.isRingbackRequested(), connection.getAudioModeIsVoip(), connection.getConnectTimeMillis(), connection.getConnectElapsedTimeMillis(), connection.getStatusHints(), connection.getDisconnectCause(), createIdList(connection.getConferenceables()), Loading Loading @@ -1822,6 +1823,7 @@ public abstract class ConnectionService extends Service { null : conference.getVideoProvider().getInterface(), conference.getVideoState(), conference.getConnectTimeMillis(), conference.getConnectElapsedTime(), conference.getStatusHints(), conference.getExtras()); Loading Loading @@ -1887,6 +1889,7 @@ public abstract class ConnectionService extends Service { connection.isRingbackRequested(), connection.getAudioModeIsVoip(), connection.getConnectTimeMillis(), connection.getConnectElapsedTimeMillis(), connection.getStatusHints(), connection.getDisconnectCause(), emptyList, Loading
telecomm/java/android/telecom/ParcelableConference.java +12 −3 Original line number Diff line number Diff line Loading @@ -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, Loading @@ -51,6 +52,7 @@ public final class ParcelableConference implements Parcelable { IVideoProvider videoProvider, int videoState, long connectTimeMillis, long connectElapsedTimeMillis, StatusHints statusHints, Bundle extras) { mPhoneAccount = phoneAccount; Loading @@ -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 Loading Loading @@ -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; } Loading Loading @@ -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 Loading Loading @@ -176,5 +184,6 @@ public final class ParcelableConference implements Parcelable { destination.writeParcelable(mStatusHints, 0); destination.writeBundle(mExtras); destination.writeInt(mConnectionProperties); destination.writeLong(mConnectElapsedTimeMillis); } }
telecomm/java/android/telecom/ParcelableConnection.java +13 −1 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ public final class ParcelableConnection implements Parcelable { private final boolean mRingbackRequested; private final boolean mIsVoipAudioMode; private final long mConnectTimeMillis; private final long mConnectElapsedTimeMillis; private final StatusHints mStatusHints; private final DisconnectCause mDisconnectCause; private final List<String> mConferenceableConnectionIds; Loading @@ -69,6 +70,7 @@ public final class ParcelableConnection implements Parcelable { boolean ringbackRequested, boolean isVoipAudioMode, long connectTimeMillis, long connectElapsedTimeMillis, StatusHints statusHints, DisconnectCause disconnectCause, List<String> conferenceableConnectionIds, Loading @@ -77,7 +79,8 @@ public final class ParcelableConnection implements Parcelable { this(phoneAccount, state, capabilities, properties, supportedAudioRoutes, address, addressPresentation, callerDisplayName, callerDisplayNamePresentation, videoProvider, videoState, ringbackRequested, isVoipAudioMode, connectTimeMillis, statusHints, disconnectCause, conferenceableConnectionIds, extras); connectElapsedTimeMillis, statusHints, disconnectCause, conferenceableConnectionIds, extras); mParentCallId = parentCallId; } Loading @@ -97,6 +100,7 @@ public final class ParcelableConnection implements Parcelable { boolean ringbackRequested, boolean isVoipAudioMode, long connectTimeMillis, long connectElapsedTimeMillis, StatusHints statusHints, DisconnectCause disconnectCause, List<String> conferenceableConnectionIds, Loading @@ -115,6 +119,7 @@ public final class ParcelableConnection implements Parcelable { mRingbackRequested = ringbackRequested; mIsVoipAudioMode = isVoipAudioMode; mConnectTimeMillis = connectTimeMillis; mConnectElapsedTimeMillis = connectElapsedTimeMillis; mStatusHints = statusHints; mDisconnectCause = disconnectCause; mConferenceableConnectionIds = conferenceableConnectionIds; Loading Loading @@ -190,6 +195,10 @@ public final class ParcelableConnection implements Parcelable { return mConnectTimeMillis; } public long getConnectElapsedTimeMillis() { return mConnectElapsedTimeMillis; } public final StatusHints getStatusHints() { return mStatusHints; } Loading Loading @@ -255,6 +264,7 @@ public final class ParcelableConnection implements Parcelable { int properties = source.readInt(); int supportedAudioRoutes = source.readInt(); String parentCallId = source.readString(); long connectElapsedTimeMillis = source.readLong(); return new ParcelableConnection( phoneAccount, Loading @@ -271,6 +281,7 @@ public final class ParcelableConnection implements Parcelable { ringbackRequested, audioModeIsVoip, connectTimeMillis, connectElapsedTimeMillis, statusHints, disconnectCause, conferenceableConnectionIds, Loading Loading @@ -313,5 +324,6 @@ public final class ParcelableConnection implements Parcelable { destination.writeInt(mConnectionProperties); destination.writeInt(mSupportedAudioRoutes); destination.writeString(mParentCallId); destination.writeLong(mConnectElapsedTimeMillis); } }