diff options
| author | 2016-07-07 17:45:17 +0000 | |
|---|---|---|
| committer | 2016-07-07 17:45:17 +0000 | |
| commit | 2c54d425fa94fac8bbc84edd4e6ab00dce748932 (patch) | |
| tree | 9f224a8759eb18fde776540c35b2b02ae07b952b | |
| parent | d81c9529b432ed5f9e3bf959d6f2993441564e8f (diff) | |
| parent | 77be2eb8f73897cbf61e1e673455cff588ce9eb2 (diff) | |
Merge \\"Add video events to ParcelableCallAnalytics\\" into nyc-mr1-dev am: 335a69d460
am: 77be2eb8f7
Change-Id: Ib1fc0358e6f965046788eba9ac11a7d5c9b5709b
| -rw-r--r-- | api/system-current.txt | 18 | ||||
| -rw-r--r-- | telecomm/java/android/telecom/ParcelableCallAnalytics.java | 88 |
2 files changed, 106 insertions, 0 deletions
diff --git a/api/system-current.txt b/api/system-current.txt index 76aeb2be4964..5f1c06999581 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -39410,10 +39410,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 @@ -39496,6 +39500,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(); diff --git a/telecomm/java/android/telecom/ParcelableCallAnalytics.java b/telecomm/java/android/telecom/ParcelableCallAnalytics.java index 0ee9babe6659..318d8411931b 100644 --- a/telecomm/java/android/telecom/ParcelableCallAnalytics.java +++ b/telecomm/java/android/telecom/ParcelableCallAnalytics.java @@ -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; |