diff options
| author | 2020-09-22 02:02:49 +0000 | |
|---|---|---|
| committer | 2020-09-22 02:02:49 +0000 | |
| commit | 2e2bd28efa8ed9024ea6386c0208e00d9a7d58c3 (patch) | |
| tree | 1927df962310ca87643d84c88b94edb1f2601434 | |
| parent | 7f6b82a3ffa55ae1fff78032b880c5420ccb1c59 (diff) | |
| parent | 3565a854aeb09a3a15f98b66b31aa857aecc447c (diff) | |
Merge "TelephonyRegistry: Avoid adding duplicate listener" am: 6334152357 am: 3ba0f5da1d am: 4aeb2ecda5 am: 276ee5c666 am: 3565a854ae
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1433021
Change-Id: I1328d6bc805987cc52fb7264a4b96a0300a87492
| -rw-r--r-- | core/java/android/telephony/TelephonyRegistryManager.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/core/java/android/telephony/TelephonyRegistryManager.java b/core/java/android/telephony/TelephonyRegistryManager.java index 6d48dc36ceb4..24ed29a66654 100644 --- a/core/java/android/telephony/TelephonyRegistryManager.java +++ b/core/java/android/telephony/TelephonyRegistryManager.java @@ -101,6 +101,10 @@ public class TelephonyRegistryManager { public void addOnSubscriptionsChangedListener( @NonNull SubscriptionManager.OnSubscriptionsChangedListener listener, @NonNull Executor executor) { + if (mSubscriptionChangedListenerMap.get(listener) != null) { + Log.d(TAG, "addOnSubscriptionsChangedListener listener already present"); + return; + } IOnSubscriptionsChangedListener callback = new IOnSubscriptionsChangedListener.Stub() { @Override public void onSubscriptionsChanged () { @@ -150,6 +154,10 @@ public class TelephonyRegistryManager { public void addOnOpportunisticSubscriptionsChangedListener( @NonNull SubscriptionManager.OnOpportunisticSubscriptionsChangedListener listener, @NonNull Executor executor) { + if (mOpportunisticSubscriptionChangedListenerMap.get(listener) != null) { + Log.d(TAG, "addOnOpportunisticSubscriptionsChangedListener listener already present"); + return; + } /** * The callback methods need to be called on the executor thread where * this object was created. If the binder did that for us it'd be nice. @@ -185,6 +193,9 @@ public class TelephonyRegistryManager { */ public void removeOnOpportunisticSubscriptionsChangedListener( @NonNull SubscriptionManager.OnOpportunisticSubscriptionsChangedListener listener) { + if (mOpportunisticSubscriptionChangedListenerMap.get(listener) == null) { + return; + } try { sRegistry.removeOnSubscriptionsChangedListener(mContext.getOpPackageName(), mOpportunisticSubscriptionChangedListenerMap.get(listener)); |