From d9d2b26a2d69ffc82a78c47a51dc4c6e14b0d63f Mon Sep 17 00:00:00 2001 From: Joe Blough Date: Sun, 11 Sep 2011 15:51:07 -0400 Subject: [PATCH] Reduce maximum zoom level to avoid out of memory exception --- PdfViewer.jar | Bin 1592217 -> 1592681 bytes .../andpdf/pdfviewer/PdfViewerActivity.java | 102 ++++++++++++------ 2 files changed, 68 insertions(+), 34 deletions(-) diff --git a/PdfViewer.jar b/PdfViewer.jar index b062015c126c58c0893db3cbc91f63da76f14724..a2404a5bbbd7dd3dc8c767dd311c6a10795d6e06 100644 GIT binary patch delta 24618 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 delta 24144 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�#HtTutO4Wvm?$GIi$d2p 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 KNL~TptN#P#wEKSm diff --git a/src/net/sf/andpdf/pdfviewer/PdfViewerActivity.java b/src/net/sf/andpdf/pdfviewer/PdfViewerActivity.java index 2228358..af080e9 100644 --- a/src/net/sf/andpdf/pdfviewer/PdfViewerActivity.java +++ b/src/net/sf/andpdf/pdfviewer/PdfViewerActivity.java @@ -21,6 +21,7 @@ import android.content.Intent; import android.graphics.Bitmap; import android.graphics.Color; import android.graphics.RectF; +import android.graphics.Bitmap.Config; import android.net.Uri; import android.os.Bundle; import android.os.Environment; @@ -59,6 +60,10 @@ public abstract class PdfViewerActivity extends Activity { 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 static final String TAG = "PDFVIEWER"; public static final String EXTRA_PDFFILENAME = "net.sf.andpdf.extra.PDFFILENAME"; @@ -72,13 +77,13 @@ public abstract class PdfViewerActivity extends Activity { public static final boolean DEFAULTUSEFONTSUBSTITUTION = false; public static final boolean DEFAULTKEEPCACHES = false; - private final static int MEN_NEXT_PAGE = 1; - private final static int MEN_PREV_PAGE = 2; - private final static int MEN_GOTO_PAGE = 3; - private final static int MEN_ZOOM_IN = 4; - private final static int MEN_ZOOM_OUT = 5; - private final static int MEN_BACK = 6; - private final static int MEN_CLEANUP = 7; + private final static int MENU_NEXT_PAGE = 1; + private final static int MENU_PREV_PAGE = 2; + private final static int MENU_GOTO_PAGE = 3; + private final static int MENU_ZOOM_IN = 4; + private final static int MENU_ZOOM_OUT = 5; + private final static int MENU_BACK = 6; + private final static int MENU_CLEANUP = 7; private final static int DIALOG_PAGENUM = 1; @@ -293,13 +298,13 @@ public abstract class PdfViewerActivity extends Activity { @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); - menu.add(Menu.NONE, MEN_PREV_PAGE, Menu.NONE, "Previous Page").setIcon(getPreviousPageImageResource()); - menu.add(Menu.NONE, MEN_NEXT_PAGE, Menu.NONE, "Next Page").setIcon(getNextPageImageResource()); - menu.add(Menu.NONE, MEN_GOTO_PAGE, Menu.NONE, "Goto Page"); - menu.add(Menu.NONE, MEN_ZOOM_OUT, Menu.NONE, "Zoom Out").setIcon(getZoomOutImageResource()); - menu.add(Menu.NONE, MEN_ZOOM_IN, Menu.NONE, "Zoom In").setIcon(getZoomInImageResource()); + menu.add(Menu.NONE, MENU_PREV_PAGE, Menu.NONE, "Previous Page").setIcon(getPreviousPageImageResource()); + menu.add(Menu.NONE, MENU_NEXT_PAGE, Menu.NONE, "Next Page").setIcon(getNextPageImageResource()); + menu.add(Menu.NONE, MENU_GOTO_PAGE, Menu.NONE, "Goto Page"); + menu.add(Menu.NONE, MENU_ZOOM_OUT, Menu.NONE, "Zoom Out").setIcon(getZoomOutImageResource()); + menu.add(Menu.NONE, MENU_ZOOM_IN, Menu.NONE, "Zoom In").setIcon(getZoomInImageResource()); if (HardReference.sKeepCaches) - menu.add(Menu.NONE, MEN_CLEANUP, Menu.NONE, "Clear Caches"); + menu.add(Menu.NONE, MENU_CLEANUP, Menu.NONE, "Clear Caches"); return true; } @@ -311,31 +316,31 @@ public abstract class PdfViewerActivity extends Activity { public boolean onOptionsItemSelected(MenuItem item) { super.onOptionsItemSelected(item); switch (item.getItemId()) { - case MEN_NEXT_PAGE: { + case MENU_NEXT_PAGE: { nextPage(); break; } - case MEN_PREV_PAGE: { + case MENU_PREV_PAGE: { prevPage(); break; } - case MEN_GOTO_PAGE: { + case MENU_GOTO_PAGE: { gotoPage(); break; } - case MEN_ZOOM_IN: { + case MENU_ZOOM_IN: { zoomIn(); break; } - case MEN_ZOOM_OUT: { + case MENU_ZOOM_OUT: { zoomOut(); break; } - case MEN_BACK: { + case MENU_BACK: { finish(); break; } - case MEN_CLEANUP: { + case MENU_CLEANUP: { HardReference.cleanup(); break; } @@ -346,10 +351,20 @@ public abstract class PdfViewerActivity extends Activity { private void zoomIn() { if (mPdfFile != null) { - if (mZoom < 4) { - mZoom *= 1.5; - if (mZoom > 4) - mZoom = 4; + 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"); + mGraphView.bZoomIn.setEnabled(false); + } + else + mGraphView.bZoomIn.setEnabled(true); + + mGraphView.bZoomOut.setEnabled(true); + //progress = ProgressDialog.show(PdfViewerActivity.this, "Rendering", "Rendering PDF Page"); startRenderThread(mPage, mZoom); } @@ -358,10 +373,20 @@ public abstract class PdfViewerActivity extends Activity { private void zoomOut() { if (mPdfFile != null) { - if (mZoom > 0.25) { - mZoom /= 1.5; - if (mZoom < 0.25) - mZoom = 0.25f; + 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"); + mGraphView.bZoomOut.setEnabled(false); + } + else + mGraphView.bZoomOut.setEnabled(true); + + mGraphView.bZoomIn.setEnabled(true); + //progress = ProgressDialog.show(PdfViewerActivity.this, "Rendering", "Rendering PDF Page"); startRenderThread(mPage, mZoom); } @@ -372,7 +397,9 @@ public abstract class PdfViewerActivity extends Activity { if (mPdfFile != null) { if (mPage < mPdfFile.getNumPages()) { mPage += 1; - progress = ProgressDialog.show(PdfViewerActivity.this, "Loading", "Loading PDF Page"); + mGraphView.bZoomOut.setEnabled(true); + mGraphView.bZoomIn.setEnabled(true); + progress = ProgressDialog.show(PdfViewerActivity.this, "Loading", "Loading PDF Page " + mPage, true, true); startRenderThread(mPage, mZoom); } } @@ -382,7 +409,9 @@ public abstract class PdfViewerActivity extends Activity { if (mPdfFile != null) { if (mPage > 1) { mPage -= 1; - progress = ProgressDialog.show(PdfViewerActivity.this, "Loading", "Loading PDF Page"); + mGraphView.bZoomOut.setEnabled(true); + mGraphView.bZoomIn.setEnabled(true); + progress = ProgressDialog.show(PdfViewerActivity.this, "Loading", "Loading PDF Page " + mPage, true, true); startRenderThread(mPage, mZoom); } } @@ -427,7 +456,9 @@ public abstract class PdfViewerActivity extends Activity { catch (NumberFormatException ignore) {} if ((pageNum!=mPage) && (pageNum>=1) && (pageNum <= mPdfFile.getNumPages())) { mPage = pageNum; - progress = ProgressDialog.show(PdfViewerActivity.this, "Loading", "Loading PDF Page"); + mGraphView.bZoomOut.setEnabled(true); + mGraphView.bZoomIn.setEnabled(true); + progress = ProgressDialog.show(PdfViewerActivity.this, "Loading", "Loading PDF Page " + mPage, true, true); startRenderThread(mPage, mZoom); } } @@ -456,6 +487,9 @@ public abstract class PdfViewerActivity extends Activity { //private TextView mLine3View; private Button mBtPage; private Button mBtPage2; + + ImageButton bZoomOut; + ImageButton bZoomIn; public GraphView(Context context) { super(context); @@ -471,7 +505,7 @@ public abstract class PdfViewerActivity extends Activity { vl.setOrientation(LinearLayout.VERTICAL); if (mOldGraphView == null) - progress = ProgressDialog.show(PdfViewerActivity.this, "Loading", "Loading PDF Page"); + progress = ProgressDialog.show(PdfViewerActivity.this, "Loading", "Loading PDF Page", true, true); addNavButtons(vl); // remember page button for updates @@ -554,7 +588,7 @@ public abstract class PdfViewerActivity extends Activity { hl.setOrientation(LinearLayout.HORIZONTAL); // zoom out button - ImageButton bZoomOut=new ImageButton(context); + bZoomOut=new ImageButton(context); bZoomOut.setBackgroundDrawable(null); bZoomOut.setLayoutParams(lpChild1); //bZoomOut.setText("-"); @@ -568,7 +602,7 @@ public abstract class PdfViewerActivity extends Activity { hl.addView(bZoomOut); // zoom in button - ImageButton bZoomIn=new ImageButton(context); + bZoomIn=new ImageButton(context); bZoomIn.setBackgroundDrawable(null); bZoomIn.setLayoutParams(lpChild1); //bZoomIn.setText("+");