Test ImsService updates for dynamic ImsService
Use Dynamic query for ImsService app instead of
manifest query.
Test: Telephony Test ImsService app
Bug: 72642524
Change-Id: I1aa98602c4b7a7af5864bb80f753fdea74a4fc60
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index b70f9eb..aac2293 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -2695,6 +2695,15 @@
return PhoneFactory.getImsResolver().isEmergencyMmTelAvailable(slotId);
}
+ /**
+ * @return true if the IMS resolver is busy resolving a binding and should not be considered
+ * available, false if the IMS resolver is idle.
+ */
+ public boolean isResolvingImsBinding() {
+ enforceModifyPermission();
+ return PhoneFactory.getImsResolver().isResolvingBinding();
+ }
+
public void setImsRegistrationState(boolean registered) {
enforceModifyPermission();
mPhone.setImsRegistrationState(registered);
diff --git a/testapps/ImsTestService/AndroidManifest.xml b/testapps/ImsTestService/AndroidManifest.xml
index 4d81ffd..f47210e 100644
--- a/testapps/ImsTestService/AndroidManifest.xml
+++ b/testapps/ImsTestService/AndroidManifest.xml
@@ -40,9 +40,8 @@
android:enabled="true"
android:persistent="true"
android:permission="android.permission.BIND_IMS_SERVICE">
- <meta-data android:name="android.telephony.ims.MMTEL_FEATURE" android:value="true"/>
- <!--meta-data android:name="android.telephony.ims.EMERGENCY_MMTEL_FEATURE"
- android:value="true" /-->
+ <!--meta-data android:name="android.telephony.ims.MMTEL_FEATURE" android:value="true"/-->
+ <!-- No features means we will get queried for dynamic config. -->
<intent-filter>
<action android:name="android.telephony.ims.ImsService" />
</intent-filter>
diff --git a/testapps/ImsTestService/src/com/android/phone/testapps/imstestapp/TestImsConfigImpl.java b/testapps/ImsTestService/src/com/android/phone/testapps/imstestapp/TestImsConfigImpl.java
index 4b8842a..3269a5a 100644
--- a/testapps/ImsTestService/src/com/android/phone/testapps/imstestapp/TestImsConfigImpl.java
+++ b/testapps/ImsTestService/src/com/android/phone/testapps/imstestapp/TestImsConfigImpl.java
@@ -55,6 +55,10 @@
return sTestImsConfigImpl;
}
+ private TestImsConfigImpl() {
+ super();
+ }
+
public void setConfigListener(ImsConfigListener listener) {
mListener = listener;
}
diff --git a/testapps/ImsTestService/src/com/android/phone/testapps/imstestapp/TestImsService.java b/testapps/ImsTestService/src/com/android/phone/testapps/imstestapp/TestImsService.java
index 434cdb5..71323d8 100644
--- a/testapps/ImsTestService/src/com/android/phone/testapps/imstestapp/TestImsService.java
+++ b/testapps/ImsTestService/src/com/android/phone/testapps/imstestapp/TestImsService.java
@@ -17,9 +17,11 @@
package com.android.phone.testapps.imstestapp;
import android.telephony.ims.ImsService;
+import android.telephony.ims.feature.ImsFeature;
import android.telephony.ims.feature.MmTelFeature;
import android.telephony.ims.feature.RcsFeature;
import android.telephony.ims.stub.ImsConfigImplBase;
+import android.telephony.ims.stub.ImsFeatureConfiguration;
import android.telephony.ims.stub.ImsRegistrationImplBase;
import android.util.Log;
@@ -54,8 +56,16 @@
}
@Override
+ public ImsFeatureConfiguration querySupportedImsFeatures() {
+ return new ImsFeatureConfiguration.Builder()
+ .addFeature(0, ImsFeature.FEATURE_EMERGENCY_MMTEL)
+ .addFeature(0, ImsFeature.FEATURE_MMTEL)
+ .build();
+ }
+
+ @Override
public MmTelFeature createMmTelFeature(int slotId) {
- Log.i(LOG_TAG, "TestImsService: onCreateEmergencyMMTelImsFeature");
+ Log.i(LOG_TAG, "TestImsService: onCreateMmTelImsFeature");
return mTestMmTelFeature;
}