Add implementation of toggle IMS on and off.
Bug: 141929672
Test: CTS test
Change-Id: I5dd70f511e1574a9c80017f2637934ecd065a8ff
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 5f7b627..fc3e3f5 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -4452,6 +4452,27 @@
}
/**
+ * Toggle IMS disable and enable for the framework to reset it. See {@link #enableIms(int)} and
+ * {@link #disableIms(int)}.
+ * @param slotIndex device slot.
+ */
+ public void resetIms(int slotIndex) {
+ enforceModifyPermission();
+
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ if (mImsResolver == null) {
+ // may happen if the does not support IMS.
+ return;
+ }
+ mImsResolver.disableIms(slotIndex);
+ mImsResolver.enableIms(slotIndex);
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
+ }
+
+ /**
* Enables IMS for the framework. This will trigger IMS registration and ImsFeature capability
* status updates, if not already enabled.
*/