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:
Svetoslav
2014-09-17 19:03:44 +00:00
committed by Android Git Automerger
5 changed files with 10 additions and 12 deletions

View File

@@ -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) {

View File

@@ -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;
}

View File

@@ -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);
}

View File

@@ -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();
}
}

View File

@@ -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)