diff --git a/.gradle/2.8/taskArtifacts/cache.properties.lock b/.gradle/2.8/taskArtifacts/cache.properties.lock
index 2d994b2..2992c36 100644
Binary files a/.gradle/2.8/taskArtifacts/cache.properties.lock and b/.gradle/2.8/taskArtifacts/cache.properties.lock differ
diff --git a/.gradle/2.8/taskArtifacts/fileHashes.bin b/.gradle/2.8/taskArtifacts/fileHashes.bin
index 6e7fec9..341ed11 100644
Binary files a/.gradle/2.8/taskArtifacts/fileHashes.bin and b/.gradle/2.8/taskArtifacts/fileHashes.bin differ
diff --git a/.gradle/2.8/taskArtifacts/fileSnapshots.bin b/.gradle/2.8/taskArtifacts/fileSnapshots.bin
index c53f92b..06f3248 100644
Binary files a/.gradle/2.8/taskArtifacts/fileSnapshots.bin and b/.gradle/2.8/taskArtifacts/fileSnapshots.bin differ
diff --git a/.gradle/2.8/taskArtifacts/taskArtifacts.bin b/.gradle/2.8/taskArtifacts/taskArtifacts.bin
index 0f1f24a..1793ece 100644
Binary files a/.gradle/2.8/taskArtifacts/taskArtifacts.bin and b/.gradle/2.8/taskArtifacts/taskArtifacts.bin differ
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index bd61ed1..c0fe31a 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -33,98 +33,42 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
+
-
-
+
+
-
-
-
+
+
+
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
@@ -2263,6 +2207,8 @@
@@ -2299,38 +2245,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -2353,6 +2267,128 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2445,9 +2481,169 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2647,72 +2843,81 @@
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
-
+
+
-
-
+
+
-
-
+
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2727,10 +2932,48 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2751,7 +2994,6 @@
-
@@ -2759,7 +3001,6 @@
-
@@ -2767,7 +3008,6 @@
-
@@ -2775,7 +3015,131 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2783,7 +3147,6 @@
-
@@ -2791,7 +3154,6 @@
-
@@ -2799,7 +3161,6 @@
-
@@ -2807,7 +3168,6 @@
-
@@ -2836,7 +3196,6 @@
-
@@ -2879,7 +3238,6 @@
-
@@ -2890,13 +3248,6 @@
-
-
-
-
-
-
-
@@ -2904,26 +3255,10 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -2931,7 +3266,6 @@
-
@@ -2939,7 +3273,6 @@
-
@@ -2947,7 +3280,131 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2955,7 +3412,6 @@
-
@@ -2963,7 +3419,6 @@
-
@@ -2971,7 +3426,6 @@
-
@@ -2979,17 +3433,70 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/PdfView/build/intermediates/bundles/release/classes.jar b/PdfView/build/intermediates/bundles/release/classes.jar
index e65b939..77a465b 100644
Binary files a/PdfView/build/intermediates/bundles/release/classes.jar and b/PdfView/build/intermediates/bundles/release/classes.jar differ
diff --git a/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$1.class b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$1.class
index 94d9262..3fda628 100644
Binary files a/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$1.class and b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$1.class differ
diff --git a/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$2.class b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$2.class
index d71bfc4..8beb7c9 100644
Binary files a/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$2.class and b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$2.class differ
diff --git a/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$3.class b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$3.class
index f6b1ebd..9b7098e 100644
Binary files a/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$3.class and b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$3.class differ
diff --git a/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$4.class b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$4.class
index 68bfbfb..464b10e 100644
Binary files a/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$4.class and b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$4.class differ
diff --git a/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$5.class b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$5.class
index 87185d2..7b982d8 100644
Binary files a/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$5.class and b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$5.class differ
diff --git a/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$6.class b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$6.class
index d63d769..cf6a6cb 100644
Binary files a/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$6.class and b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$6.class differ
diff --git a/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$7.class b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$7.class
index f833c31..e2687dc 100644
Binary files a/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$7.class and b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$7.class differ
diff --git a/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$GraphView$1.class b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$GraphView$1.class
index a8b565d..1ab391e 100644
Binary files a/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$GraphView$1.class and b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$GraphView$1.class differ
diff --git a/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$GraphView$2.class b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$GraphView$2.class
index 5cf4474..2d1ebb4 100644
Binary files a/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$GraphView$2.class and b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$GraphView$2.class differ
diff --git a/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$GraphView$3.class b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$GraphView$3.class
index 023d610..651b499 100644
Binary files a/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$GraphView$3.class and b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$GraphView$3.class differ
diff --git a/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$GraphView$4.class b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$GraphView$4.class
index 8dea2e4..9da7003 100644
Binary files a/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$GraphView$4.class and b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$GraphView$4.class differ
diff --git a/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$GraphView$5.class b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$GraphView$5.class
index de20e71..b9d71cc 100644
Binary files a/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$GraphView$5.class and b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$GraphView$5.class differ
diff --git a/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$GraphView$6.class b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$GraphView$6.class
index fbb2a75..2a12633 100644
Binary files a/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$GraphView$6.class and b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$GraphView$6.class differ
diff --git a/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$GraphView$7.class b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$GraphView$7.class
index cae1b43..ecd2876 100644
Binary files a/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$GraphView$7.class and b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$GraphView$7.class differ
diff --git a/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$GraphView.class b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$GraphView.class
index f6ef115..0db6e24 100644
Binary files a/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$GraphView.class and b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity$GraphView.class differ
diff --git a/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity.class b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity.class
index ee0d1e7..9276321 100644
Binary files a/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity.class and b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/PdfViewerActivity.class differ
diff --git a/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/gui/PdfView$1.class b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/gui/PdfView$1.class
new file mode 100644
index 0000000..ce3adbe
Binary files /dev/null and b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/gui/PdfView$1.class differ
diff --git a/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/gui/PdfView$2.class b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/gui/PdfView$2.class
new file mode 100644
index 0000000..0f50aa0
Binary files /dev/null and b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/gui/PdfView$2.class differ
diff --git a/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/gui/PdfView$3.class b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/gui/PdfView$3.class
new file mode 100644
index 0000000..6e2be93
Binary files /dev/null and b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/gui/PdfView$3.class differ
diff --git a/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/gui/PdfView.class b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/gui/PdfView.class
new file mode 100644
index 0000000..11a334a
Binary files /dev/null and b/PdfView/build/intermediates/classes/release/net/sf/andpdf/pdfviewer/gui/PdfView.class differ
diff --git a/PdfView/build/outputs/aar/PdfView-release.aar b/PdfView/build/outputs/aar/PdfView-release.aar
index 700b2bf..de87413 100644
Binary files a/PdfView/build/outputs/aar/PdfView-release.aar and b/PdfView/build/outputs/aar/PdfView-release.aar differ
diff --git a/PdfView/src/main/java/net/sf/andpdf/pdfviewer/PdfViewerActivity.java b/PdfView/src/main/java/net/sf/andpdf/pdfviewer/PdfViewerActivity.java
index 1f75148..56d3c18 100644
--- a/PdfView/src/main/java/net/sf/andpdf/pdfviewer/PdfViewerActivity.java
+++ b/PdfView/src/main/java/net/sf/andpdf/pdfviewer/PdfViewerActivity.java
@@ -48,6 +48,7 @@ import java.nio.channels.FileChannel;
import net.sf.andpdf.nio.ByteBuffer;
import net.sf.andpdf.pdfviewer.gui.FullScrollView;
+import net.sf.andpdf.pdfviewer.gui.PdfView;
import net.sf.andpdf.refs.HardReference;
/**
@@ -195,6 +196,7 @@ public abstract class PdfViewerActivity extends Activity {
private void setContent(String password) {
try {
parsePDF(pdffilename, password);
+ pdfView.setmPdfFile(mPdfFile);
setContentView(mGraphView);
startRenderThread(mPage, mZoom);
} catch (PDFAuthenticationFailureException e) {
@@ -430,6 +432,9 @@ public abstract class PdfViewerActivity extends Activity {
return null;
}
+ //TODO
+ PdfView pdfView;
+
private class GraphView extends FullScrollView {
//private String mText;
//private long fileMillis;
@@ -455,9 +460,10 @@ public abstract class PdfViewerActivity extends Activity {
//setContentView(R.layout.graphics_view);
// layout params
LinearLayout.LayoutParams lpWrap1 =
- new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1);
+ new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
LinearLayout.LayoutParams lpWrap10 =
- new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 10);
+ new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
+
// vertical layout
LinearLayout vl = new LinearLayout(context);
@@ -467,6 +473,8 @@ public abstract class PdfViewerActivity extends Activity {
if (mOldGraphView == null) {
progress = ProgressDialog.show(PdfViewerActivity.this, "Loading", "Loading PDF Page", true, true);
}
+ //TODO
+ pdfView = new PdfView(PdfViewerActivity.this);
addNavButtons(vl);
// remember page button for updates
@@ -476,17 +484,21 @@ public abstract class PdfViewerActivity extends Activity {
setPageBitmap(null);
updateImage();
mImageView.setLayoutParams(lpWrap1);
- mImageView.setPadding(5, 5, 5, 5);
+// mImageView.setPadding(5, 5, 5, 5);
vl.addView(mImageView);
+ //TODO
+ vl.addView(pdfView);
+ pdfView.setLayoutParams(lpWrap1);
+
/*mImageView = (ImageView) findViewById(R.id.pdf_image);
if (mImageView == null) {
Log.i(TAG, "mImageView is null!!!!!!");
}
setPageBitmap(null);
updateImage();*/
-
+
/*
- navigationPanel = new ViewStub(PdfViewerActivity.this, R.layout.navigation_overlay);
+ navigationPanel = new ViewStub(PdfViewerActivity.this, R.layout.navigation_overlay);
final ImageButton previous = (ImageButton)navigationPanel.findViewById(R.id.navigation_previous);
previous.setBackgroundDrawable(null);
previous.setOnClickListener(new OnClickListener() {
@@ -527,7 +539,7 @@ public abstract class PdfViewerActivity extends Activity {
//addNavButtons(vl);
- setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, 100));
+ setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
setBackgroundColor(Color.LTGRAY);
setHorizontalScrollBarEnabled(true);
setHorizontalFadingEdgeEnabled(true);
@@ -538,12 +550,12 @@ public abstract class PdfViewerActivity extends Activity {
private void addNavButtons(ViewGroup vg) {
- addSpace(vg, 6, 6);
+// addSpace(vg, 6, 6);
LinearLayout.LayoutParams lpChild1 =
- new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1);
+ new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
LinearLayout.LayoutParams lpWrap10 =
- new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 10);
+ new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
Context context = vg.getContext();
LinearLayout hl = new LinearLayout(context);
@@ -578,7 +590,7 @@ public abstract class PdfViewerActivity extends Activity {
});
hl.addView(bZoomIn);
- addSpace(hl, 6, 6);
+// addSpace(hl, 6, 6);
// prev button
ImageButton bPrev = new ImageButton(context);
@@ -620,11 +632,11 @@ public abstract class PdfViewerActivity extends Activity {
});
hl.addView(bNext);
- addSpace(hl, 20, 20);
+// addSpace(hl, 20, 20);
// exit button
- /*
- Button bExit=new Button(context);
+ /*
+ Button bExit=new Button(context);
bExit.setLayoutParams(lpChild1);
bExit.setText("Back");
bExit.setWidth(60);
@@ -668,9 +680,9 @@ public abstract class PdfViewerActivity extends Activity {
uiHandler.post(new Runnable() {
public void run() {
mImageView.setImageBitmap(mBi);
-
+
/*if (progress != null)
- progress.dismiss();*/
+ progress.dismiss();*/
}
});
}
@@ -679,8 +691,8 @@ public abstract class PdfViewerActivity extends Activity {
if (bi != null) {
mBi = bi;
} else {
- /*
- mBi = Bitmap.createBitmap(100, 100, Config.RGB_565);
+ /*
+ mBi = Bitmap.createBitmap(100, 100, Config.RGB_565);
Canvas can = new Canvas(mBi);
can.drawColor(Color.RED);
@@ -707,6 +719,7 @@ public abstract class PdfViewerActivity extends Activity {
}
private void showPage(int page, float zoom) throws Exception {
+ pdfView.showPage(page, zoom);
//long startTime = System.currentTimeMillis();
//long middleTime = startTime;
try {
@@ -787,13 +800,12 @@ public abstract class PdfViewerActivity extends Activity {
} else {
mPdfFile = new PDFFile(bb, new PDFPassword(password));
}
-
mGraphView.showText("Anzahl Seiten:" + mPdfFile.getNumPages());
}
/*private byte[] readBytes(File srcFile) throws IOException {
- long fileLength = srcFile.length();
+ long fileLength = srcFile.length();
int len = (int)fileLength;
byte[] result = new byte[len];
FileInputStream fis = new FileInputStream(srcFile);
@@ -846,7 +858,7 @@ public abstract class PdfViewerActivity extends Activity {
}
/*private void postHideNavigation() {
- // Start a time to hide the panel after 3 seconds
+ // Start a time to hide the panel after 3 seconds
closeNavigationHandler.removeCallbacks(closeNavigationThread);
closeNavigationHandler.postDelayed(closeNavigationThread, 3000);
}*/
diff --git a/PdfView/src/main/java/net/sf/andpdf/pdfviewer/gui/PdfView.java b/PdfView/src/main/java/net/sf/andpdf/pdfviewer/gui/PdfView.java
new file mode 100644
index 0000000..146b93d
--- /dev/null
+++ b/PdfView/src/main/java/net/sf/andpdf/pdfviewer/gui/PdfView.java
@@ -0,0 +1,239 @@
+package net.sf.andpdf.pdfviewer.gui;
+
+import android.content.Context;
+import android.graphics.Bitmap;
+import android.graphics.Color;
+import android.graphics.RectF;
+import android.os.Handler;
+import android.util.Log;
+import android.widget.ImageButton;
+import android.widget.ImageView;
+import android.widget.Toast;
+
+import com.sun.pdfview.PDFFile;
+import com.sun.pdfview.PDFPage;
+import com.sun.pdfview.decrypt.PDFAuthenticationFailureException;
+import com.sun.pdfview.decrypt.PDFPassword;
+
+import net.sf.andpdf.nio.ByteBuffer;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.RandomAccessFile;
+import java.nio.channels.FileChannel;
+
+public class PdfView extends FullScrollView {
+
+ private static final int STARTPAGE = 1;
+ private static final float STARTZOOM = 1.0f;
+
+ private static final float MIN_ZOOM = 0.25f;
+ private static final float MAX_ZOOM = 3.0f;
+ private static final float ZOOM_INCREMENT = 1.5f;
+
+ private Bitmap mBi;
+ private ImageView mImageView;
+ private Handler uiHandler;
+ ImageButton bZoomOut;
+ ImageButton bZoomIn;
+ private PDFFile mPdfFile;
+ private PDFPage mPdfPage;
+ private Thread backgroundThread;
+ private int mPage;
+ private float mZoom;
+
+ public PdfView(Context context) {
+ super(context);
+ uiHandler = new Handler();
+ LayoutParams matchLp = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
+ mImageView = new ImageView(context);
+ setPageBitmap(null);
+ updateImage();
+ mImageView.setLayoutParams(matchLp);
+ addView(mImageView);
+ setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
+ setBackgroundColor(Color.LTGRAY);
+ setHorizontalScrollBarEnabled(true);
+ setHorizontalFadingEdgeEnabled(true);
+ setVerticalScrollBarEnabled(true);
+ setVerticalFadingEdgeEnabled(true);
+ }
+
+ public PDFFile getmPdfFile() {
+ return mPdfFile;
+ }
+
+ public void setmPdfFile(PDFFile mPdfFile) {
+ this.mPdfFile = mPdfFile;
+ }
+
+ public void showPage(int page, float zoom) throws Exception {
+ try {
+ // free memory from previous page
+ setPageBitmap(null);
+ updateImage();
+ // Only load the page if it's a different page (i.e. not just changing the zoom level)
+ if (mPdfPage == null || mPdfPage.getPageNumber() != page) {
+ mPdfPage = mPdfFile.getPage(page, true);
+ }
+ float width = mPdfPage.getWidth();
+ float height = mPdfPage.getHeight();
+ RectF clip = null;
+ Bitmap bi = mPdfPage.getImage((int) (width * zoom), (int) (height * zoom), clip, true, true);
+ setPageBitmap(bi);
+ updateImage();
+
+ } catch (Throwable e) {
+ Log.e(TAG, e.getMessage(), e);
+ }
+ }
+
+
+ private void updateImage() {
+ uiHandler.post(new Runnable() {
+ public void run() {
+ mImageView.setImageBitmap(mBi);
+ }
+ });
+ }
+
+ private void setPageBitmap(Bitmap bi) {
+ if (bi != null) {
+ mBi = bi;
+ }
+ }
+
+
+ private void zoomIn() {
+ if (mPdfFile != null) {
+ if (mZoom < MAX_ZOOM) {
+ mZoom *= ZOOM_INCREMENT;
+ if (mZoom > MAX_ZOOM) mZoom = MAX_ZOOM;
+
+ if (mZoom >= MAX_ZOOM) {
+ Log.d(TAG, "Disabling zoom in button");
+ bZoomIn.setEnabled(false);
+ } else {
+ bZoomIn.setEnabled(true);
+ }
+
+ bZoomOut.setEnabled(true);
+ startRenderThread(mPage, mZoom);
+ }
+ }
+ }
+
+ private void zoomOut() {
+ if (mPdfFile != null) {
+ if (mZoom > MIN_ZOOM) {
+ mZoom /= ZOOM_INCREMENT;
+ if (mZoom < MIN_ZOOM) mZoom = MIN_ZOOM;
+
+ if (mZoom <= MIN_ZOOM) {
+ Log.d(TAG, "Disabling zoom out button");
+ bZoomOut.setEnabled(false);
+ } else {
+ bZoomOut.setEnabled(true);
+ }
+
+ bZoomIn.setEnabled(true);
+ startRenderThread(mPage, mZoom);
+ }
+ }
+ }
+
+ private void nextPage() {
+ if (mPdfFile != null) {
+ if (mPage < mPdfFile.getNumPages()) {
+ mPage += 1;
+ bZoomOut.setEnabled(true);
+ bZoomIn.setEnabled(true);
+ startRenderThread(mPage, mZoom);
+ }
+ }
+ }
+
+ private void prevPage() {
+ if (mPdfFile != null) {
+ if (mPage > 1) {
+ mPage -= 1;
+ bZoomOut.setEnabled(true);
+ bZoomIn.setEnabled(true);
+ startRenderThread(mPage, mZoom);
+ }
+ }
+ }
+
+ private void gotoPage() {
+ if (mPdfFile != null) {
+// showDialog(DIALOG_PAGENUM);
+ }
+ }
+
+ private synchronized void startRenderThread(final int page, final float zoom) {
+ if (backgroundThread != null) return;
+ backgroundThread = new Thread(new Runnable() {
+ public void run() {
+ try {
+ if (mPdfFile != null) {
+ showPage(page, zoom);
+ }
+ } catch (Exception e) {
+ Log.e(TAG, e.getMessage(), e);
+ }
+ backgroundThread = null;
+ }
+ });
+ updateImageStatus();
+ backgroundThread.start();
+ }
+
+ private void updateImageStatus() {
+ if (backgroundThread == null) {
+ return;
+ }
+ postDelayed(new Runnable() {
+ public void run() {
+ updateImageStatus();
+ }
+ }, 1000);
+ }
+
+ private void parsePDF(String filename, String password) throws PDFAuthenticationFailureException {
+ try {
+ File f = new File(filename);
+ long len = f.length();
+ if (len == 0) {
+ toastMessage("file '" + filename + "' not found");
+ } else {
+ toastMessage("file '" + filename + "' has " + len + " bytes");
+ openFile(f, password);
+ }
+ } catch (PDFAuthenticationFailureException e) {
+ throw e;
+ } catch (Throwable e) {
+ e.printStackTrace();
+ toastMessage("Exception: " + e.getMessage());
+ }
+ }
+
+ public void openFile(File file, String password) throws IOException {
+ // first open the file for random access
+ RandomAccessFile raf = new RandomAccessFile(file, "r");
+ // extract a file channel
+ FileChannel channel = raf.getChannel();
+ // now memory-map a byte-buffer
+ ByteBuffer bb = ByteBuffer.NEW(channel.map(FileChannel.MapMode.READ_ONLY, 0, channel.size()));
+ // create a PDFFile from the data
+ if (password == null) {
+ mPdfFile = new PDFFile(bb);
+ } else {
+ mPdfFile = new PDFFile(bb, new PDFPassword(password));
+ }
+ toastMessage("Anzahl Seiten:" + mPdfFile.getNumPages());
+ }
+
+ public void toastMessage(String msg) {
+ Toast.makeText(getContext(), msg, Toast.LENGTH_LONG).show();
+ }
+}
diff --git a/build/intermediates/dex-cache/cache.xml b/build/intermediates/dex-cache/cache.xml
index 6767b78..c5d2dc8 100644
--- a/build/intermediates/dex-cache/cache.xml
+++ b/build/intermediates/dex-cache/cache.xml
@@ -5,7 +5,7 @@
jar="/Users/winney/git/Android-Pdf-Viewer-Library/pdfviewsample/build/intermediates/exploded-aar/Android-Pdf-Viewer-Library/PdfView/unspecified/jars/classes.jar"
jumboMode="false"
revision="23.0.2"
- sha1="37191b3bdc528f4e4708f4a7e380629a951b272d">
+ sha1="8cad678d9043f1f93f2c277b3890e0b109ac9b24">