From 2dcd57a0a21da100fcc01342ae2c6116b34d69d4 Mon Sep 17 00:00:00 2001 From: M66B Date: Sat, 7 Aug 2021 09:17:09 +0200 Subject: [PATCH] Disable hiding reply/compose FAB if accessibility is enabled --- .../java/eu/faircode/email/AdapterMessage.java | 4 +--- .../eu/faircode/email/FragmentMessages.java | 10 ++++++++-- .../main/java/eu/faircode/email/Helper.java | 18 +++++++++++++++--- 3 files changed, 24 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index f3b12f5922..83a7deef9e 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -90,7 +90,6 @@ import android.view.ViewGroup; import android.view.ViewStub; import android.view.WindowManager; import android.view.accessibility.AccessibilityEvent; -import android.view.accessibility.AccessibilityManager; import android.view.accessibility.AccessibilityNodeInfo; import android.view.animation.AccelerateDecelerateInterpolator; import android.view.textclassifier.ConversationAction; @@ -5664,8 +5663,7 @@ public class AdapterMessage extends RecyclerView.Adapter 0); if (scrolling != down) { scrolling = down; - if (viewType == AdapterMessage.ViewType.UNIFIED || viewType == AdapterMessage.ViewType.FOLDER) + if (!accessibility && + (viewType == AdapterMessage.ViewType.UNIFIED || + viewType == AdapterMessage.ViewType.FOLDER)) if (dy > 0) fabCompose.hide(); else @@ -5425,7 +5431,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. private void updateExpanded() { int expanded = (values.containsKey("expanded") ? values.get("expanded").size() : 0); - if (scrolling) + if (scrolling && !accessibility) fabReply.hide(); else { if (expanded == 1) { diff --git a/app/src/main/java/eu/faircode/email/Helper.java b/app/src/main/java/eu/faircode/email/Helper.java index 126c9aa9aa..24442f8347 100644 --- a/app/src/main/java/eu/faircode/email/Helper.java +++ b/app/src/main/java/eu/faircode/email/Helper.java @@ -19,6 +19,9 @@ package eu.faircode.email; Copyright 2018-2021 by Marcel Bokhorst (M66B) */ +import static android.os.Process.THREAD_PRIORITY_BACKGROUND; +import static androidx.browser.customtabs.CustomTabsService.ACTION_CUSTOM_TABS_CONNECTION; + import android.Manifest; import android.app.Activity; import android.app.ActivityManager; @@ -62,6 +65,7 @@ import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; import android.view.WindowManager; +import android.view.accessibility.AccessibilityManager; import android.view.inputmethod.EditorInfo; import android.view.inputmethod.InputMethodManager; import android.webkit.MimeTypeMap; @@ -137,9 +141,6 @@ import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicLong; import java.util.regex.Pattern; -import static android.os.Process.THREAD_PRIORITY_BACKGROUND; -import static androidx.browser.customtabs.CustomTabsService.ACTION_CUSTOM_TABS_CONNECTION; - public class Helper { private static Boolean hasPlayStore = null; private static Boolean hasValidFingerprint = null; @@ -549,6 +550,17 @@ public class Helper { } } + static boolean isAccessibilityEnabled(Context context) { + try { + AccessibilityManager am = + (AccessibilityManager) context.getSystemService(Context.ACCESSIBILITY_SERVICE); + return (am != null && am.isEnabled()); + } catch (Throwable ex) { + Log.e(ex); + return false; + } + } + // View static Intent getChooser(Context context, Intent intent) {