From 0935f152c7feb205d10856170824b6f67eadd463 Mon Sep 17 00:00:00 2001 From: Kang Li Date: Wed, 30 Aug 2017 14:18:11 -0700 Subject: Fixes NPE thrown in sort if new targets are added. Test: manually tested it to verify that it works as expected. Bug: 65035399 Change-Id: Ie99b05c5324f47cbac66687d7301ef62a7c83e55 --- core/java/com/android/internal/app/ResolverComparator.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/core/java/com/android/internal/app/ResolverComparator.java b/core/java/com/android/internal/app/ResolverComparator.java index 378826dc1deb..77cfc2fc5bd4 100644 --- a/core/java/com/android/internal/app/ResolverComparator.java +++ b/core/java/com/android/internal/app/ResolverComparator.java @@ -337,11 +337,13 @@ class ResolverComparator implements Comparator { final ResolverTarget rhsTarget = mTargetsDict.get(new ComponentName( rhs.activityInfo.packageName, rhs.activityInfo.name)); - final int selectProbabilityDiff = Float.compare( + if (lhsTarget != null && rhsTarget != null) { + final int selectProbabilityDiff = Float.compare( rhsTarget.getSelectProbability(), lhsTarget.getSelectProbability()); - if (selectProbabilityDiff != 0) { - return selectProbabilityDiff > 0 ? 1 : -1; + if (selectProbabilityDiff != 0) { + return selectProbabilityDiff > 0 ? 1 : -1; + } } } } -- cgit v1.2.3-59-g8ed1b