Prevent crash

pull/170/head
M66B 6 years ago
parent 7b10f68040
commit 3343d5ab12

@ -422,53 +422,54 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
tvSubject.setEllipsize(TextUtils.TruncateAt.MIDDLE); tvSubject.setEllipsize(TextUtils.TruncateAt.MIDDLE);
} }
view.setAccessibilityDelegate(new View.AccessibilityDelegate() { if (view != null)
@Override view.setAccessibilityDelegate(new View.AccessibilityDelegate() {
public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info) { @Override
super.onInitializeAccessibilityNodeInfo(host, info); public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info) {
super.onInitializeAccessibilityNodeInfo(host, info);
TupleMessageEx message = getMessage(); TupleMessageEx message = getMessage();
if (message == null) if (message == null)
return; return;
if (ibExpander.getVisibility() == View.VISIBLE) { if (ibExpander.getVisibility() == View.VISIBLE) {
boolean expanded = properties.getValue("expanded", message.id); boolean expanded = properties.getValue("expanded", message.id);
info.addAction(new AccessibilityNodeInfo.AccessibilityAction(R.id.ibExpander, info.addAction(new AccessibilityNodeInfo.AccessibilityAction(R.id.ibExpander,
context.getString(expanded ? R.string.title_accessibility_collapse : R.string.title_accessibility_expand))); context.getString(expanded ? R.string.title_accessibility_collapse : R.string.title_accessibility_expand)));
} }
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)));
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)));
}
} }
}
@Override @Override
public boolean performAccessibilityAction(View host, int action, Bundle args) { public boolean performAccessibilityAction(View host, int action, Bundle args) {
TupleMessageEx message = getMessage(); TupleMessageEx message = getMessage();
if (message == null) if (message == null)
return false; return false;
switch (action) { switch (action) {
case R.id.ibExpander: case R.id.ibExpander:
onToggleMessage(message); onToggleMessage(message);
return true; return true;
case R.id.ibAvatar: case R.id.ibAvatar:
onViewContact(message); onViewContact(message);
return true; return true;
case R.id.ibFlagged: case R.id.ibFlagged:
onToggleFlag(message); onToggleFlag(message);
return true; return true;
default: default:
return super.performAccessibilityAction(host, action, args); return super.performAccessibilityAction(host, action, args);
}
} }
} });
});
} }
private void ensureExpanded() { private void ensureExpanded() {

Loading…
Cancel
Save