diff --git a/core/java/android/widget/SelectionActionModeHelper.java b/core/java/android/widget/SelectionActionModeHelper.java index d22b1e66b5966..6cb0eaa7f47d7 100644 --- a/core/java/android/widget/SelectionActionModeHelper.java +++ b/core/java/android/widget/SelectionActionModeHelper.java @@ -285,10 +285,14 @@ public final class SelectionActionModeHelper { final Layout layout = mTextView.getLayout(); final Runnable onAnimationEndCallback = () -> { - if (result.mStart >= 0 && result.mEnd <= getText(mTextView).length() + final SelectionResult startSelectionResult; + if (result != null && result.mStart >= 0 && result.mEnd <= getText(mTextView).length() && result.mStart <= result.mEnd) { - startSelectionActionMode(result); + startSelectionResult = result; + } else { + startSelectionResult = null; } + startSelectionActionMode(startSelectionResult); }; // TODO do not trigger the animation if the change included only non-printable characters final boolean didSelectionChange =