diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index d26e1aba56..ebed31bd54 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -2776,7 +2776,7 @@ public class Launcher extends StatefulActivity View v = getFirstMatch(Collections.singletonList(activeRecyclerView), preferredItem, packageAndUserAndApp); - if (activeRecyclerView.getCurrentScrollY() > 0) { + if (v != null && activeRecyclerView.getCurrentScrollY() > 0) { RectF locationBounds = new RectF(); FloatingIconView.getLocationBoundsForView(this, v, false, locationBounds, new Rect()); @@ -2804,6 +2804,7 @@ public class Launcher extends StatefulActivity * @param containers List of ViewGroups to scan, in order of preference. * @param operators List of operators, in order starting from best matching operator. */ + @Nullable private static View getFirstMatch(Iterable containers, final Predicate... operators) { for (Predicate operator : operators) { @@ -2821,6 +2822,7 @@ public class Launcher extends StatefulActivity * Returns the first view matching the operator in the given ViewGroups, or null if none. * Forward iteration matters. */ + @Nullable private static View mapOverViewGroup(ViewGroup container, Predicate op) { final int itemCount = container.getChildCount(); for (int itemIdx = 0; itemIdx < itemCount; itemIdx++) {