diff options
author | Svetoslav <svetoslavganov@google.com> | 2014-09-12 23:22:46 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-09-12 23:22:46 +0000 |
commit | eb652db16f5e03b32b062710fb3b11629be3b150 (patch) | |
tree | 6af3643b75452f9db83886a4a2e17819750f57c4 | |
parent | 34c5a6205afcbf0b6480df3a35deb1a16a3eac1b (diff) | |
parent | ba46eb6b6d19e9ab8d2efa0990d056bbfc56a8be (diff) | |
download | frameworks_base-eb652db16f5e03b32b062710fb3b11629be3b150.zip frameworks_base-eb652db16f5e03b32b062710fb3b11629be3b150.tar.gz frameworks_base-eb652db16f5e03b32b062710fb3b11629be3b150.tar.bz2 |
am 376926b7: am 60eed0e5: Merge "Fix crash in spooler if printing app dies." into lmp-dev
* commit '376926b7010b848fc22631a7274eb7bcf2078a0b':
Fix crash in spooler if printing app dies.
-rw-r--r-- | packages/PrintSpooler/AndroidManifest.xml | 3 | ||||
-rw-r--r-- | packages/PrintSpooler/src/com/android/printspooler/model/RemotePrintDocument.java | 20 |
2 files changed, 13 insertions, 10 deletions
diff --git a/packages/PrintSpooler/AndroidManifest.xml b/packages/PrintSpooler/AndroidManifest.xml index adff596..c7cf61a 100644 --- a/packages/PrintSpooler/AndroidManifest.xml +++ b/packages/PrintSpooler/AndroidManifest.xml @@ -55,7 +55,8 @@ <service android:name=".renderer.PdfManipulationService" - android:isolatedProcess="true"> + android:isolatedProcess="true" + android:process=":renderer"> </service> <activity diff --git a/packages/PrintSpooler/src/com/android/printspooler/model/RemotePrintDocument.java b/packages/PrintSpooler/src/com/android/printspooler/model/RemotePrintDocument.java index 239f006..429437d 100644 --- a/packages/PrintSpooler/src/com/android/printspooler/model/RemotePrintDocument.java +++ b/packages/PrintSpooler/src/com/android/printspooler/model/RemotePrintDocument.java @@ -135,7 +135,7 @@ public final class RemotePrintDocument { private final DeathRecipient mDeathRecipient = new DeathRecipient() { @Override public void binderDied() { - mAdapterDeathObserver.onDied(); + notifyPrintingAppDied(); } }; @@ -180,7 +180,6 @@ public final class RemotePrintDocument { } catch (RemoteException re) { Log.e(LOG_TAG, "Error calling start()", re); mState = STATE_FAILED; - mAdapterDeathObserver.onDied(); } } @@ -269,7 +268,6 @@ public final class RemotePrintDocument { } catch (RemoteException re) { Log.e(LOG_TAG, "Error calling finish()", re); mState = STATE_FAILED; - mAdapterDeathObserver.onDied(); } } @@ -1108,6 +1106,15 @@ public final class RemotePrintDocument { } } + private void notifyPrintingAppDied() { + new Handler(mLooper).post(new Runnable() { + @Override + public void run() { + mAdapterDeathObserver.onDied(); + } + }); + } + private static final class PrintDocumentAdapterObserver extends IPrintDocumentAdapterObserver.Stub { private final WeakReference<RemotePrintDocument> mWeakDocument; @@ -1120,12 +1127,7 @@ public final class RemotePrintDocument { public void onDestroy() { final RemotePrintDocument document = mWeakDocument.get(); if (document != null) { - new Handler(document.mLooper).post(new Runnable() { - @Override - public void run() { - document.mAdapterDeathObserver.onDied(); - } - }); + document.notifyPrintingAppDied(); } } } |