diff options
author | Paul Gardiner <paulg.artifex@glidos.net> | 2013-03-29 11:18:49 +0000 |
---|---|---|
committer | Paul Gardiner <paulg.artifex@glidos.net> | 2013-03-29 11:18:49 +0000 |
commit | e6b829c3c7f64d8e68fa4a379b1011c13a4bf767 (patch) | |
tree | 75203d44230d743c77170ab35c12c4d9c316af48 /android/src/com/artifex/mupdfdemo/MuPDFActivity.java | |
parent | ae7ea7e93ee5998fa428ffa4340bcb28f7b76abb (diff) | |
download | mupdf-e6b829c3c7f64d8e68fa4a379b1011c13a4bf767.tar.xz |
Android: initial support for printing
This wont work for other than PDF documents
Also, we should save the file before printing if it has been changed
Diffstat (limited to 'android/src/com/artifex/mupdfdemo/MuPDFActivity.java')
-rw-r--r-- | android/src/com/artifex/mupdfdemo/MuPDFActivity.java | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/android/src/com/artifex/mupdfdemo/MuPDFActivity.java b/android/src/com/artifex/mupdfdemo/MuPDFActivity.java index afeedaf0..d320befd 100644 --- a/android/src/com/artifex/mupdfdemo/MuPDFActivity.java +++ b/android/src/com/artifex/mupdfdemo/MuPDFActivity.java @@ -75,6 +75,7 @@ public class MuPDFActivity extends Activity private ImageButton mInkButton; private Button mSaveInkButton; private ImageButton mCancelInkButton; + private ImageButton mPrintButton; private ViewAnimator mTopBarSwitcher; private ImageButton mLinkButton; private TopBarMode mTopBarMode; @@ -522,6 +523,12 @@ public class MuPDFActivity extends Activity } }); + mPrintButton.setOnClickListener(new View.OnClickListener() { + public void onClick(View v) { + printDoc(); + } + }); + mSaveInkButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { MuPDFView pageView = (MuPDFView) mDocView.getDisplayedView(); @@ -928,6 +935,23 @@ public class MuPDFActivity extends Activity mPageNumberView.setText(String.format("%d / %d", index+1, core.countPages())); } + private void printDoc() { + Intent myIntent = getIntent(); + Uri docUri = myIntent != null ? myIntent.getData() : null; + + if (docUri == null) { + showInfo("Print failed"); + } + + if (docUri.getScheme() == null) + docUri = Uri.parse("file://"+docUri.toString()); + + Intent printIntent = new Intent(this, PrintDialogActivity.class); + printIntent.setDataAndType(docUri, "aplication/pdf"); + printIntent.putExtra("title", mFileName); + startActivity(printIntent); + } + private void showInfo(String message) { mInfoView.setText(message); @@ -984,6 +1008,7 @@ public class MuPDFActivity extends Activity mInkButton = (ImageButton)mButtonsView.findViewById(R.id.inkButton); mSaveInkButton = (Button)mButtonsView.findViewById(R.id.saveInkButton); mCancelInkButton = (ImageButton)mButtonsView.findViewById(R.id.cancelInkButton); + mPrintButton = (ImageButton)mButtonsView.findViewById(R.id.printButton); mTopBarSwitcher = (ViewAnimator)mButtonsView.findViewById(R.id.switcher); mSearchBack = (ImageButton)mButtonsView.findViewById(R.id.searchBack); mSearchFwd = (ImageButton)mButtonsView.findViewById(R.id.searchForward); |