am 84ad5f75: Merge "Page content sometimes disappears when scrolling a long doc in print preview." into lmp-dev
* commit '84ad5f75e1c7d4f4d5113b413e814bde3aaa1747': Page content sometimes disappears when scrolling a long doc in print preview.
This commit is contained in:
@@ -526,7 +526,7 @@ public final class PageContentRepository {
|
||||
callback.run();
|
||||
}
|
||||
}
|
||||
}.executeOnExecutor(AsyncTask.SERIAL_EXECUTOR, (Void[]) null);
|
||||
}.executeOnExecutor(AsyncTask.SERIAL_EXECUTOR);
|
||||
}
|
||||
|
||||
public void close(final Runnable callback) {
|
||||
@@ -552,7 +552,7 @@ public final class PageContentRepository {
|
||||
callback.run();
|
||||
}
|
||||
}
|
||||
}.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, (Void[]) null);
|
||||
}.executeOnExecutor(AsyncTask.SERIAL_EXECUTOR);
|
||||
}
|
||||
|
||||
public void destroy() {
|
||||
@@ -571,7 +571,7 @@ public final class PageContentRepository {
|
||||
mPageContentCache.invalidate();
|
||||
mPageContentCache.clear();
|
||||
}
|
||||
}.executeOnExecutor(AsyncTask.SERIAL_EXECUTOR, (Void[]) null);
|
||||
}.executeOnExecutor(AsyncTask.SERIAL_EXECUTOR);
|
||||
}
|
||||
|
||||
public void startPreload(int firstShownPage, int lastShownPage, RenderSpec renderSpec) {
|
||||
@@ -687,7 +687,7 @@ public final class PageContentRepository {
|
||||
// Oh well, we will have work to do...
|
||||
renderTask = new RenderPageTask(pageIndex, renderSpec, callback);
|
||||
mPageToRenderTaskMap.put(pageIndex, renderTask);
|
||||
renderTask.executeOnExecutor(AsyncTask.SERIAL_EXECUTOR, (Void[]) null);
|
||||
renderTask.executeOnExecutor(AsyncTask.SERIAL_EXECUTOR);
|
||||
}
|
||||
|
||||
public void cancelRendering(int pageIndex) {
|
||||
|
||||
@@ -275,7 +275,6 @@ public final class PageAdapter extends Adapter implements
|
||||
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
|
||||
View page = mLayoutInflater.inflate(R.layout.preview_page, parent, false);
|
||||
ViewHolder holder = new MyViewHolder(page);
|
||||
holder.setIsRecyclable(true);
|
||||
return holder;
|
||||
}
|
||||
|
||||
|
||||
@@ -953,7 +953,7 @@ public class PrintActivity extends Activity implements RemotePrintDocument.Updat
|
||||
// When the update is done we update the print preview.
|
||||
mProgressMessageController.post();
|
||||
return true;
|
||||
} else {
|
||||
} else if (!willUpdate) {
|
||||
// Update preview.
|
||||
updatePrintPreviewController(false);
|
||||
}
|
||||
|
||||
@@ -77,6 +77,7 @@ class PrintPreviewController implements MutexFileProvider.OnReleaseRequestCallba
|
||||
mRecyclerView = (RecyclerView) activity.findViewById(R.id.preview_content);
|
||||
mRecyclerView.setLayoutManager(mLayoutManger);
|
||||
mRecyclerView.setAdapter(mPageAdapter);
|
||||
mRecyclerView.setItemViewCacheSize(0);
|
||||
mPreloadController = new PreloadController(mRecyclerView);
|
||||
mRecyclerView.setOnScrollListener(mPreloadController);
|
||||
|
||||
@@ -348,8 +349,7 @@ class PrintPreviewController implements MutexFileProvider.OnReleaseRequestCallba
|
||||
|
||||
public void startPreloadContent() {
|
||||
PageAdapter pageAdapter = (PageAdapter) mRecyclerView.getAdapter();
|
||||
|
||||
if (pageAdapter.isOpened()) {
|
||||
if (pageAdapter != null && pageAdapter.isOpened()) {
|
||||
PageRange shownPages = computeShownPages();
|
||||
if (shownPages != null) {
|
||||
pageAdapter.startPreloadContent(shownPages);
|
||||
@@ -359,8 +359,7 @@ class PrintPreviewController implements MutexFileProvider.OnReleaseRequestCallba
|
||||
|
||||
public void stopPreloadContent() {
|
||||
PageAdapter pageAdapter = (PageAdapter) mRecyclerView.getAdapter();
|
||||
|
||||
if (pageAdapter.isOpened()) {
|
||||
if (pageAdapter != null && pageAdapter.isOpened()) {
|
||||
pageAdapter.stopPreloadContent();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,12 +52,12 @@ public class PageContentView extends View
|
||||
|
||||
@Override
|
||||
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
|
||||
mContentRequested = false;
|
||||
requestPageContentIfNeeded();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageContentAvailable(BitmapDrawable content) {
|
||||
assert (getBackground() != content);
|
||||
setBackground(content);
|
||||
}
|
||||
|
||||
@@ -70,7 +70,7 @@ public class PageContentView extends View
|
||||
final boolean providerChanged = (mProvider == null)
|
||||
? provider != null : !mProvider.equals(provider);
|
||||
final boolean loadingDrawableChanged = (mEmptyState == null)
|
||||
? mEmptyState != null : !mEmptyState.equals(emptyState);
|
||||
? emptyState != null : !mEmptyState.equals(emptyState);
|
||||
final boolean mediaSizeChanged = (mMediaSize == null)
|
||||
? mediaSize != null : !mMediaSize.equals(mediaSize);
|
||||
final boolean marginsChanged = (mMinMargins == null)
|
||||
|
||||
Reference in New Issue
Block a user