Loading packages/PrintSpooler/src/com/android/printspooler/model/PageContentRepository.java +35 −38 Original line number Diff line number Diff line Loading @@ -654,7 +654,7 @@ public final class PageContentRepository { public void renderPage(int pageIndex, RenderSpec renderSpec, OnPageContentAvailableCallback callback) { // First, check if we have a rendered page for this index. synchronized (mPageToRenderTaskMap) { RenderedPage renderedPage = mPageContentCache.getRenderedPage(pageIndex); if (renderedPage != null && renderedPage.state == RenderedPage.STATE_RENDERED) { // If we have rendered page with same constraints - done. Loading @@ -679,20 +679,16 @@ public final class PageContentRepository { if (renderTask != null && !renderTask.isCancelled()) { // If not rendered and constraints same.... if (renderTask.mRenderSpec.equals(renderSpec)) { if (renderTask.mCallback != null) { // If someone else is already waiting for this page - bad state. if (callback != null && renderTask.mCallback != callback) { throw new IllegalStateException("Page rendering not cancelled"); } } else { // No callback means we are preloading so just let the argument // callback be attached to our work in progress. renderTask.mCallback = callback; } return; } else { // If not rendered and constraints changed - cancel rendering. try { renderTask.cancel(true); mPageToRenderTaskMap.remove(pageIndex); } catch (Exception e) { Log.e(LOG_TAG, "Error cancelling RenderPageTask ", e); } } } Loading @@ -701,6 +697,7 @@ public final class PageContentRepository { mPageToRenderTaskMap.put(pageIndex, renderTask); renderTask.executeOnExecutor(AsyncTask.SERIAL_EXECUTOR); } } public void cancelRendering(int pageIndex) { RenderPageTask task = mPageToRenderTaskMap.get(pageIndex); Loading Loading
packages/PrintSpooler/src/com/android/printspooler/model/PageContentRepository.java +35 −38 Original line number Diff line number Diff line Loading @@ -654,7 +654,7 @@ public final class PageContentRepository { public void renderPage(int pageIndex, RenderSpec renderSpec, OnPageContentAvailableCallback callback) { // First, check if we have a rendered page for this index. synchronized (mPageToRenderTaskMap) { RenderedPage renderedPage = mPageContentCache.getRenderedPage(pageIndex); if (renderedPage != null && renderedPage.state == RenderedPage.STATE_RENDERED) { // If we have rendered page with same constraints - done. Loading @@ -679,20 +679,16 @@ public final class PageContentRepository { if (renderTask != null && !renderTask.isCancelled()) { // If not rendered and constraints same.... if (renderTask.mRenderSpec.equals(renderSpec)) { if (renderTask.mCallback != null) { // If someone else is already waiting for this page - bad state. if (callback != null && renderTask.mCallback != callback) { throw new IllegalStateException("Page rendering not cancelled"); } } else { // No callback means we are preloading so just let the argument // callback be attached to our work in progress. renderTask.mCallback = callback; } return; } else { // If not rendered and constraints changed - cancel rendering. try { renderTask.cancel(true); mPageToRenderTaskMap.remove(pageIndex); } catch (Exception e) { Log.e(LOG_TAG, "Error cancelling RenderPageTask ", e); } } } Loading @@ -701,6 +697,7 @@ public final class PageContentRepository { mPageToRenderTaskMap.put(pageIndex, renderTask); renderTask.executeOnExecutor(AsyncTask.SERIAL_EXECUTOR); } } public void cancelRendering(int pageIndex) { RenderPageTask task = mPageToRenderTaskMap.get(pageIndex); Loading