From 155a8f32aad756333438c8b703ee813d5534c9c8 Mon Sep 17 00:00:00 2001 From: M66B Date: Thu, 17 Jun 2021 16:31:18 +0200 Subject: [PATCH] Added button to view EML --- .../java/eu/faircode/email/ActivityEML.java | 35 +++++++++++++++++++ app/src/main/res/layout/activity_eml.xml | 12 +++++++ 2 files changed, 47 insertions(+) diff --git a/app/src/main/java/eu/faircode/email/ActivityEML.java b/app/src/main/java/eu/faircode/email/ActivityEML.java index b21b0b3437..553bf95c01 100644 --- a/app/src/main/java/eu/faircode/email/ActivityEML.java +++ b/app/src/main/java/eu/faircode/email/ActivityEML.java @@ -41,6 +41,7 @@ import android.view.MenuItem; import android.view.MotionEvent; import android.view.View; import android.widget.ArrayAdapter; +import android.widget.ImageButton; import android.widget.TextView; import android.widget.Toast; @@ -91,6 +92,7 @@ public class ActivityEML extends ActivityBase { private RecyclerView rvAttachment; private TextView tvBody; private TextView tvStructure; + private ImageButton ibEml; private ContentLoadingProgressBar pbWait; private Group grpReady; @@ -119,6 +121,7 @@ public class ActivityEML extends ActivityBase { rvAttachment = findViewById(R.id.rvAttachment); tvBody = findViewById(R.id.tvBody); tvStructure = findViewById(R.id.tvStructure); + ibEml = findViewById(R.id.ibEml); pbWait = findViewById(R.id.pbWait); grpReady = findViewById(R.id.grpReady); @@ -161,6 +164,38 @@ public class ActivityEML extends ActivityBase { } }); + ibEml.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Bundle args = new Bundle(); + args.putParcelable("uri", getIntent().getData()); + new SimpleTask() { + @Override + protected File onExecute(Context context, Bundle args) throws Throwable { + File dir = new File(getCacheDir(), "shared"); + if (!dir.exists()) + dir.mkdir(); + + File file = new File(dir, "email.eml"); + + Uri uri = args.getParcelable("uri"); + Helper.copy(context, uri, file); + return file; + } + + @Override + protected void onExecuted(Bundle args, File file) { + Helper.share(ActivityEML.this, file, "text/plain", file.getName()); + } + + @Override + protected void onException(Bundle args, Throwable ex) { + Log.unexpectedError(getSupportFragmentManager(), ex); + } + }.execute(ActivityEML.this, args, "eml:share"); + } + }); + // Initialize if (!Helper.isDarkTheme(this)) { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); diff --git a/app/src/main/res/layout/activity_eml.xml b/app/src/main/res/layout/activity_eml.xml index 89775d0868..5e6b8f255b 100644 --- a/app/src/main/res/layout/activity_eml.xml +++ b/app/src/main/res/layout/activity_eml.xml @@ -285,12 +285,24 @@ android:layout_height="wrap_content" android:layout_marginTop="3dp" android:fontFamily="monospace" + android:minHeight="30dp" android:text="Structure" android:textAppearance="@style/TextAppearance.AppCompat.Small" android:textIsSelectable="true" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> + +