From 5be61f5b3ad61706b72c1f6b00914ab042dc6bed Mon Sep 17 00:00:00 2001 From: Bryan Mawhinney Date: Thu, 24 Sep 2009 14:50:25 +0100 Subject: [PATCH] Make removeOnAccountsUpdateListener cope with null handlers. Previously, if callers registered OnAccountsUpdateListeners with a null handler, removeOnAccountsUpdateListener would fail attempting to remove the listener. Change-Id: If9906d3711f816e60c4b491b7f33671f089ac00f --- core/java/android/accounts/AccountManager.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/java/android/accounts/AccountManager.java b/core/java/android/accounts/AccountManager.java index 1ee7f60fb9ce8..2979072ebd98b 100644 --- a/core/java/android/accounts/AccountManager.java +++ b/core/java/android/accounts/AccountManager.java @@ -859,9 +859,10 @@ public class AccountManager { throw new IllegalArgumentException("the listener is null"); } synchronized (mAccountsUpdatedListeners) { - if (mAccountsUpdatedListeners.remove(listener) == null) { + if (!mAccountsUpdatedListeners.containsKey(listener)) { throw new IllegalStateException("this listener was not previously added"); } + mAccountsUpdatedListeners.remove(listener); if (mAccountsUpdatedListeners.isEmpty()) { mContext.unregisterReceiver(mAccountsChangedBroadcastReceiver); }