Merge "A quick fix for fallback wallpaper connection NPE."
diff --git a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
index 2157c99..7c61e37 100644
--- a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
+++ b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
@@ -900,12 +900,21 @@
         if (mLastWallpaper == null || mFallbackWallpaper == null) return;
         final WallpaperConnection systemConnection = mLastWallpaper.connection;
         final WallpaperConnection fallbackConnection = mFallbackWallpaper.connection;
+        if (fallbackConnection == null) {
+            Slog.w(TAG, "Fallback wallpaper connection has not been created yet!!");
+            return;
+        }
         if (supportsMultiDisplay(systemConnection)
                 && fallbackConnection.getConnectedEngineSize() != 0) {
             fallbackConnection.forEachDisplayConnector(
                     WallpaperConnection.DisplayConnector::disconnectLocked);
             fallbackConnection.mDisplayConnector.clear();
         } else {
+            // TODO(b/121181553) Handle wallpaper service disconnect case.
+            if (fallbackConnection.mService == null) {
+                Slog.w(TAG, "There is no fallback wallpaper service");
+                return;
+            }
             fallbackConnection.appendConnectorWithCondition(display ->
                     fallbackConnection.isUsableDisplay(display)
                             && display.getDisplayId() != DEFAULT_DISPLAY