summaryrefslogtreecommitdiff
path: root/services/print
diff options
context:
space:
mode:
authorKoji Fukui <koji.fukui@sony.com>2017-11-14 01:51:30 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-11-14 01:51:30 +0000
commit9e3ff42caa647dc8292dbbdedf177003adf04f40 (patch)
tree3374fbd52f1166ba5758d692d5413d6c8e51b07a /services/print
parent1b2e6c11e7a0cc89e28e7038a51c53f340c823cc (diff)
parent5cb172d17ecc563fbfb1305fcd6d9694f78f2ef2 (diff)
Merge "Stop observing death of PrintManager listener when it is removed" am: e7240a52e2
am: 5cb172d17e Change-Id: I2169c5d3a0a1d8b4bd6729c4ca56b7a1de2a6249
Diffstat (limited to 'services/print')
-rw-r--r--services/print/java/com/android/server/print/UserState.java11
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);