From d9dcfb12b91868fd36d61a6d6299c7d78f6272bf Mon Sep 17 00:00:00 2001 From: Will Harmon Date: Thu, 18 May 2017 15:41:15 -0700 Subject: [PATCH] Fix NPE in UserManager.getUserName(). Unlike all other calls to getUserInfo(), getUserName() was the only one that did not check for null. This has led to NPEs like in b/37589362. Test: none. :( Not sure how to force the race where getUserInfo() returns null. Verified manually that getUserName() still works. Change-Id: I98ef06fe99ba760ae0194ec256fc9d1f39d3b7e5 --- core/java/android/os/UserManager.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/core/java/android/os/UserManager.java b/core/java/android/os/UserManager.java index 7bd3bf693442f..7e03e425a3dbc 100644 --- a/core/java/android/os/UserManager.java +++ b/core/java/android/os/UserManager.java @@ -899,11 +899,8 @@ public class UserManager { * @return the user name */ public String getUserName() { - try { - return mService.getUserInfo(getUserHandle()).name; - } catch (RemoteException re) { - throw re.rethrowFromSystemServer(); - } + UserInfo user = getUserInfo(getUserHandle()); + return user == null ? "" : user.name; } /**