Merge "TelephonyRegistry: Avoid adding duplicate listener" am: 6334152357 am: 3ba0f5da1d
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1433021 Change-Id: Ie577f0736765ef1c79630c116351a669f972c778
This commit is contained in:
@@ -104,6 +104,10 @@ public class TelephonyRegistryManager {
|
|||||||
public void addOnSubscriptionsChangedListener(
|
public void addOnSubscriptionsChangedListener(
|
||||||
@NonNull SubscriptionManager.OnSubscriptionsChangedListener listener,
|
@NonNull SubscriptionManager.OnSubscriptionsChangedListener listener,
|
||||||
@NonNull Executor executor) {
|
@NonNull Executor executor) {
|
||||||
|
if (mSubscriptionChangedListenerMap.get(listener) != null) {
|
||||||
|
Log.d(TAG, "addOnSubscriptionsChangedListener listener already present");
|
||||||
|
return;
|
||||||
|
}
|
||||||
IOnSubscriptionsChangedListener callback = new IOnSubscriptionsChangedListener.Stub() {
|
IOnSubscriptionsChangedListener callback = new IOnSubscriptionsChangedListener.Stub() {
|
||||||
@Override
|
@Override
|
||||||
public void onSubscriptionsChanged () {
|
public void onSubscriptionsChanged () {
|
||||||
@@ -153,6 +157,10 @@ public class TelephonyRegistryManager {
|
|||||||
public void addOnOpportunisticSubscriptionsChangedListener(
|
public void addOnOpportunisticSubscriptionsChangedListener(
|
||||||
@NonNull SubscriptionManager.OnOpportunisticSubscriptionsChangedListener listener,
|
@NonNull SubscriptionManager.OnOpportunisticSubscriptionsChangedListener listener,
|
||||||
@NonNull Executor executor) {
|
@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
|
* 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.
|
* this object was created. If the binder did that for us it'd be nice.
|
||||||
@@ -188,6 +196,9 @@ public class TelephonyRegistryManager {
|
|||||||
*/
|
*/
|
||||||
public void removeOnOpportunisticSubscriptionsChangedListener(
|
public void removeOnOpportunisticSubscriptionsChangedListener(
|
||||||
@NonNull SubscriptionManager.OnOpportunisticSubscriptionsChangedListener listener) {
|
@NonNull SubscriptionManager.OnOpportunisticSubscriptionsChangedListener listener) {
|
||||||
|
if (mOpportunisticSubscriptionChangedListenerMap.get(listener) == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
sRegistry.removeOnSubscriptionsChangedListener(mContext.getOpPackageName(),
|
sRegistry.removeOnSubscriptionsChangedListener(mContext.getOpPackageName(),
|
||||||
mOpportunisticSubscriptionChangedListenerMap.get(listener));
|
mOpportunisticSubscriptionChangedListenerMap.get(listener));
|
||||||
|
|||||||
Reference in New Issue
Block a user