Search in sources :

Example 1 with PdfActivityConfiguration

use of com.pspdfkit.configuration.activity.PdfActivityConfiguration in project instructure-android by instructure.

the class FileUtils method showPdfDocument.

public static void showPdfDocument(Uri uri, OpenMediaAsyncTaskLoader.LoadedMedia loadedMedia, final Context context) {
    if (!PSPDFKitPreferences.get(context).isAnnotationCreatorSet()) {
        User cachedUser = ApiPrefs.getUser();
        String userName = "";
        if (cachedUser != null) {
            userName = ApiPrefs.getUser().getShortName();
        }
        PSPDFKitPreferences.get(context).setAnnotationCreator(userName);
    }
    final PdfActivityConfiguration pspdfActivityConfiguration;
    if (loadedMedia.isSubmission()) {
        // We don't want to allow users to edit for submission viewing
        pspdfActivityConfiguration = new PdfActivityConfiguration.Builder(context).scrollDirection(PageScrollDirection.HORIZONTAL).showThumbnailGrid().setThumbnailBarMode(ThumbnailBarMode.THUMBNAIL_BAR_MODE_DEFAULT).disableAnnotationEditing().disableAnnotationList().disableDocumentEditor().fitMode(PageFitMode.FIT_TO_WIDTH).build();
    } else {
        // Standard behavior
        pspdfActivityConfiguration = new PdfActivityConfiguration.Builder(context).scrollDirection(PageScrollDirection.HORIZONTAL).showThumbnailGrid().setThumbnailBarMode(ThumbnailBarMode.THUMBNAIL_BAR_MODE_DEFAULT).enableDocumentEditor().enabledAnnotationTools(setupAnnotationCreationList()).editableAnnotationTypes(setupAnnotationEditList()).fitMode(PageFitMode.FIT_TO_WIDTH).build();
    }
    if (PSPDFKit.isOpenableUri(context, uri)) {
        Intent intent = PdfActivityIntentBuilder.fromUri(context, uri).configuration(pspdfActivityConfiguration).activityClass(CandroidPSPDFActivity.class).build();
        context.startActivity(intent);
    } else {
        // If we still can't open this PDF, we will then attempt to pass it off to the user's pdfviewer
        context.startActivity(loadedMedia.getIntent());
    }
}
Also used : CandroidPSPDFActivity(com.instructure.candroid.activity.CandroidPSPDFActivity) User(com.instructure.canvasapi2.models.User) Intent(android.content.Intent) PdfActivityConfiguration(com.pspdfkit.configuration.activity.PdfActivityConfiguration)

Aggregations

Intent (android.content.Intent)1 CandroidPSPDFActivity (com.instructure.candroid.activity.CandroidPSPDFActivity)1 User (com.instructure.canvasapi2.models.User)1 PdfActivityConfiguration (com.pspdfkit.configuration.activity.PdfActivityConfiguration)1