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