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

Commit 77be2eb8 authored by Hall Liu's avatar Hall Liu Committed by android-build-merger
Browse files

Merge \"Add video events to ParcelableCallAnalytics\" into nyc-mr1-dev

am: 335a69d4

Change-Id: Icc0aef243860e93e714fcbc4b8cdc336d99e81f1
parents b1e2e9a8 335a69d4
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -39382,10 +39382,14 @@ package android.telecom {
    method public java.lang.String getConnectionService();
    method public java.util.List<android.telecom.ParcelableCallAnalytics.EventTiming> getEventTimings();
    method public long getStartTimeMillis();
    method public java.util.List<android.telecom.ParcelableCallAnalytics.VideoEvent> getVideoEvents();
    method public boolean isAdditionalCall();
    method public boolean isCreatedFromExistingConnection();
    method public boolean isEmergencyCall();
    method public boolean isInterrupted();
    method public boolean isVideoCall();
    method public void setIsVideoCall(boolean);
    method public void setVideoEvents(java.util.List<android.telecom.ParcelableCallAnalytics.VideoEvent>);
    method public void writeToParcel(android.os.Parcel, int);
    field public static final int CALLTYPE_INCOMING = 1; // 0x1
    field public static final int CALLTYPE_OUTGOING = 2; // 0x2
@@ -39468,6 +39472,20 @@ package android.telecom {
    field public static final int UNHOLD_TIMING = 4; // 0x4
  }
  public static final class ParcelableCallAnalytics.VideoEvent implements android.os.Parcelable {
    ctor public ParcelableCallAnalytics.VideoEvent(int, long, int);
    method public int describeContents();
    method public int getEventName();
    method public long getTimeSinceLastEvent();
    method public int getVideoState();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics.VideoEvent> CREATOR;
    field public static final int RECEIVE_REMOTE_SESSION_MODIFY_REQUEST = 2; // 0x2
    field public static final int RECEIVE_REMOTE_SESSION_MODIFY_RESPONSE = 3; // 0x3
    field public static final int SEND_LOCAL_SESSION_MODIFY_REQUEST = 0; // 0x0
    field public static final int SEND_LOCAL_SESSION_MODIFY_RESPONSE = 1; // 0x1
  }
  public final deprecated class Phone {
    method public final void addListener(android.telecom.Phone.Listener);
    method public final boolean canAddCall();
+88 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import android.os.Parcel;
import android.os.Parcelable;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

/**
@@ -28,6 +29,67 @@ import java.util.List;
 */
@SystemApi
public class ParcelableCallAnalytics implements Parcelable {
    public static final class VideoEvent implements Parcelable {
        public static final int SEND_LOCAL_SESSION_MODIFY_REQUEST = 0;
        public static final int SEND_LOCAL_SESSION_MODIFY_RESPONSE = 1;
        public static final int RECEIVE_REMOTE_SESSION_MODIFY_REQUEST = 2;
        public static final int RECEIVE_REMOTE_SESSION_MODIFY_RESPONSE = 3;

        public static final Parcelable.Creator<VideoEvent> CREATOR =
                new Parcelable.Creator<VideoEvent> () {

                    @Override
                    public VideoEvent createFromParcel(Parcel in) {
                        return new VideoEvent(in);
                    }

                    @Override
                    public VideoEvent[] newArray(int size) {
                        return new VideoEvent[size];
                    }
                };

        private int mEventName;
        private long mTimeSinceLastEvent;
        private int mVideoState;

        public VideoEvent(int eventName, long timeSinceLastEvent, int videoState) {
            mEventName = eventName;
            mTimeSinceLastEvent = timeSinceLastEvent;
            mVideoState = videoState;
        }

        VideoEvent(Parcel in) {
            mEventName = in.readInt();
            mTimeSinceLastEvent = in.readLong();
            mVideoState = in.readInt();
        }

        public int getEventName() {
            return mEventName;
        }

        public long getTimeSinceLastEvent() {
            return mTimeSinceLastEvent;
        }

        public int getVideoState() {
            return mVideoState;
        }

        @Override
        public int describeContents() {
            return 0;
        }

        @Override
        public void writeToParcel(Parcel out, int flags) {
            out.writeInt(mEventName);
            out.writeLong(mTimeSinceLastEvent);
            out.writeInt(mVideoState);
        }
    }

    public static final class AnalyticsEvent implements Parcelable {
        public static final int SET_SELECT_PHONE_ACCOUNT = 0;
        public static final int SET_ACTIVE = 1;
@@ -250,6 +312,12 @@ public class ParcelableCallAnalytics implements Parcelable {
    // A map from event-pair names to their durations.
    private final List<EventTiming> eventTimings;

    // Whether the call has ever been a video call.
    private boolean isVideoCall = false;

    // A list of video events that have occurred.
    private List<VideoEvent> videoEvents;

    public ParcelableCallAnalytics(long startTimeMillis, long callDurationMillis, int callType,
            boolean isAdditionalCall, boolean isInterrupted, int callTechnologies,
            int callTerminationCode, boolean isEmergencyCall, String connectionService,
@@ -284,6 +352,9 @@ public class ParcelableCallAnalytics implements Parcelable {
        in.readTypedList(analyticsEvents, AnalyticsEvent.CREATOR);
        eventTimings = new ArrayList<>();
        in.readTypedList(eventTimings, EventTiming.CREATOR);
        isVideoCall = readByteAsBoolean(in);
        videoEvents = new LinkedList<>();
        in.readTypedList(videoEvents, VideoEvent.CREATOR);
    }

    public void writeToParcel(Parcel out, int flags) {
@@ -299,6 +370,15 @@ public class ParcelableCallAnalytics implements Parcelable {
        writeBooleanAsByte(out, isCreatedFromExistingConnection);
        out.writeTypedList(analyticsEvents);
        out.writeTypedList(eventTimings);
        writeBooleanAsByte(out, isVideoCall);
        out.writeTypedList(videoEvents);
    }
    public void setIsVideoCall(boolean isVideoCall) {
        this.isVideoCall = isVideoCall;
    }

    public void setVideoEvents(List<VideoEvent> videoEvents) {
        this.videoEvents = videoEvents;
    }

    public long getStartTimeMillis() {
@@ -349,6 +429,14 @@ public class ParcelableCallAnalytics implements Parcelable {
        return eventTimings;
    }

    public boolean isVideoCall() {
        return isVideoCall;
    }

    public List<VideoEvent> getVideoEvents() {
        return videoEvents;
    }

    @Override
    public int describeContents() {
        return 0;