diff options
| -rw-r--r-- | telephony/java/android/telephony/ims/ImsService.java | 4 | ||||
| -rw-r--r-- | telephony/java/android/telephony/ims/feature/ImsFeature.java | 14 |
2 files changed, 11 insertions, 7 deletions
diff --git a/telephony/java/android/telephony/ims/ImsService.java b/telephony/java/android/telephony/ims/ImsService.java index be233b82c426..bccb6ef2b1e5 100644 --- a/telephony/java/android/telephony/ims/ImsService.java +++ b/telephony/java/android/telephony/ims/ImsService.java @@ -425,8 +425,8 @@ public class ImsService extends Service { } } - private IImsRcsFeature createRcsFeatureInternal(int slotId, int subI) { - RcsFeature f = createRcsFeatureForSubscription(slotId, subI); + private IImsRcsFeature createRcsFeatureInternal(int slotId, int subId) { + RcsFeature f = createRcsFeatureForSubscription(slotId, subId); if (f != null) { f.setDefaultExecutor(mExecutor); setupFeature(f, slotId, ImsFeature.FEATURE_RCS); diff --git a/telephony/java/android/telephony/ims/feature/ImsFeature.java b/telephony/java/android/telephony/ims/feature/ImsFeature.java index f5b158fedd37..a42327b8a1a9 100644 --- a/telephony/java/android/telephony/ims/feature/ImsFeature.java +++ b/telephony/java/android/telephony/ims/feature/ImsFeature.java @@ -394,10 +394,12 @@ public abstract class ImsFeature { @VisibleForTesting public void addImsFeatureStatusCallback(@NonNull IImsFeatureStatusCallback c) { try { - // If we have just connected, send queued status. - c.notifyImsFeatureStatus(getFeatureState()); - // Add the callback if the callback completes successfully without a RemoteException. - mStatusCallbacks.register(c); + synchronized (mStatusCallbacks) { + // Add the callback if the callback completes successfully without a RemoteException + mStatusCallbacks.register(c); + // If we have just connected, send queued status. + c.notifyImsFeatureStatus(getFeatureState()); + } } catch (RemoteException e) { Log.w(LOG_TAG, "Couldn't notify feature state: " + e.getMessage()); } @@ -409,7 +411,9 @@ public abstract class ImsFeature { */ @VisibleForTesting public void removeImsFeatureStatusCallback(@NonNull IImsFeatureStatusCallback c) { - mStatusCallbacks.unregister(c); + synchronized (mStatusCallbacks) { + mStatusCallbacks.unregister(c); + } } /** |