diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2022-02-23 18:39:06 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2022-02-23 18:39:06 +0000 |
commit | 4fa51633ee09452e3bcfdaaf7be1374af16cf7ef (patch) | |
tree | c71101b0ef62a030d187a7767ca8e22d4a0ec7b4 /src | |
parent | 10fa560edcf82652e01422dadb6a7e24cd85c894 (diff) | |
parent | 82c255f4b81defa06889ee1ba54063dd583dae31 (diff) | |
download | ims-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')
-rw-r--r-- | src/java/com/android/ims/rcs/uce/presence/publish/DeviceCapabilityInfo.java | 65 | ||||
-rw-r--r-- | src/java/com/android/ims/rcs/uce/presence/publish/PublishProcessor.java | 21 |
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(); } /** |