From 34af1b4e729447703ca4b3d87217614f02ceb70f Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 13 Feb 2022 16:04:11 +0100 Subject: [PATCH] Added show AMP button --- .../java/eu/faircode/email/ActivityAMP.java | 1 - .../eu/faircode/email/AdapterMessage.java | 57 +++++++++++++++++++ .../res/layout/fragment_legend_messages.xml | 32 ++++++++++- .../res/layout/include_message_navigation.xml | 18 +++++- app/src/main/res/values/strings.xml | 1 + 5 files changed, 103 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/ActivityAMP.java b/app/src/main/java/eu/faircode/email/ActivityAMP.java index a87391b70e..83b93ef0ac 100644 --- a/app/src/main/java/eu/faircode/email/ActivityAMP.java +++ b/app/src/main/java/eu/faircode/email/ActivityAMP.java @@ -63,7 +63,6 @@ public class ActivityAMP extends ActivityBase { super.onCreate(savedInstanceState); getSupportActionBar().setDisplayHomeAsUpEnabled(true); - getSupportActionBar().setHomeAsUpIndicator(R.drawable.twotone_bolt_24); getSupportActionBar().setSubtitle("AMP"); View view = LayoutInflater.from(this).inflate(R.layout.activity_amp, null); diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index ac87ebe7ca..efe08abfad 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -421,6 +421,7 @@ public class AdapterMessage extends RecyclerView.Adapter a = new ArrayList<>(); for (EntityAttachment attachment : attachments) { boolean inline = (attachment.isEncryption() || + "text/x-amp-html".equals(attachment.type) || (attachment.isInline() && attachment.isImage())); if (inline && attachment.available) has_inline = true; @@ -3570,6 +3589,8 @@ public class AdapterMessage extends RecyclerView.Adapter() { + @Override + protected EntityAttachment onExecute(Context context, Bundle args) throws Throwable { + long id = args.getLong("id"); + + DB db = DB.getInstance(context); + List attachments = db.attachment().getAttachments(id); + if (attachments == null) + return null; + + for (EntityAttachment attachment : attachments) + if ("text/x-amp-html".equals(attachment.type)) + return attachment; + + return null; + } + + @Override + protected void onExecuted(Bundle args, EntityAttachment attachment) { + File file = attachment.getFile(context); + Uri uri = FileProvider.getUriForFile(context, BuildConfig.APPLICATION_ID, file); + context.startActivity(new Intent(context, ActivityAMP.class) + .setData(uri)); + } + + @Override + protected void onException(Bundle args, Throwable ex) { + Log.unexpectedError(parentFragment.getParentFragmentManager(), ex); + } + }.execute(context, owner, args, "message:amp"); + } + private void onActionOpenFull(final TupleMessageEx message) { boolean open_full_confirmed = prefs.getBoolean("open_full_confirmed", false); if (open_full_confirmed) diff --git a/app/src/main/res/layout/fragment_legend_messages.xml b/app/src/main/res/layout/fragment_legend_messages.xml index 82576f3ab3..b089519042 100644 --- a/app/src/main/res/layout/fragment_legend_messages.xml +++ b/app/src/main/res/layout/fragment_legend_messages.xml @@ -765,7 +765,8 @@ app:layout_constraintBottom_toBottomOf="@+id/tvOriginal" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="@id/tvOriginal" - app:srcCompat="@drawable/twotone_fullscreen_24" /> + app:srcCompat="@drawable/twotone_fullscreen_24" + app:tint="?attr/colorAccent" /> + app:srcCompat="@drawable/twotone_fullscreen_exit_24" + app:tint="?attr/colorAccent" /> + + + + + app:layout_constraintTop_toBottomOf="@id/ivAmp" /> + + Unsubscribe from list Show images Hide images + Show AMP variant Show original message Show reformatted message Edit