Support multi sim on ims reg state change
Test: Unit Tests
Change-Id: I03eeee59b3b8d6003f25cba70488eac709998188
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 482c366..5f99ab7 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -5495,12 +5495,20 @@
}
}
- public void setImsRegistrationState(boolean registered) {
+ /**
+ * Sets the ims registration state on all valid {@link Phone}s.
+ */
+ public void setImsRegistrationState(final boolean registered) {
enforceModifyPermission();
final long identity = Binder.clearCallingIdentity();
try {
- getDefaultPhone().setImsRegistrationState(registered);
+ // NOTE: Before S, this method only set the default phone.
+ for (final Phone phone : PhoneFactory.getPhones()) {
+ if (SubscriptionManager.isValidSubscriptionId(phone.getSubId())) {
+ phone.setImsRegistrationState(registered);
+ }
+ }
} finally {
Binder.restoreCallingIdentity(identity);
}