summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/wallpaper/WallpaperManagerService.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
index 2157c9950457..7c61e373c53b 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 @@ public class WallpaperManagerService extends IWallpaperManager.Stub
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