Add IMS Registration Integration

Adds IMS Registration querying API.

Bug: 63987047
Test: Telephony Unit Tests, Manual Tests
Merged-In: I5c44f8add7d95b555482abbdabd074561024791f
Change-Id: I5c44f8add7d95b555482abbdabd074561024791f
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 2705c67..af57f32 100644
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -39,6 +39,7 @@
 import android.os.Message;
 import android.os.Messenger;
 import android.os.PersistableBundle;
+import android.os.RemoteException;
 import android.os.ResultReceiver;
 import android.os.ServiceManager;
 import android.os.UserHandle;
@@ -77,6 +78,7 @@
 import com.android.ims.ImsManager;
 import com.android.ims.internal.IImsMMTelFeature;
 import com.android.ims.internal.IImsRcsFeature;
+import com.android.ims.internal.IImsRegistration;
 import com.android.ims.internal.IImsServiceFeatureCallback;
 import com.android.internal.telephony.CallManager;
 import com.android.internal.telephony.CallStateException;
@@ -2595,6 +2597,15 @@
         return PhoneFactory.getImsResolver().getRcsFeatureAndListen(slotId, callback);
     }
 
+    /**
+     * Returns the {@link IImsRegistration} structure associated with the slotId and feature
+     * specified.
+     */
+    public IImsRegistration getImsRegistration(int slotId, int feature) throws RemoteException {
+        enforceModifyPermission();
+        return PhoneFactory.getImsResolver().getImsRegistration(slotId, feature);
+    }
+
     public void setImsRegistrationState(boolean registered) {
         enforceModifyPermission();
         mPhone.setImsRegistrationState(registered);