diff options
Diffstat (limited to 'telecomm/java/android')
-rw-r--r-- | telecomm/java/android/telecom/Connection.java | 26 | ||||
-rw-r--r-- | telecomm/java/android/telecom/ConnectionService.java | 2 | ||||
-rw-r--r-- | telecomm/java/android/telecom/ParcelableConnection.java | 10 | ||||
-rw-r--r-- | telecomm/java/android/telecom/Voicemail.java | 21 |
4 files changed, 57 insertions, 2 deletions
diff --git a/telecomm/java/android/telecom/Connection.java b/telecomm/java/android/telecom/Connection.java index 58fb088..bf78712 100644 --- a/telecomm/java/android/telecom/Connection.java +++ b/telecomm/java/android/telecom/Connection.java @@ -1050,6 +1050,7 @@ public abstract class Connection extends Conferenceable { private int mConnectionCapabilities; private VideoProvider mVideoProvider; private boolean mAudioModeIsVoip; + private long mConnectTimeMillis = Conference.CONNECT_TIME_NOT_SPECIFIED; private StatusHints mStatusHints; private int mVideoState; private DisconnectCause mDisconnectCause; @@ -1162,6 +1163,19 @@ public abstract class Connection extends Conferenceable { } /** + * Retrieves the connection start time of the {@code Connnection}, if specified. A value of + * {@link Conference#CONNECT_TIME_NOT_SPECIFIED} indicates that Telecom should determine the + * start time of the conference. + * + * @return The time at which the {@code Connnection} was connected. + * + * @hide + */ + public final long getConnectTimeMillis() { + return mConnectTimeMillis; + } + + /** * @return The status hints for this connection. */ public final StatusHints getStatusHints() { @@ -1476,6 +1490,18 @@ 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. + * + * @hide + */ + public final void setConnectTimeMillis(long connectTimeMillis) { + mConnectTimeMillis = connectTimeMillis; + } + + /** * Sets the label and icon status to display in the in-call UI. * * @param statusHints The status label and icon to set. diff --git a/telecomm/java/android/telecom/ConnectionService.java b/telecomm/java/android/telecom/ConnectionService.java index d2e7a74..96f44b9 100644 --- a/telecomm/java/android/telecom/ConnectionService.java +++ b/telecomm/java/android/telecom/ConnectionService.java @@ -651,6 +651,7 @@ public abstract class ConnectionService extends Service { connection.getVideoState(), connection.isRingbackRequested(), connection.getAudioModeIsVoip(), + connection.getConnectTimeMillis(), connection.getStatusHints(), connection.getDisconnectCause(), createIdList(connection.getConferenceables()), @@ -979,6 +980,7 @@ public abstract class ConnectionService extends Service { connection.getVideoState(), connection.isRingbackRequested(), connection.getAudioModeIsVoip(), + connection.getConnectTimeMillis(), connection.getStatusHints(), connection.getDisconnectCause(), emptyList, diff --git a/telecomm/java/android/telecom/ParcelableConnection.java b/telecomm/java/android/telecom/ParcelableConnection.java index 683ab6a..fe0a4d8 100644 --- a/telecomm/java/android/telecom/ParcelableConnection.java +++ b/telecomm/java/android/telecom/ParcelableConnection.java @@ -44,6 +44,7 @@ public final class ParcelableConnection implements Parcelable { private final int mVideoState; private final boolean mRingbackRequested; private final boolean mIsVoipAudioMode; + private final long mConnectTimeMillis; private final StatusHints mStatusHints; private final DisconnectCause mDisconnectCause; private final List<String> mConferenceableConnectionIds; @@ -62,6 +63,7 @@ public final class ParcelableConnection implements Parcelable { int videoState, boolean ringbackRequested, boolean isVoipAudioMode, + long connectTimeMillis, StatusHints statusHints, DisconnectCause disconnectCause, List<String> conferenceableConnectionIds, @@ -77,6 +79,7 @@ public final class ParcelableConnection implements Parcelable { mVideoState = videoState; mRingbackRequested = ringbackRequested; mIsVoipAudioMode = isVoipAudioMode; + mConnectTimeMillis = connectTimeMillis; mStatusHints = statusHints; mDisconnectCause = disconnectCause; mConferenceableConnectionIds = conferenceableConnectionIds; @@ -128,6 +131,10 @@ public final class ParcelableConnection implements Parcelable { return mIsVoipAudioMode; } + public long getConnectTimeMillis() { + return mConnectTimeMillis; + } + public final StatusHints getStatusHints() { return mStatusHints; } @@ -176,6 +183,7 @@ public final class ParcelableConnection implements Parcelable { int videoState = source.readInt(); boolean ringbackRequested = source.readByte() == 1; boolean audioModeIsVoip = source.readByte() == 1; + long connectTimeMillis = source.readLong(); StatusHints statusHints = source.readParcelable(classLoader); DisconnectCause disconnectCause = source.readParcelable(classLoader); List<String> conferenceableConnectionIds = new ArrayList<>(); @@ -194,6 +202,7 @@ public final class ParcelableConnection implements Parcelable { videoState, ringbackRequested, audioModeIsVoip, + connectTimeMillis, statusHints, disconnectCause, conferenceableConnectionIds, @@ -227,6 +236,7 @@ public final class ParcelableConnection implements Parcelable { destination.writeInt(mVideoState); destination.writeByte((byte) (mRingbackRequested ? 1 : 0)); destination.writeByte((byte) (mIsVoipAudioMode ? 1 : 0)); + destination.writeLong(mConnectTimeMillis); destination.writeParcelable(mStatusHints, 0); destination.writeParcelable(mDisconnectCause, 0); destination.writeStringList(mConferenceableConnectionIds); diff --git a/telecomm/java/android/telecom/Voicemail.java b/telecomm/java/android/telecom/Voicemail.java index 151917e..ca235bf 100644 --- a/telecomm/java/android/telecom/Voicemail.java +++ b/telecomm/java/android/telecom/Voicemail.java @@ -36,10 +36,11 @@ public class Voicemail implements Parcelable { private final Uri mUri; private final Boolean mIsRead; private final Boolean mHasContent; + private final String mTranscription; private Voicemail(Long timestamp, String number, PhoneAccountHandle phoneAccountHandle, Long id, Long duration, String source, String providerData, Uri uri, Boolean isRead, - Boolean hasContent) { + Boolean hasContent, String transcription) { mTimestamp = timestamp; mNumber = number; mPhoneAccount = phoneAccountHandle; @@ -50,6 +51,7 @@ public class Voicemail implements Parcelable { mUri = uri; mIsRead = isRead; mHasContent = hasContent; + mTranscription = transcription; } /** @@ -88,6 +90,7 @@ public class Voicemail implements Parcelable { private Uri mBuilderUri; private Boolean mBuilderIsRead; private boolean mBuilderHasContent; + private String mBuilderTranscription; /** You should use the correct factory method to construct a builder. */ private Builder() { @@ -143,6 +146,11 @@ public class Voicemail implements Parcelable { return this; } + public Builder setTranscription(String transcription) { + mBuilderTranscription = transcription; + return this; + } + public Voicemail build() { mBuilderId = mBuilderId == null ? -1 : mBuilderId; mBuilderTimestamp = mBuilderTimestamp == null ? 0 : mBuilderTimestamp; @@ -150,7 +158,7 @@ public class Voicemail implements Parcelable { mBuilderIsRead = mBuilderIsRead == null ? false : mBuilderIsRead; return new Voicemail(mBuilderTimestamp, mBuilderNumber, mBuilderPhoneAccount, mBuilderId, mBuilderDuration, mBuilderSourcePackage, mBuilderSourceData, - mBuilderUri, mBuilderIsRead, mBuilderHasContent); + mBuilderUri, mBuilderIsRead, mBuilderHasContent, mBuilderTranscription); } } @@ -230,6 +238,13 @@ public class Voicemail implements Parcelable { return mHasContent; } + /** + * Returns the text transcription of this voicemail, or null if this field is not set. + */ + public String getTranscription() { + return mTranscription; + } + @Override public int describeContents() { return 0; @@ -265,6 +280,7 @@ public class Voicemail implements Parcelable { } else { dest.writeInt(0); } + dest.writeCharSequence(mTranscription); } public static final Creator<Voicemail> CREATOR @@ -299,5 +315,6 @@ public class Voicemail implements Parcelable { } mIsRead = in.readInt() > 0 ? true : false; mHasContent = in.readInt() > 0 ? true : false; + mTranscription = (String) in.readCharSequence(); } } |