diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-07-07 05:17:20 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-07-07 05:17:20 +0000 |
commit | 9ce6c9c87023dabbe81b19b53de58bafb404513d (patch) | |
tree | 52933cf2b7713a4c25d0fd324994920974372bf7 /src/java/com/android/ims/rcs/uce/request/CapabilityRequestResponse.java | |
parent | 16a3207502074e1663988227f8d55e25fe7b7bb4 (diff) | |
parent | f61dbc79584e2bd99c6588abed0d176b368a20d5 (diff) | |
download | ims-9ce6c9c87023dabbe81b19b53de58bafb404513d.tar.gz |
Snap for 10453563 from f61dbc79584e2bd99c6588abed0d176b368a20d5 to mainline-sdkext-releaseaml_sdk_341710000aml_sdk_341510000aml_sdk_341410000aml_sdk_341110080aml_sdk_341110000aml_sdk_341010000aml_sdk_340912010android14-mainline-sdkext-release
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.java | 34 |
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) { |