Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 12 additions & 7 deletions android/src/main/java/org/wonday/pdf/PdfManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@
public class PdfManager extends SimpleViewManager<PdfView> implements RNPDFPdfViewManagerInterface<PdfView> {
public static final String REACT_CLASS = "RNPDFPdfView";
private Context context;
private PdfView pdfView;
private final ViewManagerDelegate<PdfView> mDelegate;

@Nullable
Expand All @@ -54,8 +53,7 @@ public String getName() {

@Override
public PdfView createViewInstance(ThemedReactContext context) {
this.pdfView = new PdfView(context,null);
return pdfView;
return new PdfView(context,null);
}

@Override
Expand All @@ -66,6 +64,11 @@ public void onDropViewInstance(PdfView pdfView) {
@ReactProp(name = "path")
public void setPath(PdfView pdfView, String path) {
pdfView.setPath(path);
if (path != null && !path.isEmpty()) {
// Fabric has been observed to skip the first draw on Android new architecture.
// Posting the render when the resolved file path arrives avoids the blank-view state.
pdfView.post(pdfView::drawPdf);
}
}

// page start from 1
Expand Down Expand Up @@ -106,12 +109,12 @@ public void setShowsVerticalScrollIndicator(PdfView view, boolean value) {

@ReactProp(name = "enableRTL")
public void setEnableRTL(PdfView view, boolean enableRTL) {
pdfView.setEnableRTL(enableRTL);
view.setEnableRTL(enableRTL);
}

@ReactProp(name = "scrollEnabled")
public void setScrollEnabled(PdfView view, boolean scrollEnabled) {
pdfView.setScrollEnabled(scrollEnabled);
view.setScrollEnabled(scrollEnabled);
}

@ReactProp(name = "spacing")
Expand Down Expand Up @@ -158,7 +161,7 @@ public void setSinglePage(PdfView pdfView, boolean singlePage) {
// use `receiveCommand` method and call this one there
@Override
public void setNativePage(PdfView view, int page) {
pdfView.setPage(page);
view.setPage(page);
}

@Override
Expand All @@ -174,7 +177,9 @@ public void receiveCommand(@NonNull PdfView root, String commandId, @androidx.an
@Override
public void onAfterUpdateTransaction(PdfView pdfView) {
super.onAfterUpdateTransaction(pdfView);
pdfView.drawPdf();
if (pdfView != null) {
pdfView.post(pdfView::drawPdf);
}
}

}