Loading api/system-current.txt +18 −0 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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(); telecomm/java/android/telecom/ParcelableCallAnalytics.java +88 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import android.os.Parcel; import android.os.Parcelable; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; /** Loading @@ -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; Loading Loading @@ -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, Loading Loading @@ -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) { Loading @@ -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() { Loading Loading @@ -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; Loading Loading
api/system-current.txt +18 −0 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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();
telecomm/java/android/telecom/ParcelableCallAnalytics.java +88 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import android.os.Parcel; import android.os.Parcelable; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; /** Loading @@ -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; Loading Loading @@ -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, Loading Loading @@ -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) { Loading @@ -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() { Loading Loading @@ -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; Loading