am d80a9aef: am 88713679: am 87263510: Merge "Unregister from the remote renderer only if bound." into lmp-dev
* commit 'd80a9aef134504bed1e73fe92b7e8c855e6d7626':
Unregister from the remote renderer only if bound.
diff --git a/packages/PrintSpooler/src/com/android/printspooler/model/PageContentRepository.java b/packages/PrintSpooler/src/com/android/printspooler/model/PageContentRepository.java
index cd2ccbd..06cba21 100644
--- a/packages/PrintSpooler/src/com/android/printspooler/model/PageContentRepository.java
+++ b/packages/PrintSpooler/src/com/android/printspooler/model/PageContentRepository.java
@@ -451,6 +451,8 @@
@GuardedBy("mLock")
private IPdfRenderer mRenderer;
+ private boolean mBoundToService;
+
public AsyncRenderer(Context context, OnMalformedPdfFileListener malformedPdfFileListener) {
mContext = context;
mOnMalformedPdfFileListener = malformedPdfFileListener;
@@ -463,6 +465,7 @@
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
+ mBoundToService = true;
synchronized (mLock) {
mRenderer = IPdfRenderer.Stub.asInterface(service);
mLock.notifyAll();
@@ -559,7 +562,10 @@
@Override
public void onPostExecute(Void result) {
- mContext.unbindService(AsyncRenderer.this);
+ if (mBoundToService) {
+ mBoundToService = false;
+ mContext.unbindService(AsyncRenderer.this);
+ }
mPageContentCache.invalidate();
mPageContentCache.clear();
}