From f63b063ae8a62e59bee2f035875acba811723a86 Mon Sep 17 00:00:00 2001 From: M66B Date: Fri, 9 Oct 2020 18:40:31 +0200 Subject: [PATCH] Added print logging --- .../eu/faircode/email/FragmentMessages.java | 30 +++++++++++++------ 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java index 09aca035fa..fb3e168cbb 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessages.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java @@ -94,7 +94,6 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.widget.PopupMenu; -import androidx.constraintlayout.widget.ConstraintLayout; import androidx.constraintlayout.widget.Group; import androidx.core.content.ContextCompat; import androidx.core.graphics.ColorUtils; @@ -7133,11 +7132,22 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. @Override protected void onExecuted(Bundle args, final String[] data) { - if (data == null) + if (data == null) { + Log.w("Print no data"); return; + } + + ActivityBase activity = (ActivityBase) getActivity(); + if (activity == null) { + Log.w("Print no activity"); + return; + } + + final Context context = activity.getOriginalContext(); // https://developer.android.com/training/printing/html-docs.html - printWebView = new WebView(getContext()); + printWebView = new WebView(context); + WebSettings settings = printWebView.getSettings(); settings.setLoadsImagesAutomatically(true); settings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW); @@ -7150,19 +7160,20 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. @Override public void onPageFinished(WebView view, String url) { - try { - if (printWebView == null) - return; + Log.i("Print page finished"); - ActivityBase activity = (ActivityBase) getActivity(); - if (activity == null) + try { + if (printWebView == null) { + Log.w("Print no view"); return; + } - PrintManager printManager = (PrintManager) activity.getOriginalContext().getSystemService(Context.PRINT_SERVICE); + PrintManager printManager = (PrintManager) context.getSystemService(Context.PRINT_SERVICE); String jobName = getString(R.string.app_name); if (!TextUtils.isEmpty(data[0])) jobName += " - " + data[0]; + Log.i("Print queue job=" + jobName); PrintDocumentAdapter adapter = printWebView.createPrintDocumentAdapter(jobName); printManager.print(jobName, adapter, new PrintAttributes.Builder().build()); } catch (Throwable ex) { @@ -7173,6 +7184,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. } }); + Log.i("Print load data"); printWebView.loadDataWithBaseURL("about:blank", data[1], "text/html", StandardCharsets.UTF_8.name(), null); }