Cleaned up the deprecated APIs

Bug: 270094276
Test: Basic phone funcationality tests
Change-Id: Iffae0504a47718525152bc28f3cad2657b542362
diff --git a/src/com/android/phone/ImsProvisioningController.java b/src/com/android/phone/ImsProvisioningController.java
index 6a6b155..a62980e 100644
--- a/src/com/android/phone/ImsProvisioningController.java
+++ b/src/com/android/phone/ImsProvisioningController.java
@@ -1564,13 +1564,7 @@
     }
 
     protected int getSubId(int slotId) {
-        final int[] subIds = mSubscriptionManager.getSubscriptionIds(slotId);
-        int subId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
-        if (subIds != null && subIds.length >= 1) {
-            subId = subIds[0];
-        }
-
-        return subId;
+        return SubscriptionManager.getSubscriptionId(slotId);
     }
 
     protected int getSlotId(int subId) {
diff --git a/src/com/android/services/telephony/rcs/TelephonyRcsService.java b/src/com/android/services/telephony/rcs/TelephonyRcsService.java
index 3a8ad62..f6ba40b 100644
--- a/src/com/android/services/telephony/rcs/TelephonyRcsService.java
+++ b/src/com/android/services/telephony/rcs/TelephonyRcsService.java
@@ -366,16 +366,7 @@
     }
 
     private int getSubscriptionFromSlot(int slotId) {
-        SubscriptionManager manager = mContext.getSystemService(SubscriptionManager.class);
-        if (manager == null) {
-            Log.w(LOG_TAG, "Couldn't find SubscriptionManager for slotId=" + slotId);
-            return SubscriptionManager.INVALID_SUBSCRIPTION_ID;
-        }
-        int[] subIds = manager.getSubscriptionIds(slotId);
-        if (subIds != null && subIds.length > 0) {
-            return subIds[0];
-        }
-        return SubscriptionManager.INVALID_SUBSCRIPTION_ID;
+        return SubscriptionManager.getSubscriptionId(slotId);
     }
 
     /**
diff --git a/tests/src/com/android/services/telephony/rcs/TelephonyRcsServiceTest.java b/tests/src/com/android/services/telephony/rcs/TelephonyRcsServiceTest.java
index 39469b6..d575d77 100644
--- a/tests/src/com/android/services/telephony/rcs/TelephonyRcsServiceTest.java
+++ b/tests/src/com/android/services/telephony/rcs/TelephonyRcsServiceTest.java
@@ -25,17 +25,20 @@
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 
+import android.app.PropertyInvalidatedCache;
 import android.content.BroadcastReceiver;
 import android.content.Intent;
 import android.os.PersistableBundle;
 import android.telephony.CarrierConfigManager;
 import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyManager;
 
 import androidx.test.runner.AndroidJUnit4;
 
 import com.android.TelephonyTestBase;
 import com.android.ims.FeatureConnector;
 import com.android.ims.RcsFeatureManager;
+import com.android.internal.telephony.ISub;
 
 import org.junit.After;
 import org.junit.Before;
@@ -59,12 +62,26 @@
     @Mock RcsFeatureController.FeatureConnectorFactory<RcsFeatureManager> mFeatureConnectorFactory;
     @Mock FeatureConnector<RcsFeatureManager> mFeatureConnector;
 
+    @Mock
+    private ISub mISub;
+
+    @Mock
+    private TelephonyManager mTelephonyManager;
+
     private RcsFeatureController mFeatureControllerSlot0;
     private RcsFeatureController mFeatureControllerSlot1;
 
     @Before
     public void setUp() throws Exception {
         super.setUp();
+        TelephonyManager.setupISubForTest(mISub);
+        TelephonyManager.enableServiceHandleCaching();
+        PropertyInvalidatedCache.disableForTestMode();
+
+        //set up default slot-> sub ID mappings.
+        setSlotToSubIdMapping(0 /*slotId*/, 1/*subId*/);
+        setSlotToSubIdMapping(1 /*slotId*/, 2/*subId*/);
+
         doReturn(mFeatureConnector).when(mFeatureConnectorFactory).create(any(), anyInt(),
                 any(), any(), any());
         mFeatureControllerSlot0 = createFeatureController(0 /*slotId*/, 1 /*subId*/);
@@ -82,9 +99,9 @@
         doReturn(mMockSipTransportSlot1).when(mFeatureFactory).createSipTransportController(any(),
                 eq(1), anyInt());
         doReturn(true).when(mResourceProxy).getDeviceUceEnabled(any());
-        //set up default slot-> sub ID mappings.
-        setSlotToSubIdMapping(0 /*slotId*/, 1/*subId*/);
-        setSlotToSubIdMapping(1 /*slotId*/, 2/*subId*/);
+
+        replaceInstance(TelephonyManager.class, "sInstance", null, mTelephonyManager);
+        doReturn(2).when(mTelephonyManager).getActiveModemCount();
     }
 
     @After
@@ -341,11 +358,8 @@
         bundle.putBoolean(key, value);
     }
 
-    private void setSlotToSubIdMapping(int slotId, int loadedSubId) {
-        SubscriptionManager m = mContext.getSystemService(SubscriptionManager.class);
-        int [] subIds = new int[1];
-        subIds[0] = loadedSubId;
-        doReturn(subIds).when(m).getSubscriptionIds(eq(slotId));
+    private void setSlotToSubIdMapping(int slotId, int loadedSubId) throws Exception {
+        doReturn(loadedSubId).when(mISub).getSubId(slotId);
     }
 
     private TelephonyRcsService createRcsService(int numSlots) {