Prevent crash

This commit is contained in:
M66B 2024-04-24 18:16:36 +02:00
parent 028ffba4ab
commit 9787c379ef
1 changed files with 66 additions and 50 deletions

View File

@ -7761,7 +7761,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
return tvBody.getText().subSequence(start, end); return tvBody.getText().subSequence(start, end);
} }
private View.AccessibilityDelegate accessibilityDelegateHeader = new View.AccessibilityDelegate() { private final View.AccessibilityDelegate accessibilityDelegateHeader = new View.AccessibilityDelegate() {
@Override @Override
public void onInitializeAccessibilityEvent(View host, AccessibilityEvent event) { public void onInitializeAccessibilityEvent(View host, AccessibilityEvent event) {
super.onInitializeAccessibilityEvent(host, event); super.onInitializeAccessibilityEvent(host, event);
@ -7798,6 +7798,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
Log.e(ex); Log.e(ex);
} }
try {
TupleMessageEx message = getMessage(); TupleMessageEx message = getMessage();
if (message == null) if (message == null)
return; return;
@ -7827,37 +7828,52 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
info.addAction(new AccessibilityNodeInfo.AccessibilityAction(R.id.ibDelete, info.addAction(new AccessibilityNodeInfo.AccessibilityAction(R.id.ibDelete,
context.getString(R.string.title_trash_selection))); context.getString(R.string.title_trash_selection)));
if (ibAvatar != null) {
if (ibAvatar.getVisibility() == View.VISIBLE && ibAvatar.isEnabled()) if (ibAvatar.getVisibility() == View.VISIBLE && ibAvatar.isEnabled())
info.addAction(new AccessibilityNodeInfo.AccessibilityAction(R.id.ibAvatar, info.addAction(new AccessibilityNodeInfo.AccessibilityAction(R.id.ibAvatar,
context.getString(R.string.title_accessibility_view_contact))); context.getString(R.string.title_accessibility_view_contact)));
ibAvatar.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO); ibAvatar.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO);
}
if (ibFlagged != null) {
if (ibFlagged.getVisibility() == View.VISIBLE && ibFlagged.isEnabled()) { if (ibFlagged.getVisibility() == View.VISIBLE && ibFlagged.isEnabled()) {
int flagged = (message.count - message.unflagged); int flagged = (message.count - message.unflagged);
info.addAction(new AccessibilityNodeInfo.AccessibilityAction(R.id.ibFlagged, info.addAction(new AccessibilityNodeInfo.AccessibilityAction(R.id.ibFlagged,
context.getString(flagged > 0 ? R.string.title_unflag : R.string.title_flag))); context.getString(flagged > 0 ? R.string.title_unflag : R.string.title_flag)));
} }
ibFlagged.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO); ibFlagged.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO);
}
if (ibAuth != null) {
if (ibAuth.getVisibility() == View.VISIBLE) if (ibAuth.getVisibility() == View.VISIBLE)
info.addAction(new AccessibilityNodeInfo.AccessibilityAction(R.id.ibAuth, info.addAction(new AccessibilityNodeInfo.AccessibilityAction(R.id.ibAuth,
context.getString(R.string.title_accessibility_show_authentication_result))); context.getString(R.string.title_accessibility_show_authentication_result)));
ibAuth.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO); ibAuth.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO);
}
if (ibSnoozed != null) {
if (ibSnoozed.getVisibility() == View.VISIBLE) if (ibSnoozed.getVisibility() == View.VISIBLE)
info.addAction(new AccessibilityNodeInfo.AccessibilityAction(R.id.ibSnoozed, info.addAction(new AccessibilityNodeInfo.AccessibilityAction(R.id.ibSnoozed,
context.getString(R.string.title_accessibility_show_snooze_time))); context.getString(R.string.title_accessibility_show_snooze_time)));
ibSnoozed.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO); ibSnoozed.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO);
}
info.addAction(new AccessibilityNodeInfo.AccessibilityAction(R.id.ibMore, info.addAction(new AccessibilityNodeInfo.AccessibilityAction(R.id.ibMore,
context.getString(R.string.title_advanced_more))); 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) if (ibError.getVisibility() == View.VISIBLE)
info.addAction(new AccessibilityNodeInfo.AccessibilityAction(R.id.ibError, info.addAction(new AccessibilityNodeInfo.AccessibilityAction(R.id.ibError,
context.getString(R.string.title_accessibility_view_help))); context.getString(R.string.title_accessibility_view_help)));
ibError.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO); ibError.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO);
}
info.setContentDescription(populateContentDescription(message)); info.setContentDescription(populateContentDescription(message));
} catch (Throwable ex) {
Log.e(ex);
}
} }
@Override @Override