diff options
Diffstat (limited to 'core/java/android/widget/SmartSelectSprite.java')
| -rw-r--r-- | core/java/android/widget/SmartSelectSprite.java | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/core/java/android/widget/SmartSelectSprite.java b/core/java/android/widget/SmartSelectSprite.java index 93177cf7c8a9..37ede60f243e 100644 --- a/core/java/android/widget/SmartSelectSprite.java +++ b/core/java/android/widget/SmartSelectSprite.java @@ -374,21 +374,21 @@ final class SmartSelectSprite { final List<RoundedRectangleShape> shapes = new LinkedList<>(); final List<Animator> cornerAnimators = new LinkedList<>(); - final RectF centerRectangle = destinationRectangles - .stream() - .filter((r) -> contains(r, start)) - .findFirst() - .orElseThrow(() -> new IllegalArgumentException( - "Center point is not inside any of the rectangles!")); + RectF centerRectangle = null; int startingOffset = 0; for (RectF rectangle : destinationRectangles) { - if (rectangle.equals(centerRectangle)) { + if (contains(rectangle, start)) { + centerRectangle = rectangle; break; } startingOffset += rectangle.width(); } + if (centerRectangle == null) { + throw new IllegalArgumentException("Center point is not inside any of the rectangles!"); + } + startingOffset += start.x - centerRectangle.left; final float centerRectangleHalfHeight = centerRectangle.height() / 2; |
