diff options
| author | 2022-05-10 16:55:16 -0700 | |
|---|---|---|
| committer | 2022-05-10 16:55:50 -0700 | |
| commit | 7fd1f110593a426a2d39065d6696a19ddf53dd3c (patch) | |
| tree | 17c98016806a401b928bcb66f43a1eac9bad4543 | |
| parent | ddb4ee4491a0bf5082a93f68d529fb1bef2c3758 (diff) | |
Ensure create/destroy is called properly for Capability Exchange API
We were mistakenly not calling the destroy API properly for Capability
Exchange API when the listener passed in was null. Instead we were calling
destroy -> create. This was causing us to call destroy -> create
over 4 times when switching SIMs.
Bug: 228278638
Test: manual PUBLISH verification on TMO, atest FrameworksTelephonyTests
Change-Id: If374f8306add45e60f64fa4031af31c8f448bb22
| -rw-r--r-- | telephony/java/android/telephony/ims/feature/RcsFeature.java | 6 | 
1 files changed, 4 insertions, 2 deletions
diff --git a/telephony/java/android/telephony/ims/feature/RcsFeature.java b/telephony/java/android/telephony/ims/feature/RcsFeature.java index 843827befb65..186241217588 100644 --- a/telephony/java/android/telephony/ims/feature/RcsFeature.java +++ b/telephony/java/android/telephony/ims/feature/RcsFeature.java @@ -118,8 +118,10 @@ public class RcsFeature extends ImsFeature {          @Override          public void setCapabilityExchangeEventListener(                  @Nullable ICapabilityExchangeEventListener listener) throws RemoteException { -            CapabilityExchangeEventListener listenerWrapper = -                    new CapabilityExchangeAidlWrapper(listener); +            // Set the listener wrapper to null if the listener passed in is null. This will notify +            // the RcsFeature to trigger the destruction of active capability exchange interface. +            CapabilityExchangeEventListener listenerWrapper = listener != null +                    ? new CapabilityExchangeAidlWrapper(listener) : null;              executeMethodAsync(() -> mReference.setCapabilityExchangeEventListener(listenerWrapper),                      "setCapabilityExchangeEventListener");          }  |