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

This commit is contained in:
Hall Liu
2016-07-07 17:27:24 +00:00
committed by Android (Google) Code Review
2 changed files with 106 additions and 0 deletions

View File

@@ -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();

View File

@@ -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;