| 60 | import org.wonday.pdf.events.TopChangeEvent; |
| 61 | |
| 62 | public class PdfView extends PDFView implements OnPageChangeListener,OnLoadCompleteListener,OnErrorListener,OnTapListener,OnDrawListener,OnPageScrollListener, LinkHandler { |
| 63 | private int page = 1; // start from 1 |
| 64 | private boolean horizontal = false; |
| 65 | private float scale = 1; |
| 66 | private float minScale = 1; |
| 67 | private float maxScale = 3; |
| 68 | private String path; |
| 69 | private int spacing = 10; |
| 70 | private String password = ""; |
| 71 | private boolean enableAntialiasing = true; |
| 72 | private boolean enableAnnotationRendering = true; |
| 73 | private boolean enableDoubleTapZoom = true; |
| 74 | |
| 75 | private boolean enablePaging = false; |
| 76 | private boolean autoSpacing = false; |
| 77 | private boolean pageFling = false; |
| 78 | private boolean pageSnap = false; |
| 79 | private FitPolicy fitPolicy = FitPolicy.WIDTH; |
| 80 | private boolean singlePage = false; |
| 81 | private boolean scrollEnabled = true; |
| 82 | private boolean enableRTL = false; |
| 83 | |
| 84 | private float originalWidth = 0; |
| 85 | private float lastPageWidth = 0; |
| 86 | private float lastPageHeight = 0; |
| 87 | |
| 88 | // used to store the parameters for `super.onSizeChanged` |
| 89 | private int oldW = 0; |
| 90 | private int oldH = 0; |
| 91 | |
| 92 | public PdfView(Context context, AttributeSet set){ |
| 93 | super(context, set); |
| 94 | } |
| 95 | |
| 96 | @Override |
| 97 | public void onPageChanged(int page, int numberOfPages) { |
| 98 | // pdf lib page start from 0, convert it to our page (start from 1) |
| 99 | page = page+1; |
| 100 | this.page = page; |
| 101 | showLog(format("%s %s / %s", path, page, numberOfPages)); |
| 102 | |
| 103 | WritableMap event = Arguments.createMap(); |
| 104 | event.putString("message", "pageChanged|"+page+"|"+numberOfPages); |
| 105 | |
| 106 | ThemedReactContext context = (ThemedReactContext) getContext(); |
| 107 | EventDispatcher dispatcher = UIManagerHelper.getEventDispatcherForReactTag(context, getId()); |
| 108 | int surfaceId = UIManagerHelper.getSurfaceId(this); |
| 109 | |
| 110 | TopChangeEvent tce = new TopChangeEvent(surfaceId, getId(), event); |
| 111 | |
| 112 | if (dispatcher != null) { |
| 113 | new Handler(Looper.getMainLooper()).postDelayed(() -> dispatcher.dispatchEvent(tce), 10); |
| 114 | } |
| 115 | |
| 116 | // ReactContext reactContext = (ReactContext)this.getContext(); |
| 117 | // reactContext.getJSModule(RCTEventEmitter.class).receiveEvent( |
| 118 | // this.getId(), |
| 119 | // "topChange", |
nothing calls this directly
no outgoing calls
no test coverage detected