Revert "Listen to IMS capability status for RTT"

This reverts commit b9d84f96545e1834901ea1546c911018110892fa.

Reason for revert: turns out the tests weren't flaky

Change-Id: Ifeb55ad4cd30a8cfceb0a9ad341c12d6714c0bbb
diff --git a/src/com/android/services/telephony/TelecomAccountRegistry.java b/src/com/android/services/telephony/TelecomAccountRegistry.java
index 7be0747..a0e5530 100644
--- a/src/com/android/services/telephony/TelecomAccountRegistry.java
+++ b/src/com/android/services/telephony/TelecomAccountRegistry.java
@@ -46,9 +46,6 @@
 import android.telephony.SubscriptionManager;
 import android.telephony.SubscriptionManager.OnSubscriptionsChangedListener;
 import android.telephony.TelephonyManager;
-import android.telephony.ims.ImsMmTelManager;
-import android.telephony.ims.feature.MmTelFeature;
-import android.telephony.ims.stub.ImsRegistrationImplBase;
 import android.text.TextUtils;
 
 import com.android.ims.ImsManager;
@@ -81,10 +78,7 @@
         private final PstnIncomingCallNotifier mIncomingCallNotifier;
         private final PstnPhoneCapabilitiesNotifier mPhoneCapabilitiesNotifier;
         private boolean mIsEmergency;
-        private boolean mIsRttCapable;
-        private MmTelFeature.MmTelCapabilities mMmTelCapabilities;
-        private ImsMmTelManager.CapabilityCallback mMmtelCapabilityCallback;
-        private final boolean mIsDummy;
+        private boolean mIsDummy;
         private boolean mIsVideoCapable;
         private boolean mIsVideoPresenceSupported;
         private boolean mIsVideoPauseSupported;
@@ -105,36 +99,11 @@
             mIncomingCallNotifier = new PstnIncomingCallNotifier((Phone) mPhone);
             mPhoneCapabilitiesNotifier = new PstnPhoneCapabilitiesNotifier((Phone) mPhone,
                     this);
-
-            if (!mIsDummy) {
-                ImsMmTelManager manager;
-                try {
-                    manager = ImsMmTelManager.createForSubscriptionId(mContext, getSubId());
-                } catch (IllegalArgumentException e) {
-                    Log.i(this, "Not registering Mmtel listener because the subid is invalid");
-                    return;
-                }
-                mMmtelCapabilityCallback =
-                        new ImsMmTelManager.CapabilityCallback() {
-                            @Override
-                            public void onCapabilitiesStatusChanged(
-                                    MmTelFeature.MmTelCapabilities capabilities) {
-                                mMmTelCapabilities = capabilities;
-                                updateRttCapability();
-                            }
-                        };
-                manager.registerMmTelCapabilityCallback(mContext.getMainExecutor(),
-                                mMmtelCapabilityCallback);
-            }
         }
 
         void teardown() {
             mIncomingCallNotifier.teardown();
             mPhoneCapabilitiesNotifier.teardown();
-            if (mMmtelCapabilityCallback != null) {
-                ImsMmTelManager.createForSubscriptionId(mContext, getSubId())
-                        .unregisterMmTelCapabilityCallback(mMmtelCapabilityCallback);
-            }
         }
 
         /**
@@ -291,10 +260,8 @@
                 extras.putBoolean(PhoneAccount.EXTRA_PLAY_CALL_RECORDING_TONE, true);
             }
 
-            if (PhoneGlobals.getInstance().phoneMgr.isRttEnabled(subId)
-                    && isImsVoiceCapable(this)) {
+            if (PhoneGlobals.getInstance().phoneMgr.isRttEnabled(subId)) {
                 capabilities |= PhoneAccount.CAPABILITY_RTT;
-                mIsRttCapable = true;
             }
 
             extras.putBoolean(PhoneAccount.EXTRA_SUPPORTS_VIDEO_CALLING_FALLBACK,
@@ -558,21 +525,10 @@
         }
 
         public void updateRttCapability() {
-            // In the rare case that mMmTelCapabilities hasn't been set yet, try fetching it
-            // directly.
-            boolean hasVoiceCapability;
-            if (mMmTelCapabilities != null) {
-                hasVoiceCapability = mMmTelCapabilities.isCapable(
-                        MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE);
-            } else {
-                hasVoiceCapability = isImsVoiceCapable(this);
-            }
-
-            boolean isRttSupported = PhoneGlobals.getInstance().phoneMgr
+            boolean isRttEnabled = PhoneGlobals.getInstance().phoneMgr
                     .isRttEnabled(mPhone.getSubId());
-
-            boolean isRttEnabled = hasVoiceCapability && isRttSupported;
-            if (isRttEnabled != mIsRttCapable) {
+            boolean oldRttEnabled = mAccount.hasCapabilities(PhoneAccount.CAPABILITY_RTT);
+            if (isRttEnabled != oldRttEnabled) {
                 mAccount = registerPstnPhoneAccount(mIsEmergency, mIsDummy);
             }
         }
@@ -1033,20 +989,6 @@
         }
     }
 
-    private boolean isImsVoiceCapable(AccountEntry entry) {
-        if (entry.mMmTelCapabilities != null) {
-            return entry.mMmTelCapabilities.isCapable(
-                    MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE);
-        }
-
-        ImsMmTelManager manager = ImsMmTelManager.createForSubscriptionId(mContext,
-                entry.getSubId());
-        return manager.isCapable(ImsRegistrationImplBase.REGISTRATION_TECH_LTE,
-                MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE)
-                && manager.isCapable(ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN,
-                MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE);
-    }
-
     /**
      * Handles changes to the carrier configuration which may impact a phone account.  There are
      * some extras defined in the {@link PhoneAccount} which are based on carrier config options.