diff options
author | Joonhun Shin <joonhunshin@google.com> | 2022-05-04 00:23:47 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2022-05-04 00:23:47 +0000 |
commit | 8ccae76735c976d98f646839a33da7b78d472884 (patch) | |
tree | 485a9907bd015374371f2f645ac205adbc2e8df3 | |
parent | 3ef0e8357e9fc8558a75819e62feca528e1b59eb (diff) | |
parent | ee96f0186b72190995e3f8be6428d43c9ee86d50 (diff) | |
download | ims-8ccae76735c976d98f646839a33da7b78d472884.tar.gz |
Merge "Replace the KEY_CARRIER_VOLTE_PROVISIONED_BOOL with bundle/tech to check if the EAB provisioned." into tm-dev
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); |