From 719b573173db67ae3ce659e3a8090e6da820d7ca Mon Sep 17 00:00:00 2001 From: Wang Han Date: Fri, 15 May 2020 09:20:39 +0000 Subject: [PATCH] Fix NPE if default supervisor is not defined * Checking for null does not work sadly. This fixes NPE at calling who.compareTo(supervisorComponent). Change-Id: Ie49df625b1514b1d1e5f8063db66dce4a5050039 --- .../specialaccess/deviceadmin/DeviceAdminAdd.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminAdd.java b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminAdd.java index 8b06975bc06..f3c029f8313 100644 --- a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminAdd.java +++ b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminAdd.java @@ -288,7 +288,7 @@ public class DeviceAdminAdd extends Activity { // setup. final String supervisor = getString( com.android.internal.R.string.config_defaultSupervisionProfileOwnerComponent); - if (supervisor == null) { + if (TextUtils.isEmpty(supervisor)) { Log.w(TAG, "Unable to set profile owner post-setup, no default supervisor" + "profile owner defined"); finish(); @@ -297,7 +297,7 @@ public class DeviceAdminAdd extends Activity { final ComponentName supervisorComponent = ComponentName.unflattenFromString( supervisor); - if (who.compareTo(supervisorComponent) != 0) { + if (supervisorComponent == null || who.compareTo(supervisorComponent) != 0) { Log.w(TAG, "Unable to set non-default profile owner post-setup " + who); finish(); return;