From ee96f0186b72190995e3f8be6428d43c9ee86d50 Mon Sep 17 00:00:00 2001 From: joonhunshin Date: Thu, 21 Apr 2022 03:28:05 +0000 Subject: Replace the KEY_CARRIER_VOLTE_PROVISIONED_BOOL with bundle/tech to check if the EAB provisioned. Replace the KEY_CARRIER_VOLTE_PROVISIONED_BOOL with bundle/tech to check if the EAB provisioned. Bug: 229793066 Test: atest ImsService, ImsCommonTests Test: manual test with TMO, PUBLISH OK Change-Id: Idb70802ba524807fc298e4d47a82cbe6d44dff1c --- .../ims/rcs/uce/presence/publish/PublishProcessor.java | 9 +++++++-- src/java/com/android/ims/rcs/uce/util/UceUtils.java | 8 +++++--- .../rcs/uce/presence/publish/PublishProcessorTest.java | 18 +++++++++++++++++- 3 files changed, 29 insertions(+), 6 deletions(-) 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 d8531a70..d87eea9e 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 @@ -30,10 +30,10 @@ import android.util.LocalLog; import android.util.Log; import com.android.ims.RcsFeatureManager; +import com.android.ims.rcs.uce.UceStatsWriter; import com.android.ims.rcs.uce.presence.pidfparser.PidfParser; import com.android.ims.rcs.uce.presence.publish.PublishController.PublishControllerCallback; import com.android.ims.rcs.uce.presence.publish.PublishController.PublishTriggerType; -import com.android.ims.rcs.uce.UceStatsWriter; import com.android.ims.rcs.uce.util.UceUtils; import com.android.internal.annotations.VisibleForTesting; @@ -199,7 +199,7 @@ public class PublishProcessor { // Check if it has provisioned. When the provisioning changes, a new publish request will // be triggered. - if (!UceUtils.isEabProvisioned(mContext, mSubId)) { + if (!isEabProvisioned()) { logd("isPublishAllowed: NOT provisioned"); return false; } @@ -509,6 +509,11 @@ public class PublishProcessor { mProcessorState = processorState; } + @VisibleForTesting + protected boolean isEabProvisioned() { + return UceUtils.isEabProvisioned(mContext, mSubId); + } + private void logd(String log) { Log.d(LOG_TAG, getLogPrefix().append(log).toString()); } diff --git a/src/java/com/android/ims/rcs/uce/util/UceUtils.java b/src/java/com/android/ims/rcs/uce/util/UceUtils.java index ae98393a..58796983 100644 --- a/src/java/com/android/ims/rcs/uce/util/UceUtils.java +++ b/src/java/com/android/ims/rcs/uce/util/UceUtils.java @@ -24,7 +24,9 @@ import android.preference.PreferenceManager; import android.provider.BlockedNumberContract; import android.telephony.CarrierConfigManager; import android.telephony.SubscriptionManager; +import android.telephony.ims.ImsRcsManager; import android.telephony.ims.ProvisioningManager; +import android.telephony.ims.stub.ImsRegistrationImplBase; import android.text.TextUtils; import android.util.Log; @@ -100,9 +102,9 @@ public class UceUtils { } try { ProvisioningManager manager = ProvisioningManager.createForSubscriptionId(subId); - isProvisioned = manager.getProvisioningIntValue( - ProvisioningManager.KEY_EAB_PROVISIONING_STATUS) - == ProvisioningManager.PROVISIONING_VALUE_ENABLED; + isProvisioned = manager.getRcsProvisioningStatusForCapability( + ImsRcsManager.CAPABILITY_TYPE_PRESENCE_UCE, + ImsRegistrationImplBase.REGISTRATION_TECH_LTE); } catch (Exception e) { Log.w(LOG_TAG, "isEabProvisioned: exception=" + e.getMessage()); } diff --git a/tests/src/com/android/ims/rcs/uce/presence/publish/PublishProcessorTest.java b/tests/src/com/android/ims/rcs/uce/presence/publish/PublishProcessorTest.java index f632ca5b..4e8cdfdc 100644 --- a/tests/src/com/android/ims/rcs/uce/presence/publish/PublishProcessorTest.java +++ b/tests/src/com/android/ims/rcs/uce/presence/publish/PublishProcessorTest.java @@ -17,6 +17,7 @@ package com.android.ims.rcs.uce.presence.publish; import static android.telephony.ims.RcsContactPresenceTuple.TUPLE_BASIC_STATUS_OPEN; + import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.anyLong; @@ -25,6 +26,7 @@ import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; +import android.content.Context; import android.net.Uri; import android.telephony.ims.RcsContactPresenceTuple; import android.telephony.ims.RcsContactUceCapability; @@ -58,6 +60,20 @@ public class PublishProcessorTest extends ImsTestBase { private int mSub = 1; private long mTaskId = 1L; + public static class TestPublishProcessor extends PublishProcessor { + public TestPublishProcessor(Context context, int subId, + DeviceCapabilityInfo capabilityInfo, + PublishControllerCallback publishCtrlCallback, + UceStatsWriter instance) { + super(context, subId, capabilityInfo, publishCtrlCallback, instance); + } + + @Override + protected boolean isEabProvisioned() { + return true; + } + } + @Before public void setUp() throws Exception { super.setUp(); @@ -254,7 +270,7 @@ public class PublishProcessorTest extends ImsTestBase { } private PublishProcessor getPublishProcessor() { - PublishProcessor publishProcessor = new PublishProcessor(mContext, mSub, + PublishProcessor publishProcessor = new TestPublishProcessor(mContext, mSub, mDeviceCapabilities, mPublishCtrlCallback, mUceStatsWriter); publishProcessor.setProcessorState(mProcessorState); publishProcessor.onRcsConnected(mRcsFeatureManager); -- cgit v1.2.3