Move IMS to a listener type model instead of a poll model

[RESUBMISSION AFTER REVERT aosp/1443077]

Pipe through new listen commands for components requiring
access to ImsFeature binders and refactor the RCS
controllers to use the new model.

Test: atest TeleServiceTests
Merged-In: I81629d32ab995a70d8d5795351890e6d89495664
Change-Id: I81629d32ab995a70d8d5795351890e6d89495664
diff --git a/src/com/android/phone/PhoneGlobals.java b/src/com/android/phone/PhoneGlobals.java
index bd2b2ed..509aa57 100644
--- a/src/com/android/phone/PhoneGlobals.java
+++ b/src/com/android/phone/PhoneGlobals.java
@@ -55,6 +55,7 @@
 import android.util.Log;
 import android.widget.Toast;
 
+import com.android.ims.ImsFeatureBinderRepository;
 import com.android.internal.telephony.CallManager;
 import com.android.internal.telephony.IccCardConstants;
 import com.android.internal.telephony.MmiCode;
@@ -356,7 +357,8 @@
                 String defaultImsRcsPackage = getResources().getString(
                         R.string.config_ims_rcs_package);
                 mImsResolver = new ImsResolver(this, defaultImsMmtelPackage,
-                        defaultImsRcsPackage, PhoneFactory.getPhones().length);
+                        defaultImsRcsPackage, PhoneFactory.getPhones().length,
+                        new ImsFeatureBinderRepository());
                 mImsResolver.initialize();
             }