From f2390512c166866f694066a8274b8ea0d686fd06 Mon Sep 17 00:00:00 2001 From: Fan Zhang Date: Mon, 8 Apr 2019 13:55:58 -0700 Subject: [PATCH] Add null check in UserPreference The comparator can get null objects according to bug report. Fixes: 130144755 Test: manual Change-Id: Ic8a332d390f411d2eb69c944fb7fd166d9961535 --- .../settings/users/UserPreference.java | 26 +++++++++++-------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/src/com/android/settings/users/UserPreference.java b/src/com/android/settings/users/UserPreference.java index d87d78ecbaf..3603d44ea09 100644 --- a/src/com/android/settings/users/UserPreference.java +++ b/src/com/android/settings/users/UserPreference.java @@ -40,18 +40,22 @@ public class UserPreference extends RestrictedPreference { public static final int USERID_UNKNOWN = -10; public static final int USERID_GUEST_DEFAULTS = -11; public static final Comparator SERIAL_NUMBER_COMPARATOR = - new Comparator() { - @Override - public int compare(UserPreference p1, UserPreference p2) { - int sn1 = p1.getSerialNumber(); - int sn2 = p2.getSerialNumber(); - if (sn1 < sn2) { - return -1; - } else if (sn1 > sn2) { - return 1; - } - return 0; + (p1, p2) -> { + + if (p1 == null) { + return -1; } + else if (p2 == null) { + return 1; + } + int sn1 = p1.getSerialNumber(); + int sn2 = p2.getSerialNumber(); + if (sn1 < sn2) { + return -1; + } else if (sn1 > sn2) { + return 1; + } + return 0; }; private OnClickListener mDeleteClickListener;