123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- /**
- * Copyright © 2014-2023 PDF Technologies, Inc. All Rights Reserved.
- * <p>
- * THIS SOURCE CODE AND ANY ACCOMPANYING DOCUMENTATION ARE PROTECTED BY INTERNATIONAL COPYRIGHT LAW
- * AND MAY NOT BE RESOLD OR REDISTRIBUTED. USAGE IS BOUND TO THE ComPDFKit LICENSE AGREEMENT.
- * UNAUTHORIZED REPRODUCTION OR DISTRIBUTION IS SUBJECT TO CIVIL AND CRIMINAL PENALTIES.
- * This notice may not be removed from this file.
- */
- package com.compdfkit.samples;
- import android.content.ActivityNotFoundException;
- import android.content.Context;
- import android.content.Intent;
- import android.os.Bundle;
- import android.os.Environment;
- import android.view.View;
- import android.widget.ScrollView;
- import androidx.annotation.Nullable;
- import androidx.appcompat.app.ActionBar;
- import androidx.appcompat.app.AlertDialog;
- import androidx.appcompat.app.AppCompatActivity;
- import androidx.appcompat.widget.AppCompatTextView;
- import androidx.appcompat.widget.Toolbar;
- import com.compdfkit.samples.util.FileUtils;
- import com.compdfkit.samples.util.LoggingOutputListener;
- import com.google.android.material.button.MaterialButton;
- import java.io.File;
- import java.util.function.IntFunction;
- public class SampleDetailActivity extends AppCompatActivity {
- protected static final String EXTRA_SAMPLE_ID = "SAMPLE_ID";
- PDFSamples pdfSamples = null;
- public static void openDetail(Context context, int sampleId) {
- Intent intent = new Intent(context, SampleDetailActivity.class);
- intent.putExtra(EXTRA_SAMPLE_ID, sampleId);
- context.startActivity(intent);
- }
- @Override
- protected void onCreate(@Nullable Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.fragment_sample_detail);
- MaterialButton btnRun = findViewById(R.id.btn_run);
- MaterialButton btnOpenFiles = findViewById(R.id.btn_open_files);
- AppCompatTextView logTextView = findViewById(R.id.tv_logging);
- ScrollView scrollView = findViewById(R.id.scroll_view);
- AppCompatTextView tvDescription = findViewById(R.id.tv_description);
- // File file = getExternalFilesDir(Environment.DIRECTORY_DOCUMENTS);
- // FileUtils.deleteFile(file);
- ActionBar actionBar = getSupportActionBar();
- LoggingOutputListener outputListener = new LoggingOutputListener(logTextView, scrollView);
- if (getIntent().hasExtra(EXTRA_SAMPLE_ID)) {
- pdfSamples = SampleApplication.getInstance().samplesList.get(getIntent().getIntExtra(EXTRA_SAMPLE_ID, 0));
- if (actionBar != null) {
- actionBar.setIcon(R.drawable.baseline_arrow_back_24);
- actionBar.setHomeButtonEnabled(true);
- actionBar.setDisplayHomeAsUpEnabled(true);
- actionBar.setTitle(pdfSamples.getTitle());
- tvDescription.setText(pdfSamples.getDescription());
- }
- }
- btnRun.setOnClickListener(v -> {
- new Thread(() -> {
- if (pdfSamples != null) {
- pdfSamples.run(outputListener);
- }
- }).start();
- });
- btnOpenFiles.setOnClickListener(v -> {
- if (pdfSamples.getOutputFileList() != null) {
- AlertDialog.Builder builder = new AlertDialog.Builder(this);
- builder.setTitle(R.string.choose_a_file_to_open);
- builder.setItems(pdfSamples.getOutputFileNames(), (dialog, which) -> {
- String filePath = pdfSamples.getOutputFileList().get(which);
- String mimeType = "application/pdf";
- if (filePath.endsWith(".pdf")){
- mimeType = "application/pdf";
- } else if (filePath.endsWith("png") || filePath.endsWith("jpg")){
- mimeType = "image/*";
- }
- FileUtils.shareFile(this, "Open", mimeType, new File(filePath));
- });
- builder.create().show();
- }
- });
- }
- @Override
- public boolean onSupportNavigateUp() {
- onBackPressed();
- return super.onSupportNavigateUp();
- }
- }
|