Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a4a78980 authored by Tyler Gunn's avatar Tyler Gunn Committed by android-build-merger
Browse files

Merge "Track conference start in system elapsed time." am: 3b166fba am: 49042dc6

am: 55967b46

Change-Id: I5a7561dd09405bcdc38926bd331f5ffd8019ec2f
parents 81b3107d 55967b46
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -38991,6 +38991,7 @@ package android.telecom {
    method public final void setActive();
    method public final void setConferenceableConnections(java.util.List<android.telecom.Connection>);
    method public final void setConnectionCapabilities(int);
    method public final void setConnectionElapsedTime(long);
    method public final void setConnectionProperties(int);
    method public final void setConnectionTime(long);
    method public final void setDialing();
+1 −0
Original line number Diff line number Diff line
@@ -42241,6 +42241,7 @@ package android.telecom {
    method public final void setConferenceableConnections(java.util.List<android.telecom.Connection>);
    method public final deprecated void setConnectTimeMillis(long);
    method public final void setConnectionCapabilities(int);
    method public final void setConnectionElapsedTime(long);
    method public final void setConnectionProperties(int);
    method public final void setConnectionTime(long);
    method public final void setDialing();
+1 −0
Original line number Diff line number Diff line
@@ -39234,6 +39234,7 @@ package android.telecom {
    method public final void setActive();
    method public final void setConferenceableConnections(java.util.List<android.telecom.Connection>);
    method public final void setConnectionCapabilities(int);
    method public final void setConnectionElapsedTime(long);
    method public final void setConnectionProperties(int);
    method public final void setConnectionTime(long);
    method public final void setDialing();
+36 −1
Original line number Diff line number Diff line
@@ -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;

@@ -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;
@@ -582,7 +584,11 @@ 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()}.
     * <p>
     * When setting the connection time, you should always set the connection elapsed time via
     * {@link #setConnectionElapsedTime(long)}.
     *
     * @param connectionTimeMillis The connection time, in milliseconds.
     */
@@ -590,6 +596,20 @@ 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()}.
     */
    public final void setConnectionElapsedTime(long connectionElapsedTime) {
        mConnectElapsedTimeMillis = connectionElapsedTime;
    }

    /**
     * @hide
     * @deprecated Use {@link #getConnectionTime}.
@@ -611,6 +631,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.
     *
+33 −4
Original line number Diff line number Diff line
@@ -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;
@@ -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;
@@ -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;
@@ -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.
     */
@@ -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
     */
@@ -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