Merge "Stop observing death of PrintManager listener when it is removed" am: e7240a52e2

am: 5cb172d17e

Change-Id: I2169c5d3a0a1d8b4bd6729c4ca56b7a1de2a6249
This commit is contained in:
Koji Fukui
2017-11-14 01:51:30 +00:00
committed by android-build-merger

View File

@@ -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);