From c863489e67ffaf8d74de24cf1634d9b9619a2f60 Mon Sep 17 00:00:00 2001 From: "Philip P. Moltmann" Date: Wed, 20 Apr 2016 11:53:57 -0700 Subject: [PATCH] Prevent printing from finishing activity. Bug: 27861927 Change-Id: I00177ca0ec75cc8f7fd422907a2b5827b5db406b --- core/java/android/print/PrintManager.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/core/java/android/print/PrintManager.java b/core/java/android/print/PrintManager.java index 71f0bd6152063..5d0ad5568173f 100644 --- a/core/java/android/print/PrintManager.java +++ b/core/java/android/print/PrintManager.java @@ -778,6 +778,12 @@ public final class PrintManager { public PrintDocumentAdapterDelegate(Activity activity, PrintDocumentAdapter documentAdapter) { + if (activity.isFinishing()) { + // The activity is already dead hence the onActivityDestroyed callback won't be + // triggered. Hence it is not save to print in this situation. + throw new IllegalStateException("Cannot start printing for finishing activity"); + } + mActivity = activity; mDocumentAdapter = documentAdapter; mHandler = new MyHandler(mActivity.getMainLooper());