OSDN Git Service

Fixes NPE thrown in sort if new targets are added.
authorKang Li <kanlig@google.com>
Wed, 30 Aug 2017 21:18:11 +0000 (14:18 -0700)
committerKang Li <kanlig@google.com>
Wed, 30 Aug 2017 21:32:08 +0000 (21:32 +0000)
Test: manually tested it to verify that it works as expected.

Bug: 65035399
Change-Id: Ie99b05c5324f47cbac66687d7301ef62a7c83e55

core/java/com/android/internal/app/ResolverComparator.java

index 378826d..77cfc2f 100644 (file)
@@ -337,11 +337,13 @@ class ResolverComparator implements Comparator<ResolvedComponentInfo> {
                 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;
+                    }
                 }
             }
         }