diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index b88f00b86b..f889cf3068 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -7761,7 +7761,7 @@ public class AdapterMessage extends RecyclerView.Adapter 0) - info.addAction(new AccessibilityNodeInfo.AccessibilityAction(R.id.ibDelete, - context.getString(R.string.title_trash_selection))); + if (properties.getSelectionCount() > 0) + info.addAction(new AccessibilityNodeInfo.AccessibilityAction(R.id.ibDelete, + context.getString(R.string.title_trash_selection))); - if (ibAvatar.getVisibility() == View.VISIBLE && ibAvatar.isEnabled()) - info.addAction(new AccessibilityNodeInfo.AccessibilityAction(R.id.ibAvatar, - context.getString(R.string.title_accessibility_view_contact))); - ibAvatar.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO); + if (ibAvatar != null) { + if (ibAvatar.getVisibility() == View.VISIBLE && ibAvatar.isEnabled()) + info.addAction(new AccessibilityNodeInfo.AccessibilityAction(R.id.ibAvatar, + context.getString(R.string.title_accessibility_view_contact))); + ibAvatar.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO); + } - if (ibFlagged.getVisibility() == View.VISIBLE && ibFlagged.isEnabled()) { - int flagged = (message.count - message.unflagged); - info.addAction(new AccessibilityNodeInfo.AccessibilityAction(R.id.ibFlagged, - context.getString(flagged > 0 ? R.string.title_unflag : R.string.title_flag))); + if (ibFlagged != null) { + if (ibFlagged.getVisibility() == View.VISIBLE && ibFlagged.isEnabled()) { + int flagged = (message.count - message.unflagged); + info.addAction(new AccessibilityNodeInfo.AccessibilityAction(R.id.ibFlagged, + context.getString(flagged > 0 ? R.string.title_unflag : R.string.title_flag))); + } + ibFlagged.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO); + } + + if (ibAuth != null) { + if (ibAuth.getVisibility() == View.VISIBLE) + info.addAction(new AccessibilityNodeInfo.AccessibilityAction(R.id.ibAuth, + context.getString(R.string.title_accessibility_show_authentication_result))); + ibAuth.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO); + } + + if (ibSnoozed != null) { + if (ibSnoozed.getVisibility() == View.VISIBLE) + info.addAction(new AccessibilityNodeInfo.AccessibilityAction(R.id.ibSnoozed, + context.getString(R.string.title_accessibility_show_snooze_time))); + ibSnoozed.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO); + } + + info.addAction(new AccessibilityNodeInfo.AccessibilityAction(R.id.ibMore, + context.getString(R.string.title_advanced_more))); + if (ibMore != null) + ibMore.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO); + + if (ibError != null) { + if (ibError.getVisibility() == View.VISIBLE) + info.addAction(new AccessibilityNodeInfo.AccessibilityAction(R.id.ibError, + context.getString(R.string.title_accessibility_view_help))); + ibError.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO); + } + + info.setContentDescription(populateContentDescription(message)); + } catch (Throwable ex) { + Log.e(ex); } - ibFlagged.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO); - - if (ibAuth.getVisibility() == View.VISIBLE) - info.addAction(new AccessibilityNodeInfo.AccessibilityAction(R.id.ibAuth, - context.getString(R.string.title_accessibility_show_authentication_result))); - ibAuth.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO); - - if (ibSnoozed.getVisibility() == View.VISIBLE) - info.addAction(new AccessibilityNodeInfo.AccessibilityAction(R.id.ibSnoozed, - context.getString(R.string.title_accessibility_show_snooze_time))); - ibSnoozed.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO); - - info.addAction(new AccessibilityNodeInfo.AccessibilityAction(R.id.ibMore, - context.getString(R.string.title_advanced_more))); - - if (ibError.getVisibility() == View.VISIBLE) - info.addAction(new AccessibilityNodeInfo.AccessibilityAction(R.id.ibError, - context.getString(R.string.title_accessibility_view_help))); - ibError.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO); - - info.setContentDescription(populateContentDescription(message)); } @Override