summaryrefslogtreecommitdiffstats
path: root/telecomm/java/android/telecom
diff options
context:
space:
mode:
Diffstat (limited to 'telecomm/java/android/telecom')
-rw-r--r--telecomm/java/android/telecom/Connection.java26
-rw-r--r--telecomm/java/android/telecom/ConnectionService.java2
-rw-r--r--telecomm/java/android/telecom/ParcelableConnection.java10
-rw-r--r--telecomm/java/android/telecom/Voicemail.java21
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();
}
}