aboutsummaryrefslogtreecommitdiff
path: root/src/java/com/android/ims/rcs/uce/request/CapabilityRequestResponse.java
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-07-07 05:17:20 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-07-07 05:17:20 +0000
commit9ce6c9c87023dabbe81b19b53de58bafb404513d (patch)
tree52933cf2b7713a4c25d0fd324994920974372bf7 /src/java/com/android/ims/rcs/uce/request/CapabilityRequestResponse.java
parent16a3207502074e1663988227f8d55e25fe7b7bb4 (diff)
parentf61dbc79584e2bd99c6588abed0d176b368a20d5 (diff)
downloadims-9ce6c9c87023dabbe81b19b53de58bafb404513d.tar.gz
Change-Id: I2c945812f5cccba6ec3ad7176a6831bccb085a22
Diffstat (limited to 'src/java/com/android/ims/rcs/uce/request/CapabilityRequestResponse.java')
-rw-r--r--src/java/com/android/ims/rcs/uce/request/CapabilityRequestResponse.java34
1 files changed, 28 insertions, 6 deletions
diff --git a/src/java/com/android/ims/rcs/uce/request/CapabilityRequestResponse.java b/src/java/com/android/ims/rcs/uce/request/CapabilityRequestResponse.java
index 97371b8b..6da31301 100644
--- a/src/java/com/android/ims/rcs/uce/request/CapabilityRequestResponse.java
+++ b/src/java/com/android/ims/rcs/uce/request/CapabilityRequestResponse.java
@@ -16,11 +16,14 @@
package com.android.ims.rcs.uce.request;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
import android.net.Uri;
import android.telephony.ims.RcsContactTerminatedReason;
import android.telephony.ims.RcsContactUceCapability;
import android.telephony.ims.RcsUceAdapter;
import android.telephony.ims.RcsUceAdapter.ErrorCode;
+import android.telephony.ims.SipDetails;
import android.telephony.ims.stub.RcsCapabilityExchangeImplBase;
import android.telephony.ims.stub.RcsCapabilityExchangeImplBase.CommandCode;
import android.text.TextUtils;
@@ -85,6 +88,9 @@ public class CapabilityRequestResponse {
// The collection to record whether the request contacts have received the capabilities updated.
private Map<Uri, Boolean> mContactCapsReceived;
+ // The SIP detail information of the network response.
+ private Optional<SipDetails> mSipDetails;
+
public CapabilityRequestResponse() {
mRequestInternalError = Optional.empty();
mCommandError = Optional.empty();
@@ -99,6 +105,7 @@ public class CapabilityRequestResponse {
mUpdatedCapabilityList = new ArrayList<>();
mRemoteCaps = new HashSet<>();
mContactCapsReceived = new HashMap<>();
+ mSipDetails = Optional.empty();
}
/**
@@ -169,12 +176,20 @@ public class CapabilityRequestResponse {
/**
* Set the network response of this request which is sent by the network.
*/
- public synchronized void setNetworkResponseCode(int sipCode, String reasonPhrase,
- int reasonHeaderCause, String reasonHeaderText) {
- mNetworkRespSipCode = Optional.of(sipCode);
- mReasonPhrase = Optional.ofNullable(reasonPhrase);
- mReasonHeaderCause = Optional.of(reasonHeaderCause);
- mReasonHeaderText = Optional.ofNullable(reasonHeaderText);
+ public synchronized void setSipDetails(@NonNull SipDetails details) {
+ setNetworkResponseCode(details.getResponseCode(), details.getResponsePhrase());
+ if (details.getReasonHeaderCause() != 0) {
+ mReasonHeaderCause = Optional.of(details.getReasonHeaderCause());
+ } else {
+ mReasonHeaderCause = Optional.empty();
+ }
+ if (TextUtils.isEmpty(details.getReasonHeaderText())) {
+ mReasonHeaderText = Optional.empty();
+ } else {
+ mReasonHeaderText = Optional.ofNullable(details.getReasonHeaderText());
+ }
+
+ mSipDetails = Optional.ofNullable(details);
}
// Get the sip code of the network response.
@@ -239,6 +254,13 @@ public class CapabilityRequestResponse {
}
/**
+ * Retrieve the SIP information which received from the network.
+ */
+ public Optional<SipDetails> getSipDetails() {
+ return mSipDetails;
+ }
+
+ /**
* Add the capabilities which are retrieved from the cache.
*/
public synchronized void addCachedCapabilities(List<RcsContactUceCapability> capabilityList) {