diff options
Diffstat (limited to 'platform/android/src/com/artifex/mupdfdemo/MuPDFActivity.java')
-rw-r--r-- | platform/android/src/com/artifex/mupdfdemo/MuPDFActivity.java | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/platform/android/src/com/artifex/mupdfdemo/MuPDFActivity.java b/platform/android/src/com/artifex/mupdfdemo/MuPDFActivity.java index 28aecd84..e38a3179 100644 --- a/platform/android/src/com/artifex/mupdfdemo/MuPDFActivity.java +++ b/platform/android/src/com/artifex/mupdfdemo/MuPDFActivity.java @@ -38,7 +38,7 @@ class ThreadPerTaskExecutor implements Executor { } } -public class MuPDFActivity extends Activity +public class MuPDFActivity extends Activity implements FilePickerSupport { /* The core rendering instance */ enum TopBarMode {Main, Search, Annot, Delete, More, Accept}; @@ -46,6 +46,7 @@ public class MuPDFActivity extends Activity private final int OUTLINE_REQUEST=0; private final int PRINT_REQUEST=1; + private final int FILEPICK_REQUEST=2; private MuPDFCore core; private String mFileName; private MuPDFReaderView mDocView; @@ -78,6 +79,7 @@ public class MuPDFActivity extends Activity private boolean mReflow = false; private AsyncTask<Void,Void,MuPDFAlert> mAlertTask; private AlertDialog mAlertDialog; + private FilePicker mFilePicker; public void createAlertWaiter() { mAlertsActive = true; @@ -418,7 +420,7 @@ public class MuPDFActivity extends Activity } } }; - mDocView.setAdapter(new MuPDFPageAdapter(this, core)); + mDocView.setAdapter(new MuPDFPageAdapter(this, this, core)); mSearchTask = new SearchTask(this, core) { @Override @@ -592,6 +594,9 @@ public class MuPDFActivity extends Activity if (resultCode == RESULT_CANCELED) showInfo(getString(R.string.print_failed)); break; + case FILEPICK_REQUEST: + if (mFilePicker != null && resultCode == RESULT_OK) + mFilePicker.onPick(data.getData()); } super.onActivityResult(requestCode, resultCode, data); } @@ -606,7 +611,7 @@ public class MuPDFActivity extends Activity private void reflowModeSet(boolean reflow) { mReflow = reflow; - mDocView.setAdapter(mReflow ? new MuPDFReflowAdapter(this, core) : new MuPDFPageAdapter(this, core)); + mDocView.setAdapter(mReflow ? new MuPDFReflowAdapter(this, core) : new MuPDFPageAdapter(this, this, core)); mReflowButton.setColorFilter(mReflow ? Color.argb(0xFF, 172, 114, 37) : Color.argb(0xFF, 255, 255, 255)); setButtonEnabled(mAnnotButton, !reflow); setButtonEnabled(mSearchButton, !reflow); @@ -1088,4 +1093,11 @@ public class MuPDFActivity extends Activity super.onBackPressed(); } } + + @Override + public void performPickFor(FilePicker picker) { + mFilePicker = picker; + Intent intent = new Intent(this, ChoosePDFActivity.class); + startActivityForResult(intent, FILEPICK_REQUEST); + } } |