aboutsummaryrefslogtreecommitdiff
path: root/src/java
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2022-02-23 18:39:06 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2022-02-23 18:39:06 +0000
commit4fa51633ee09452e3bcfdaaf7be1374af16cf7ef (patch)
treec71101b0ef62a030d187a7767ca8e22d4a0ec7b4 /src/java
parent10fa560edcf82652e01422dadb6a7e24cd85c894 (diff)
parent82c255f4b81defa06889ee1ba54063dd583dae31 (diff)
downloadims-4fa51633ee09452e3bcfdaaf7be1374af16cf7ef.tar.gz
Merge changes from topic "revert_uce_dupe_req" into tm-dev
* changes: Revert "Add a new api that does not send PUBLISH request with duplicated presence capabilities" Revert "Set mPendingPublicCapabilities to the currently registered service description"
Diffstat (limited to 'src/java')
-rw-r--r--src/java/com/android/ims/rcs/uce/presence/publish/DeviceCapabilityInfo.java65
-rw-r--r--src/java/com/android/ims/rcs/uce/presence/publish/PublishProcessor.java21
2 files changed, 4 insertions, 82 deletions
diff --git a/src/java/com/android/ims/rcs/uce/presence/publish/DeviceCapabilityInfo.java b/src/java/com/android/ims/rcs/uce/presence/publish/DeviceCapabilityInfo.java
index b7bdd9d6..7fcb1ff7 100644
--- a/src/java/com/android/ims/rcs/uce/presence/publish/DeviceCapabilityInfo.java
+++ b/src/java/com/android/ims/rcs/uce/presence/publish/DeviceCapabilityInfo.java
@@ -38,7 +38,6 @@ import android.util.Log;
import com.android.ims.rcs.uce.util.FeatureTags;
import com.android.ims.rcs.uce.util.UceUtils;
-import com.android.internal.annotations.VisibleForTesting;
import java.io.PrintWriter;
import java.util.Arrays;
@@ -105,11 +104,6 @@ public class DeviceCapabilityInfo {
private boolean mMobileData;
private boolean mVtSetting;
- // The service description associated with the last publication update.
- private Set<ServiceDescription> mLastSuccessfulCapabilities = new ArraySet<>();
- // The service description to temporarily store the presence capability being sent.
- private Set<ServiceDescription> mPendingPublishCapabilities;
-
public DeviceCapabilityInfo(int subId, String[] capToRegistrationMap) {
mSubId = subId;
mServiceCapRegTracker = PublishServiceDescTracker.fromCarrierConfig(capToRegistrationMap);
@@ -132,8 +126,6 @@ public class DeviceCapabilityInfo {
mMmTelCapabilities = new MmTelCapabilities();
mMmtelAssociatedUris = Collections.EMPTY_LIST;
mRcsAssociatedUris = Collections.EMPTY_LIST;
- mLastSuccessfulCapabilities.clear();
- mPendingPublishCapabilities = null;
}
/**
@@ -181,8 +173,6 @@ public class DeviceCapabilityInfo {
if (mMmtelRegistered) {
mMmtelRegistered = false;
}
- mLastSuccessfulCapabilities.clear();
- mPendingPublishCapabilities = null;
mMmtelNetworkRegType = AccessNetworkConstants.TRANSPORT_TYPE_INVALID;
}
@@ -252,8 +242,6 @@ public class DeviceCapabilityInfo {
changed = true;
}
mRcsNetworkRegType = AccessNetworkConstants.TRANSPORT_TYPE_INVALID;
- mLastSuccessfulCapabilities.clear();
- mPendingPublishCapabilities = null;
return changed;
}
@@ -442,52 +430,6 @@ public class DeviceCapabilityInfo {
return mPresenceCapable;
}
- // Get the device's capabilities with the PRESENCE mechanism.
- public RcsContactUceCapability getChangedPresenceCapability(Context context) {
- if (context == null) {
- return null;
- }
- Set<ServiceDescription> capableFromReg =
- mServiceCapRegTracker.copyRegistrationCapabilities();
- if (isPresenceCapabilityChanged(capableFromReg)) {
- RcsContactUceCapability rcsContactUceCapability = getPresenceCapabilities(context);
- if (rcsContactUceCapability != null) {
- mPendingPublishCapabilities = mServiceCapRegTracker.copyRegistrationCapabilities();
- }
- return rcsContactUceCapability;
- }
- return null;
- }
-
- public void setPresencePublishResult(boolean isSuccess) {
- if (isSuccess) {
- mLastSuccessfulCapabilities = mPendingPublishCapabilities;
- }
- mPendingPublishCapabilities = null;
- }
-
- public void resetPresenceCapability() {
- mLastSuccessfulCapabilities.clear();
- mPendingPublishCapabilities = null;
- }
-
- @VisibleForTesting
- public void addLastSuccessfulServiceDescription(ServiceDescription capability) {
- mLastSuccessfulCapabilities.add(capability);
- }
-
- @VisibleForTesting
- public boolean isPresenceCapabilityChanged(Set<ServiceDescription> capableFromReg) {
- if (mLastSuccessfulCapabilities.isEmpty()) {
- return true;
- }
-
- if (capableFromReg.equals(mLastSuccessfulCapabilities)) {
- return false;
- }
- return true;
- }
-
private boolean isVolteAvailable(int networkRegType, MmTelCapabilities capabilities) {
return (networkRegType == AccessNetworkConstants.TRANSPORT_TYPE_WWAN)
&& capabilities.isCapable(MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE);
@@ -520,12 +462,7 @@ public class DeviceCapabilityInfo {
@CapabilityMechanism int mechanism, Context context) {
switch (mechanism) {
case RcsContactUceCapability.CAPABILITY_MECHANISM_PRESENCE:
- RcsContactUceCapability rcsContactUceCapability = getPresenceCapabilities(context);
- if (rcsContactUceCapability != null) {
- mPendingPublishCapabilities =
- mServiceCapRegTracker.copyRegistrationCapabilities();
- }
- return rcsContactUceCapability;
+ return getPresenceCapabilities(context);
case RcsContactUceCapability.CAPABILITY_MECHANISM_OPTIONS:
return getOptionsCapabilities(context);
default:
diff --git a/src/java/com/android/ims/rcs/uce/presence/publish/PublishProcessor.java b/src/java/com/android/ims/rcs/uce/presence/publish/PublishProcessor.java
index 0df3b17e..d8531a70 100644
--- a/src/java/com/android/ims/rcs/uce/presence/publish/PublishProcessor.java
+++ b/src/java/com/android/ims/rcs/uce/presence/publish/PublishProcessor.java
@@ -112,8 +112,6 @@ public class PublishProcessor {
logi("onRcsDisconnected");
mRcsFeatureManager = null;
mProcessorState.onRcsDisconnected();
- // reset the publish capabilities.
- mDeviceCapabilities.resetPresenceCapability();
}
/**
@@ -154,15 +152,10 @@ public class PublishProcessor {
}
// Get the latest device's capabilities.
- RcsContactUceCapability deviceCapability;
- if (triggerType == PublishController.PUBLISH_TRIGGER_SERVICE) {
- deviceCapability = mDeviceCapabilities.getDeviceCapabilities(
- CAPABILITY_MECHANISM_PRESENCE, mContext);
- } else {
- deviceCapability = mDeviceCapabilities.getChangedPresenceCapability(mContext);
- }
+ RcsContactUceCapability deviceCapability =
+ mDeviceCapabilities.getDeviceCapabilities(CAPABILITY_MECHANISM_PRESENCE, mContext);
if (deviceCapability == null) {
- logi("doPublishInternal: device capability hasn't changed or is null");
+ logw("doPublishInternal: device capability is null");
return false;
}
@@ -356,8 +349,6 @@ public class PublishProcessor {
// Increase the retry count
mProcessorState.increaseRetryCount();
- // reset the last capabilities because of the request is failed
- mDeviceCapabilities.setPresencePublishResult(false);
// Reset the pending flag because it is going to resend a request.
clearPendingRequest();
@@ -382,14 +373,10 @@ public class PublishProcessor {
Instant responseTime = response.getResponseTimestamp();
// Record the time when the request is successful and reset the retry count.
- boolean publishSuccess = false;
if (response.isRequestSuccess()) {
mProcessorState.setLastPublishedTime(responseTime);
mProcessorState.resetRetryCount();
- publishSuccess = true;
}
- // set the last capabilities according to the result of request.
- mDeviceCapabilities.setPresencePublishResult(publishSuccess);
// Update the publish state after the request has finished.
int publishState = response.getPublishState();
@@ -505,8 +492,6 @@ public class PublishProcessor {
*/
public void resetState() {
mProcessorState.resetState();
- // reset the publish capabilities.
- mDeviceCapabilities.resetPresenceCapability();
}
/**