Unregister from the remote renderer only if bound.

bug:8213791

Change-Id: Ia9efa33331437c4db447acf0c510d4cb4932a593
This commit is contained in:
Svetoslav
2014-09-03 14:27:41 -07:00
parent a83a6d9d12
commit 9e795e19c7

View File

@@ -451,6 +451,8 @@ public final class PageContentRepository {
@GuardedBy("mLock")
private IPdfRenderer mRenderer;
private boolean mBoundToService;
public AsyncRenderer(Context context, OnMalformedPdfFileListener malformedPdfFileListener) {
mContext = context;
mOnMalformedPdfFileListener = malformedPdfFileListener;
@@ -463,6 +465,7 @@ public final class PageContentRepository {
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
mBoundToService = true;
synchronized (mLock) {
mRenderer = IPdfRenderer.Stub.asInterface(service);
mLock.notifyAll();
@@ -559,7 +562,10 @@ public final class PageContentRepository {
@Override
public void onPostExecute(Void result) {
mContext.unbindService(AsyncRenderer.this);
if (mBoundToService) {
mBoundToService = false;
mContext.unbindService(AsyncRenderer.this);
}
mPageContentCache.invalidate();
mPageContentCache.clear();
}