From 29444ae336bc74d06d5be08e0c206fdd511ddb88 Mon Sep 17 00:00:00 2001 From: "soma, kawata" Date: Thu, 23 May 2019 09:30:40 +0900 Subject: [PATCH] Fix NullPointerException in ConnectivityService [Problem] NullPointerException occurs in ConnectivityService when boot up. [Root Cause] When ConnectivityService starts up, isTetheringSupported may access UserManager that has not been created yet. Therefore, NullPointerException occurs. [Solution] Changed to create UserManager before makeTethering(). Bug: 134351774 Test: ConnectivityServiceTest Change-Id: I299ecfa6af7295c1f3922f37d90eb5d3ab0d0286 --- .../core/java/com/android/server/ConnectivityService.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index dbee09450f..75b207e05b 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -966,6 +966,8 @@ public class ConnectivityService extends IConnectivityManager.Stub } } + mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE); + mTethering = makeTethering(); mPermissionMonitor = new PermissionMonitor(mContext, mNetd); @@ -1013,8 +1015,6 @@ public class ConnectivityService extends IConnectivityManager.Stub final DataConnectionStats dataConnectionStats = new DataConnectionStats(mContext); dataConnectionStats.startMonitoring(); - mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE); - mKeepaliveTracker = new KeepaliveTracker(mContext, mHandler); mNotifier = new NetworkNotificationManager(mContext, mTelephonyManager, mContext.getSystemService(NotificationManager.class));