OSDN Git Service

Compare binder instances when checking if listeners match.
authorAndrew Wilson <anwilson@google.com>
Wed, 22 May 2013 16:35:35 +0000 (09:35 -0700)
committerAndrew Wilson <anwilson@google.com>
Wed, 22 May 2013 16:35:35 +0000 (09:35 -0700)
Bug: 9069919
Change-Id: I06130105cb703de35de76ab2fceba3855fa5407a

services/java/com/android/server/NotificationManagerService.java

index 4348a81..350b406 100644 (file)
@@ -762,7 +762,8 @@ public class NotificationManagerService extends INotificationManager.Stub
             final int N = mListeners.size();
             for (int i=N-1; i>=0; i--) {
                 final NotificationListenerInfo info = mListeners.get(i);
-                if (info.listener == listener && info.userid == userid) {
+                if (info.listener.asBinder() == listener.asBinder()
+                        && info.userid == userid) {
                     mListeners.remove(i);
                     if (info.connection != null) {
                         mContext.unbindService(info.connection);