Skip to content
This repository was archived by the owner on Nov 10, 2025. It is now read-only.

Commit cc06815

Browse files
committed
Merge branch 'master' of https://github.com/mclillill/AndroidPdfViewer into mclillill-master
2 parents 389c1e4 + a352e4a commit cc06815

File tree

4 files changed

+56
-1
lines changed

4 files changed

+56
-1
lines changed

android-pdf-viewer/src/main/java/com/github/barteksc/pdfviewer/DragPinchManager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ private void onScrollEnd(MotionEvent event) {
189189

190190
@Override
191191
public void onLongPress(MotionEvent e) {
192-
192+
boolean onLongPressHandled = pdfView.callbacks.callOnLongPress(e);
193193
}
194194

195195
@Override

android-pdf-viewer/src/main/java/com/github/barteksc/pdfviewer/PDFView.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
import com.github.barteksc.pdfviewer.listener.OnPageScrollListener;
4646
import com.github.barteksc.pdfviewer.listener.OnRenderListener;
4747
import com.github.barteksc.pdfviewer.listener.OnTapListener;
48+
import com.github.barteksc.pdfviewer.listener.OnLongPressListener;
4849
import com.github.barteksc.pdfviewer.model.PagePart;
4950
import com.github.barteksc.pdfviewer.scroll.ScrollHandle;
5051
import com.github.barteksc.pdfviewer.source.AssetSource;
@@ -1284,6 +1285,8 @@ public class Configurator {
12841285

12851286
private OnTapListener onTapListener;
12861287

1288+
private OnLongPressListener onLongPressListener;
1289+
12871290
private OnPageErrorListener onPageErrorListener;
12881291

12891292
private LinkHandler linkHandler = new DefaultLinkHandler(PDFView.this);
@@ -1379,6 +1382,11 @@ public Configurator onTap(OnTapListener onTapListener) {
13791382
return this;
13801383
}
13811384

1385+
public Configurator onLongPress(OnLongPressListener onLongPressListener) {
1386+
this.onLongPressListener = onLongPressListener;
1387+
return this;
1388+
}
1389+
13821390
public Configurator linkHandler(LinkHandler linkHandler) {
13831391
this.linkHandler = linkHandler;
13841392
return this;
@@ -1448,6 +1456,7 @@ public void load() {
14481456
PDFView.this.callbacks.setOnPageScroll(onPageScrollListener);
14491457
PDFView.this.callbacks.setOnRender(onRenderListener);
14501458
PDFView.this.callbacks.setOnTap(onTapListener);
1459+
PDFView.this.callbacks.setOnLongPress(onLongPressListener);
14511460
PDFView.this.callbacks.setOnPageError(onPageErrorListener);
14521461
PDFView.this.callbacks.setLinkHandler(linkHandler);
14531462
PDFView.this.setSwipeEnabled(enableSwipe);

android-pdf-viewer/src/main/java/com/github/barteksc/pdfviewer/listener/Callbacks.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,11 @@ public class Callbacks {
6464
*/
6565
private OnTapListener onTapListener;
6666

67+
/**
68+
* Call back object to call when the user does a long tap gesture
69+
*/
70+
private OnLongPressListener onLongPressListener;
71+
6772
/**
6873
* Call back object to call when clicking link
6974
*/
@@ -153,6 +158,14 @@ public boolean callOnTap(MotionEvent event) {
153158
return onTapListener != null && onTapListener.onTap(event);
154159
}
155160

161+
public void setOnLongPress(OnLongPressListener onLongPressListener) {
162+
this.onLongPressListener = onLongPressListener;
163+
}
164+
165+
public boolean callOnLongPress(MotionEvent event) {
166+
return onLongPressListener != null && onLongPressListener.onLongPress(event);
167+
}
168+
156169
public void setLinkHandler(LinkHandler linkHandler) {
157170
this.linkHandler = linkHandler;
158171
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
/**
2+
* Copyright 2017 Bartosz Schiller
3+
* <p>
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
* <p>
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
* <p>
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
package com.github.barteksc.pdfviewer.listener;
17+
18+
import android.view.MotionEvent;
19+
20+
/**
21+
* Implement this interface to receive events from PDFView
22+
* when view has been touched
23+
*/
24+
public interface OnLongPressListener {
25+
26+
/**
27+
* Called when the user has a long tap gesture, before processing scroll handle toggling
28+
*
29+
* @param e MotionEvent that registered as a confirmed long tap
30+
* @return true if the long tap was handled, false to toggle scroll handle
31+
*/
32+
boolean onLongPress(MotionEvent e);
33+
}

0 commit comments

Comments
 (0)