diff options
Diffstat (limited to 'services/java/com/android/server/print/RemotePrintSpooler.java')
-rw-r--r-- | services/java/com/android/server/print/RemotePrintSpooler.java | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/services/java/com/android/server/print/RemotePrintSpooler.java b/services/java/com/android/server/print/RemotePrintSpooler.java index 1bde6d7..f98a805 100644 --- a/services/java/com/android/server/print/RemotePrintSpooler.java +++ b/services/java/com/android/server/print/RemotePrintSpooler.java @@ -91,6 +91,7 @@ final class RemotePrintSpooler { public static interface PrintSpoolerCallbacks { public void onPrintJobQueued(PrintJobInfo printJob); public void onAllPrintJobsForServiceHandled(ComponentName printService); + public void onPrintJobStateChanged(PrintJobId printJobId, int appId); } public RemotePrintSpooler(Context context, int userId, @@ -345,6 +346,10 @@ final class RemotePrintSpooler { } } + private void onPrintJobStateChanged(PrintJobId printJobId, int appId) { + mCallbacks.onPrintJobStateChanged(printJobId, appId); + } + private IPrintSpooler getRemoteInstanceLazy() throws TimeoutException { synchronized (mLock) { if (mRemoteInstance != null) { @@ -618,5 +623,18 @@ final class RemotePrintSpooler { } } } + + @Override + public void onPrintJobStateChanged(PrintJobId printJobId, int appId) { + RemotePrintSpooler spooler = mWeakSpooler.get(); + if (spooler != null) { + final long identity = Binder.clearCallingIdentity(); + try { + spooler.onPrintJobStateChanged(printJobId, appId); + } finally { + Binder.restoreCallingIdentity(identity); + } + } + } } } |