diff --git a/telephony/java/android/telephony/ims/ImsMmTelManager.java b/telephony/java/android/telephony/ims/ImsMmTelManager.java index 5bae1ad72d938..a6ccb220d74e4 100644 --- a/telephony/java/android/telephony/ims/ImsMmTelManager.java +++ b/telephony/java/android/telephony/ims/ImsMmTelManager.java @@ -223,6 +223,10 @@ public class ImsMmTelManager implements RegistrationManager { private final int mSubId; private final BinderCacheManager mBinderCache; + // Cache Telephony Binder interfaces, one cache per process. + private static final BinderCacheManager sTelephonyCache = + new BinderCacheManager<>(ImsMmTelManager::getITelephonyInterface); + /** * Create an instance of {@link ImsMmTelManager} for the subscription id specified. * @@ -251,8 +255,7 @@ public class ImsMmTelManager implements RegistrationManager { throw new IllegalArgumentException("Invalid subscription ID"); } - return new ImsMmTelManager(subId, new BinderCacheManager<>( - ImsMmTelManager::getITelephonyInterface)); + return new ImsMmTelManager(subId, sTelephonyCache); } /**