Merge "Fix wallpaper NPE caused by user switching before IWallpaperService connection"
diff --git a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
index c2a4339..d52ba16 100644
--- a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
+++ b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
@@ -2671,7 +2671,10 @@
                 wallpaper.connection.mReply = null;
             }
             try {
-                wallpaper.connection.mService.detach();
+                // It can be null if user switching happens before service connection.
+                if (wallpaper.connection.mService != null) {
+                    wallpaper.connection.mService.detach();
+                }
             } catch (RemoteException e) {
                 Slog.w(TAG, "Failed detaching wallpaper service ", e);
             }