diff options
author | Koji Fukui <koji.fukui@sony.com> | 2017-11-14 01:51:30 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2017-11-14 01:51:30 +0000 |
commit | 9e3ff42caa647dc8292dbbdedf177003adf04f40 (patch) | |
tree | 3374fbd52f1166ba5758d692d5413d6c8e51b07a | |
parent | 1b2e6c11e7a0cc89e28e7038a51c53f340c823cc (diff) | |
parent | 5cb172d17ecc563fbfb1305fcd6d9694f78f2ef2 (diff) |
Merge "Stop observing death of PrintManager listener when it is removed" am: e7240a52e2
am: 5cb172d17e
Change-Id: I2169c5d3a0a1d8b4bd6729c4ca56b7a1de2a6249
-rw-r--r-- | services/print/java/com/android/server/print/UserState.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/services/print/java/com/android/server/print/UserState.java b/services/print/java/com/android/server/print/UserState.java index 5770c5079d94..fcc6f525ef14 100644 --- a/services/print/java/com/android/server/print/UserState.java +++ b/services/print/java/com/android/server/print/UserState.java @@ -586,6 +586,7 @@ final class UserState implements PrintSpoolerCallbacks, PrintServiceCallbacks, PrintJobStateChangeListenerRecord record = mPrintJobStateChangeListenerRecords.get(i); if (record.listener.asBinder().equals(listener.asBinder())) { + record.destroy(); mPrintJobStateChangeListenerRecords.remove(i); break; } @@ -628,6 +629,7 @@ final class UserState implements PrintSpoolerCallbacks, PrintServiceCallbacks, ListenerRecord<IPrintServicesChangeListener> record = mPrintServicesChangeListenerRecords.get(i); if (record.listener.asBinder().equals(listener.asBinder())) { + record.destroy(); mPrintServicesChangeListenerRecords.remove(i); break; } @@ -675,6 +677,7 @@ final class UserState implements PrintSpoolerCallbacks, PrintServiceCallbacks, ListenerRecord<IRecommendationsChangeListener> record = mPrintServiceRecommendationsChangeListenerRecords.get(i); if (record.listener.asBinder().equals(listener.asBinder())) { + record.destroy(); mPrintServiceRecommendationsChangeListenerRecords.remove(i); break; } @@ -1222,6 +1225,10 @@ final class UserState implements PrintSpoolerCallbacks, PrintServiceCallbacks, listener.asBinder().linkToDeath(this, 0); } + public void destroy() { + listener.asBinder().unlinkToDeath(this, 0); + } + @Override public void binderDied() { listener.asBinder().unlinkToDeath(this, 0); @@ -1239,6 +1246,10 @@ final class UserState implements PrintSpoolerCallbacks, PrintServiceCallbacks, listener.asBinder().linkToDeath(this, 0); } + public void destroy() { + listener.asBinder().unlinkToDeath(this, 0); + } + @Override public void binderDied() { listener.asBinder().unlinkToDeath(this, 0); |