From 3a8a0b817ba45d7c55bbd588a22c18392faebb9c Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 9 Jul 2023 18:05:54 +0200 Subject: [PATCH] Experiment --- .../eu/faircode/email/FragmentAccounts.java | 2 +- .../email/FragmentDialogIdentity.java | 23 ++++++++++++++++--- .../eu/faircode/email/FragmentFolders.java | 2 +- .../eu/faircode/email/FragmentMessages.java | 2 +- 4 files changed, 23 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/FragmentAccounts.java b/app/src/main/java/eu/faircode/email/FragmentAccounts.java index 80832a628a..04d0f44f2d 100644 --- a/app/src/main/java/eu/faircode/email/FragmentAccounts.java +++ b/app/src/main/java/eu/faircode/email/FragmentAccounts.java @@ -272,7 +272,7 @@ public class FragmentAccounts extends FragmentBase { @Override public boolean onLongClick(View v) { FragmentDialogIdentity.onDrafts( - getContext(), + getActivity(), getViewLifecycleOwner(), getParentFragmentManager(), fabCompose, -1L); diff --git a/app/src/main/java/eu/faircode/email/FragmentDialogIdentity.java b/app/src/main/java/eu/faircode/email/FragmentDialogIdentity.java index 441d3e1b29..c6a8259a14 100644 --- a/app/src/main/java/eu/faircode/email/FragmentDialogIdentity.java +++ b/app/src/main/java/eu/faircode/email/FragmentDialogIdentity.java @@ -38,6 +38,9 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AlertDialog; import androidx.constraintlayout.widget.Group; +import androidx.core.view.GravityCompat; +import androidx.core.widget.NestedScrollView; +import androidx.fragment.app.FragmentActivity; import androidx.fragment.app.FragmentManager; import androidx.lifecycle.LifecycleOwner; import androidx.localbroadcastmanager.content.LocalBroadcastManager; @@ -246,7 +249,21 @@ public class FragmentDialogIdentity extends FragmentDialogBase { }.execute(context, owner, args, "identity:compose"); } - static void onDrafts(Context context, LifecycleOwner owner, FragmentManager manager, FloatingActionButton fabCompose, long account) { + static void onDrafts(FragmentActivity activity, LifecycleOwner owner, FragmentManager manager, FloatingActionButton fabCompose, long account) { + if (activity == null) + return; + + if (BuildConfig.DEBUG) { + DrawerLayoutEx drawerLayout = activity.findViewById(R.id.drawer_layout); + NestedScrollView drawerContainer = activity.findViewById(R.id.drawer_container); + if (drawerLayout != null && + drawerContainer != null && + !drawerLayout.isLocked(drawerContainer)) { + drawerLayout.openDrawer(GravityCompat.START); + return; + } + } + Bundle args = new Bundle(); args.putLong("account", account); @@ -277,7 +294,7 @@ public class FragmentDialogIdentity extends FragmentDialogBase { if (drafts == null) return; - LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(context); + LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(activity); lbm.sendBroadcast( new Intent(ActivityView.ACTION_VIEW_MESSAGES) .putExtra("account", drafts.account) @@ -289,6 +306,6 @@ public class FragmentDialogIdentity extends FragmentDialogBase { protected void onException(Bundle args, Throwable ex) { Log.unexpectedError(manager, ex); } - }.execute(context, owner, args, "view:drafts"); + }.execute(activity, owner, args, "view:drafts"); } } diff --git a/app/src/main/java/eu/faircode/email/FragmentFolders.java b/app/src/main/java/eu/faircode/email/FragmentFolders.java index 6492cd8678..ad3645cbbc 100644 --- a/app/src/main/java/eu/faircode/email/FragmentFolders.java +++ b/app/src/main/java/eu/faircode/email/FragmentFolders.java @@ -376,7 +376,7 @@ public class FragmentFolders extends FragmentBase { @Override public boolean onLongClick(View v) { FragmentDialogIdentity.onDrafts( - getContext(), + getActivity(), getViewLifecycleOwner(), getParentFragmentManager(), fabCompose, account); diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java index d638cbf290..1a5c88e235 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessages.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java @@ -1498,7 +1498,7 @@ public class FragmentMessages extends FragmentBase @Override public boolean onLongClick(View v) { FragmentDialogIdentity.onDrafts( - getContext(), + getActivity(), getViewLifecycleOwner(), getParentFragmentManager(), fabCompose, account);