aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoonhun Shin <joonhunshin@google.com>2022-05-04 00:23:47 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2022-05-04 00:23:47 +0000
commit8ccae76735c976d98f646839a33da7b78d472884 (patch)
tree485a9907bd015374371f2f645ac205adbc2e8df3
parent3ef0e8357e9fc8558a75819e62feca528e1b59eb (diff)
parentee96f0186b72190995e3f8be6428d43c9ee86d50 (diff)
downloadims-8ccae76735c976d98f646839a33da7b78d472884.tar.gz
Merge "Replace the KEY_CARRIER_VOLTE_PROVISIONED_BOOL with bundle/tech to check if the EAB provisioned." into tm-dev
-rw-r--r--src/java/com/android/ims/rcs/uce/presence/publish/PublishProcessor.java9
-rw-r--r--src/java/com/android/ims/rcs/uce/util/UceUtils.java8
-rw-r--r--tests/src/com/android/ims/rcs/uce/presence/publish/PublishProcessorTest.java18
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);